About the Product
Welkin is a care management platform, which guides your team to better care. You configure your patient program into workflows that tell healthcare workers when to do what, ensuring patients get care exactly when they need it. Designed specifically for relationships between healthcare professionals and patients, our software makes engagement seamless and patient-centered, enabling health workers to build strong relationships for long-term health outcomes.
Mission: our mission is to empower health organizations to deliver patient-centered care.
We’re looking for a Back-End Tech Lead to join our product team. You will interact and collaborate closely with our Customer Success, Product, and Engineering teams. You will report to the VP of Engineering.
Here’s what you will do:
- Moving from an individual contributor role into the people and project side of the business.
- Leading the back-end team in designing and implementing technical solutions.
- Leading the evaluation of tools and technologies most appropriate for back-end development on one or multiple projects.
- Creating an approach and methodology to integrate best coding practices and automate them.
- Overseeing the technical path of delivering the back-end to production.
- Troubleshooting development complexity issues and modifying development procedures or technology as needed.
- Identifying critical KPIs for back-end monitoring and metrics tools.
- Ensuring the successful deployment of the back-end as part of the whole product into the market.
- Mentoring and supporting back-end engineers in engineering-related tasks, evaluating their progress regarding back-end development, and providing support to the back-end team with engineering know-how.
Here’s what you need to be successful:
- Overall experience as a Back-end Engineer of at least 10 years.
- Experience in a tech lead role of at least 4 years.
- Excellent mentorship, facilitation, and leadership skills.
- The ability to independently perform complex technical tasks, such as resolving data consistency issues and implementing distributed locking.
- Excellent understanding of OOP, SOLID, GRASP, KISS, and DRY principles.
- Understanding and experience in transformation architecture to DDD, CQRS, EDA, and SOA architectural approaches.
- Deep understanding of parallel, asynchronous, and multithreading models and their limits.
- Practical understanding of distributed architecture, including its benefits, limitations, and basic principles.
- Experience in estimating resource usage for projects.
- At least 8 years of commercial experience with Java.
- Experience with frameworks such as Spring, Spring Boot, and Hibernate.
- Practical experience in using different DBMSs, such as key-value and relational databases, especially PostgreSQL and Redis, to store and fetch a large amount of data at scale.
- Experience in writing UnitTest and Integration tests, covering based on coverage reports and business cases.
- Practical knowledge of working with Docker (composing, swarm, services) and Helm in a K8s environment, with mastery of kubectl.
- Excellent knowledge of GIT (rebasing/cherry-picking/fast-forward).
- Solid practical opinion of best practices, design patterns, and architectural approaches.
- Experience with AWS or GCP.
- Excellent troubleshooting skills.