Commencis

Senior Software Engineer (Java)

Commencis • TR
JavaJavaScript Hybrid
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!
 
 

Responsibilities

  • Design, develop, and maintain scalable and high-performance backend systems using Java and Spring Framework (Spring Boot, Spring MVC, Spring Data, Spring Security, etc.) 
  • 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 to support scalable applications 
  • 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 to deliver high-quality solutions  
  • 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 
  • This role requires flexibility in working days to align with client schedules, as some clients operate between Sunday and Thursday. 
  •  

    Qualifications

  • 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)  
  • Familiarity with message brokers (e.g., Kafka, RabbitMQ) is a plus  
  • Basic knowledge of front-end technologies such as JavaScript, HTML5 and CSS3  
  • Strong unit test and debugging skills  
  • Proficiency in code versioning tools such as Git  
  • Familiarity with CI/CD pipelines and DevOps practices is a plus  
  • 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 
  •