Senior Java Developer
Astra Tech Tbilisi, Georgia
Public Relations and Communications Services · 11-50 employees
About the role
Design, develop, and maintain scalable backend applications and microservices using Java and Spring Boot. Collaborate with cross-functional teams to ensure high performance, security, and reliability of distributed systems.
What they look for
Requirements
Requires a bachelor's degree in Computer Science or related field and at least 5 years of professional Java backend development experience. Candidates must possess strong knowledge of the Spring ecosystem, distributed systems, and database management.
Full description
About the Role
We are looking for an experienced Senior Java Developer to join our engineering team and help design, build, and maintain scalable, reliable, and high-performance backend systems.
You will work closely with product managers, architects, QA engineers, DevOps engineers, and other developers to deliver high-quality software solutions. You will also contribute to system architecture, technical decision-making, code quality, and engineering best practices.
Responsibilities
- Design, develop, test, and maintain scalable backend applications using Java and Spring Boot.
- Design and implement RESTful APIs and distributed services.
- Participate in system architecture and technical solution design.
- Build reliable and high-performance microservices and distributed systems.
- Work with relational and NoSQL databases, including database schema design, query optimization, and performance tuning.
- Integrate with internal and external systems through APIs, messaging systems, and event-driven architectures.
- Troubleshoot complex production issues and perform root cause analysis.
- Improve application performance, scalability, availability, and security.
- Write clean, maintainable, testable, and well-documented code.
- Conduct code reviews and ensure engineering standards and best practices are followed.
- Collaborate with DevOps/SRE teams on deployment, monitoring, CI/CD, and production operations.
- Participate in technical discussions and contribute to architecture and technology decisions.
- Mentor junior and mid-level developers and provide technical guidance.
- Continuously improve development processes, engineering practices, and system reliability.
Requirements
- Bachelor's degree in Computer Science, Software Engineering, or a related field, or equivalent practical experience.
- 5+ years of professional software development experience, with strong experience in Java backend development.
- Strong knowledge of Java 8/11/17+ and the Java ecosystem.
- Solid experience with Spring Boot, Spring Framework, Spring MVC, and Spring Data.
- Strong understanding of object-oriented programming, design patterns, data structures, and algorithms.
- Experience building and maintaining microservices and distributed systems.
- Strong knowledge of REST APIs, HTTP, JSON, and API design principles.
- Hands-on experience with relational databases such as PostgreSQL, MySQL, or Oracle.
- Experience with caching technologies such as Redis.
- Experience with messaging systems such as Kafka, RabbitMQ, or similar technologies.
- Good understanding of concurrency, multithreading, JVM internals, and application performance optimization.
- Experience with Git, Maven/Gradle, Docker, and CI/CD pipelines.
- Familiarity with cloud platforms such as AWS, Azure, or Google Cloud.
- Strong troubleshooting and problem-solving skills.
- Good understanding of software engineering principles, including SOLID, Clean Code, automated testing, and code review practices.
- Good communication skills and ability to work effectively in an international and cross-functional team.
- Professional working proficiency in English.
Nice to Have
- Experience with Kubernetes and container orchestration.
- Experience with high-availability and high-concurrency systems.
- Experience with event-driven architecture and domain-driven design (DDD).
- Experience with observability tools such as Prometheus, Grafana, ELK.
- Experience with database sharding, distributed transactions, or large-scale data processing.
- Knowledge of application security, OAuth 2.0, OIDC, JWT, and API security.
- Experience working in FinTech, Banking, Payments, E-commerce, or other high-transaction-volume industries.
- Experience designing systems with strict requirements around reliability, consistency, reconciliation, and auditability.
Similar roles
-
Java Developer
NTT Data Singapore Singapore, Singapore
-
Lead Software Engineer - Fullstack Java
JPMorgan Chase & Co. Jersey City, New Jersey, United States · $157K–$215K/yr
-
Sr Lead Software Engineer - Java Fullstack/ AI
JPMorgan Chase & Co. Jersey City, New Jersey, United States · $176K–$260K/yr
-
Apache Airflow, Informatica, Snowflake, Java, Spring, Spring Batch, Kubernetes, Github - Developer
NTT DATA Services Chennai, Tamil Nadu, India
-
Programming language knowledge - Java
NTT DATA Services Bangalore, Karnataka, India
-
Software Developer Java-Plattform / Frameworks (w/m/d)
Debeka Koblenz, Rhineland-Palatinate, Germany