Tips: Provide a summary of the role, what success in the position looks like, and how this role fits into the organization overall.
Responsibilities
[Be specific when describing each of the responsibilities. Use gender-neutral, inclusive language.]
Example: Determine and develop user requirements for systems in production, to ensure maximum usability
Qualifications
[Some qualifications you may want to include are Skills, Education, Experience, or Certifications.]
Example: Excellent verbal and written communication skills
We’re Looking For a Lead Software Engineer!Our Team is looking for a highly skilled and experienced Lead Software Engineer to lead the development and enhancement of a key management system. This system is built using Java 21, employs a hexagonal architecture, and integrates multiple microservices. The role demands technical expertise in modern programming languages, frameworks, and best practices to ensure secure, efficient, and scalable software delivery.As a senior contributor and mentor, the Lead Software Engineer will oversee code quality, enforce development standards, and guide a team of engineers in applying cutting-edge solutions. The candidate must be well-versed in REST interfaces, Kafka messaging. Knowledge of cryptographic operations and previous experience with Hardware Security Modules. The system uses Postgres as its primary database, requiring a good expertise in database management and optimization. At InRhythm, you will…Lead, design, develop and test Web and Cloud-native applications and work with fellow Software Engineers and Product Managers to navigate the discussion and strategy in architecting web and cloud platformsOwn end-to-end architectural assessments and delivery of our client platformsDefine, architect and break out epics/features for others, while maintaining a sense of the whole pictureWork in a cross-functional agile team to deliver working software incrementallyHelp with the growth of the Cloud Practice by collaborating on the interviewing pipeline, hosting tech talks and workshops, identifying industry trends to discuss, and participating in practice activitiesMentor the less-experienced members of the team, interview potential engineers for your own and other teams, have an opportunity to help influence the direction of the project, and showcase your technical skills and knowledge in company tech talksResearch and adopt new programming languages, frameworks, and libraries to enhance development speed and securityMaintain a deep understanding of language-specific coding bugs, smells, and vulnerabilitiesContinuously update code scanning profiles to minimize technical debt and ensure high-quality code.Development PracticesDefine, document, and coach the team on best practices for development, including branching strategies, peer reviews, library usage, logging, and error handlingChampion test-driven development (TDD) to maintain robust and reliable software.Enforce coding guidelines and scanning rules across the project to ensure consistency and maintainability.Patterns and FrameworksConduct technical reviews of application code and dependencies to identify anti-patterns and drive continuous refactoringPromote the use of design patterns and architectural best practices in a microservices environment.Technical LeadershipDesign and develop microservices using hexagonal architecture principlesBuild and maintain RESTful APIs, ensuring secure and efficient communicationImplement and manage asynchronous messaging systems using Kafka for inter-service communication.Database ManagementEnsure secure, reliable, and efficient database interactionsOversee schema design, query optimization, and data migration strategiesWhat You Bring To The Table7+ years of professional experience in microservices-based cloud-native development within an enterprise-level domain3+ years of experience leading teamsStrong hands-on experience architecting and implementing Java-based applications. Java (21 preferred) features like lambda expressions, Stream API, CompletableFuture, etc.Expertise in Spring Boot, Hibernate, and related technologies.In-depth knowledge of hexagonal architecture and Experienced with implementing Microservices using Spring Boot, Kafka, RedisExperience with Restful APIsStrong expertise in Postgres, including schema design, and optimizationExperience with large scale batch processingExperience using container & serverless architectures (Docker, Kubernetes, AWS Lambda, AWS ECS)Proficient with Test Driven and Domain Driven Development (TDD / DDD), including using automated test frameworks (e.g., JUnit, Cypress, WireMock)You are an experienced user of one or more Application Lifecycle Management tools (e.g., Jira, Confluence).Experienced with DevOps – creating CI/CD tools and pipelines. (Jenkins)Strong knowledge of GIT as a source control management (SCM) tool.Solid verbal and written communication and consultant/client-facing skills are a must. As a true consultant, you are a self-starter who takes initiative.Proven leadership and mentoring experience.Strong problem-solving and analytical skills. What Makes You Stand OutHands-on experience with cryptographic operations and hardware security modules.Previous experience with key management systems or similar secure systems.Familiarity using Scrum/Agile development methodologySelf-starter mindset, taking initiative and ownership of a challenge while providing practical and innovative solutionsExperience speaking to technical and business audiences while working globallyInspiring others to follow your leadAn eagerness to share your knowledge with othersA desire to continuously learn as you strive to develop and improve as a teamStrong desire to grow the business of software development by helping to grow the team and be involved in practice leadership
Must-Haves :
undefined
No Poach Clients (Plus other Strict No-Nos) :
undefined
Nice to Haves :
undefined
Target Companies :
undefined
Additional Guidelines :
undefined