What You Will Do
Software Development:
- Design, develop, test, deploy, and maintain scalable, high-performance backend services using Java and Spring Boot.
- Build clean, reusable, production-quality code and contribute to technical design and architecture decisions.
Microservices & APIs:
- Design and develop RESTful APIs and microservices with a focus on high availability, scalability, resilience, and fault tolerance.
- Implement secure service-to-service integrations, authentication, authorization, and API security best practices.
Database & Data Access:
- Work extensively with PostgreSQL and other relational databases; design efficient schemas and data-access solutions.
- Write and optimize complex SQL, including joins, subqueries, set operations, and aggregate functions, and work with JPA/Hibernate.
Cloud & Infrastructure:
- Deploy, manage, and scale cloud-native applications in Azure environments using modern CI/CD practices.
- Work with Docker and Kubernetes for containerized application deployment, orchestration, and operational readiness.
Distributed Systems & Engineering Quality:
- Apply distributed-systems concepts, multithreading, concurrency, caching, resilience, retry, and fault-tolerance patterns where appropriate.
- Develop unit and integration tests using JUnit, Mockito, Testcontainers, or similar tools; participate actively in code reviews.
Collaboration & Leadership:
- Partner with product managers, architects, QA, DevOps, and other engineers to plan and deliver high-quality features and services.
- Mentor junior and mid-level engineers, provide constructive technical guidance, and help raise engineering standards across the team.
Troubleshooting & Performance:
- Diagnose complex production issues, perform root-cause analysis, and implement durable fixes.
Continuous Improvement:
- Proactively improve application performance, scalability, observability, security, development processes, and code quality.
- Stay current with relevant technologies and evaluate practical improvements to the engineering ecosystem.
What You Will Bring
- Bachelor’s or master’s degree in Computer Science, Engineering, or a related field, or equivalent practical experience.
- 5-8+ years of professional software development experience, with strong hands-on expertise in Java, Spring Boot, and backend engineering.
- Strong experience designing REST APIs, microservices, and distributed applications using object-oriented design, SOLID principles, and common design patterns.
- Strong RDBMS and PostgreSQL experience, including 3+ years of hands-on work with complex SQL queries, subqueries, joins, set operations, aggregate functions, schema design, and query optimization.
- Hands-on experience with JPA/Hibernate, Git, Maven or Gradle, and automated testing frameworks such as JUnit and Mockito.
- Experience with Azure, Docker, Kubernetes, and CI/CD pipelines; familiarity with messaging or event-streaming platforms such as Kafka is desirable.
- Strong debugging, analytical, problem-solving, and performance-tuning skills, with a solid understanding of secure backend development.
- Excellent communication and collaboration skills, with experience working in Agile/Scrum teams.
- Ability to take ownership, manage changing priorities, and thrive in a fast-paced product engineering environment.
What Will Make You Stand Out
- Experience building high-volume, highly available SaaS or enterprise platforms.
- Experience with Apache Kafka, Redis, PostgreSQL
- Experience with Spark will be valuable
- Knowledge of OAuth 2.0, JWT, observability tools, and DevOps practices.
- Familiarity with performance testing, infrastructure as code, Domain-Driven Design, or front-end technologies such as Angular or React.