Core Responsibilities
- Your primary function in this role is to develop, and maintain backend systems using Java, Kafka, REST APIs, and Spring Boot framework.
- Working in a collaborative environment with a Lead/Senior Developer, Product Manager, Engineering Manager or Solutions Architect.
- Design, develop, and maintain backend services and microservices using Python for data processing, automation, and AI/ML model integration.
- Build and maintain AI-enabled APIs that expose machine learning and generative AI capabilities to internal and external applications.
- Integrate LLM and AI services (e.g., model inference endpoints, vector databases, embedding pipelines) into existing backend architectures.
- Implement prompt orchestration, caching, and monitoring mechanisms to optimize performance and cost of AI services.
- Mentor and provide guidance to junior engineers, assisting them in their technical growth.
- Containerize applications using Docker and deploy them on Kubernetes clusters.
- Collaborate with frontend developers to design and develop RESTful APIs that provide seamless integration between frontend and backend components.
- Write efficient and optimized SQL queries to interact with PostgreSQL databases.
- Ensure the quality of code through thorough unit testing and performing code reviews.
- Collaborate with other engineers on this project.
- Troubleshoot and resolve issues related to backend services in a timely manner, including performance bottlenecks, scalability, and reliability.
- Optimize and fine-tune backend systems for performance and scalability.
- Monitor and maintain production environments, ensuring high availability and performance.
- Work closely with DevOps engineers to automate deployment processes and improve system scalability and resilience.
- Stay up to date with emerging technologies and industry best practices, and share knowledge with the team.
About You
- Proven experience as a software engineer with expertise in Java, Spring Boot, JavaScript, Kafka, Docker, NodeJS (Javascript), Python, Keycloak and PostgreSQL.
- Proficiency in developing/building scalable, fault-tolerant systems using Java Microservices, Kafka and RESTful APIs.
- Good knowledge of SQL and hands-on experience with PostgreSQL or similar databases.
- Understanding with containerization technologies like Docker and container orchestration platforms like Kubernetes.
- Experience working in UNIX/Linux environments, including shell scripting
- Good understanding of unit testing principles and experience with testing frameworks like JUnit, and code quality tools like Sonarqube.
- Good communication skills and the ability to clearly articulate technical concepts to both technical and non-technical stakeholders.
- An understanding of software development best practices, design patterns, and coding standards
- Familiarity with version control systems, such as Git.
- A high level of attention to detail and the ability to produce accurate and consistent engineering documentation
- Ability to work independently and effectively in a fast-paced and dynamic environment.
- Strong communication skills both written and verbal
- A desire to contribute to and maintain the company values and culture
Nice to have
Experience in data ingestion systems, other message brokers, and data streaming
Knowledge of Python, NodeJS and GraphQL
Experience with Agile development methodologies is a plus.
Experience with HL7 Integration between external systems is a plus
Familiarity with software project tracking tools (e.g., Jira, Confluence)