Senior Java Developer
Summary
Senior Java Developer at SiMTEK Simulation Technologies (Ankara, on-site) building mission-critical microservice systems for defense and aviation projects: designing Spring Boot REST APIs, real-time data processing and integrations with Java 21, Spring, PostgreSQL, Kafka, and Docker/Kubernetes. Requires 5+ years of Java experience and Turkish citizenship.
Location: Ankara, Türkiye
Employment Type: Full-time (On-site)
About Us
At SiMTEK Simulation Technologies, we develop advanced software solutions for the defense, aviation, and critical infrastructure sectors. Our expertise spans Artificial Intelligence, Data Analytics, Digital Twin, Simulation, VR/AR, and Training Technologies, delivering innovative solutions for both national and international projects.
We are looking for an experienced Senior Java Developer who is passionate about building high-performance, scalable, and mission-critical software systems and wants to be part of our strong engineering culture.
Responsibilities
- Design, develop, test, maintain, and enhance enterprise-grade and mission-critical Java applications.
- Develop and improve microservice-based applications using Spring Boot.
- Design and implement secure, scalable, and high-performance RESTful APIs.
- Develop real-time data processing, messaging, and system integration solutions.
- Contribute to software architecture design and technical decision-making processes.
- Develop maintainable, readable, and testable software by applying Clean Code principles, SOLID principles, and design patterns.
- Participate actively in code reviews and contribute to maintaining high software quality standards.
- Perform refactoring activities to reduce technical debt and improve existing codebases.
- Analyze and optimize application performance and troubleshoot complex issues.
- Contribute to CI/CD pipelines and participate throughout the entire software development lifecycle.
- Collaborate closely with Front-End, DevOps, QA, and Data Engineering teams.
- Prepare technical documentation and contribute to the definition of software development standards.
Qualifications
- Bachelor's degree in Computer Engineering, Software Engineering, or a related field.
- Required Turkish citizenship.
- Minimum 5 years of professional experience in Java software development.
- Strong experience with Java 21 (LTS) or later.
- Solid understanding of modern Java features, including:
- Virtual Threads (Project Loom)
- Records
- Sealed Classes
- Pattern Matching
- Streams API
- Functional Programming
- Concurrency and Multithreading
- Hands-on experience with Spring Boot 4.x, Spring Framework 7, Spring Security, and Spring Data JPA.
- Experience implementing authentication and authorization using OAuth2, OpenID Connect, and JWT.
- Experience working with relational databases such as PostgreSQL or Microsoft SQL Server.
- Strong knowledge of SQL optimization, indexing, transaction management, and database design.
- Experience with Hibernate/JPA.
- Experience with messaging platforms such as Kafka, RabbitMQ, or ActiveMQ.
- Experience with Docker and Kubernetes.
- Proficiency with Maven or Gradle.
- Experience using Git and Gitea workflows.
- Experience developing in Linux environments.
- Experience writing Unit and Integration Tests.
- Familiarity with SonarQube, SAST, and secure software development practices.
- Strong understanding of Clean Code, SOLID principles, Object-Oriented Design (OOD), and GoF Design Patterns.
- Proven experience in refactoring and improving existing codebases.
- Passion for writing clean, maintainable, and high-quality code.
- Experience working in Agile/Scrum environments.
- Strong analytical thinking and problem-solving skills.
- Good command of written and spoken English.