This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
We are looking for a highly motivated and experienced Senior Software Engineer (Java) to join our team. Senior Software Engineer (Java) is responsible for designing, developing, and maintaining scalable, high-performance backend systems that power our products and services. In this role, you will translate business and product requirements into robust technical solutions, ensuring reliability, security, and performance across backend services. You will work closely with cross-functional teams, including frontend developers, DevOps engineers, product managers, lead engineers, and solution architects, to design and implement efficient, scalable, and maintainable backend architectures using modern Java technologies. You will also contribute to architectural discussions, apply best practices, and support the overall quality and sustainability of the codebase. If you are curious by nature, adaptive, collaborative, and always one step ahead, then join us and be a Commencer!
Job Responsibility:
Design, develop, and maintain scalable and high-performance backend systems using Java and Spring Framework
Contribute to system architecture decisions and lead the design of both monolithic and microservices-based solutions
Develop and maintain Backend-for-Frontend (BFF) layers and core backend services
Strong understanding of design principles, design patterns, and architectural best practices (DDD, TDD, and layered architecture)
Build and maintain RESTful APIs and ensure high availability and performance
Collaborate with cross-functional teams including product, design, and QA
Ensure code quality through code reviews, best practices, and clean code principles
Write and maintain unit and integration tests
Troubleshoot, debug, and optimize existing systems
Participate in CI/CD processes and support deployment activities
Mentor junior developers and contribute to team knowledge sharing
Stay up to date with emerging technologies and industry best practices
Experience with AI technologies and a strong interest in learning and applying them in real-world use cases
Requirements:
BSc/MSc/PhD degree in Computer Science or a related field, or equivalent practical experience
At least 5 years of professional experience in backend development with Java
Strong experience with Spring Framework (Spring Boot, Spring MVC, Spring Data, Spring Security, etc.)
Strong understanding of OOP principles, design patterns, and scalable system design
Experience with microservices architecture and distributed systems
Hands-on experience with relational and non-relational databases (e.g., PostgreSQL, MySQL, MongoDB, Redis)
Strong unit test and debugging skills
Proficiency in code versioning tools such as Git
Strong sense of analytical thinking and problem-solving skills
Excellent attention to detail
Highly effective time management and multitasking skills
Strong verbal and written communication skills both in English and Turkish
Nice to have:
Familiarity with message brokers (e.g., Kafka, RabbitMQ)
Basic knowledge of front-end technologies such as JavaScript, HTML5 and CSS3
Familiarity with CI/CD pipelines and DevOps practices
What we offer:
Competitive salary
Private health insurance
Pension and retirement plans through a company-backed pension system
Meal card
Commute compensation
Work-from-home support
Paid birthday off
Flexible working hours including remote working option
Online events
Guest speakers
Refreshments in the office
Meeting-light culture
Access to leading online e-learning platforms like Udemy and various libraries
Social activities including happy hours, workshops, new year party, breakfast & lunch get-togethers, movie nights, and Summer Festival