Software Architect

Istanbul • Technology / Head Of Engineering • Full Time

Role Overview

As a Software Architect, you will define the technical vision and lead the design of our high-performance, low-latency infrastructure.

You will be responsible for the end-to-end architecture of the event-driven microservice ecosystem.

You will guide engineering teams through complex technical decisions and drive the modernization of legacy systems into scalable architectures.

 

Key Responsibilities

- Design end-to-end architecture for distributed systems requiring low latency and high availability

- Define and implement microservice and event-driven architecture patterns across the platform

- Architect communication protocols based on Kafka and Redis, optimizing for throughput and reliability

- Lead technical debt management and legacy modernization efforts

- Participate in Agile/Scrum ceremonies including sprint planning, backlog refinement, and architectural decision-making

- Establish a culture of code review, Architectural Decision Records (ADRs), and comprehensive technical documentation

- Define crash recovery, data consistency, and fault tolerance strategies for mission-critical systems

 

Technical Requirements

Languages :   Java 17+ (preferably Java 21), OOP, Design Patterns, SOLID principles

Frameworks : Spring Framework, Spring Boot 3+

Messaging :   Apache Kafka (partitioning, consumer groups, exactly-once semantics)

Caching : Redis (clustering, pub/sub, data structures, TTL strategies)

Databases : MSSQL Server, PostgreSQL, query optimization, indexing

Architecture : Microservices, Event-Driven Architecture, CQRS, Domain-Driven Design

Protocols : gRPC, REST API, WebSocket

DevOps : Docker, Kubernetes, CI/CD pipelines

Methodology : Agile / Scrum, sprint planning, backlog management

 

Qualifications

- Bachelor’s degree in Computer Science, Software Engineering or a related field or equivalent practical experience

- Extensive professional software development experience with architectural responsibilities- Proven production experience in the Java ecosystem

- Experience designing and operating low-latency, high-availability systems in production environments

- Deep understanding of distributed system design and event sourcing

- Advanced proficiency in performance tuning and data modeling for database systems

- Experience with Agile/Scrum methodologies and technical leadership

- Excellent analytical thinking, problem-solving and communication skills

 

Nice to Have

- Familiarity with capital markets or regulated financial systems is a plus

- Knowledge of SPK regulatory framework and BIST operations

- Hands-on experience with crash recovery and data consistency strategies

- JVM performance optimization expertise (GC tuning, off-heap memory, low-latency patterns)

We evaluate all applications based on skills and qualifications and do not discriminate on any protected characteristic.