Unico Studio
Backend Developer
Unico StudioTurkey12 hours ago
Full-timeRemote Friendly

Mid‑Level / Senior Java/Kotlin Spring Engineer (Full‑time / Remote)


We’re hiring an experienced backend engineer to design, build, and operate scalable services using Java and Kotlin on the Spring ecosystem. You will own API design and architecture, implement resilient microservices and modular monoliths, and help shape CI/CD, observability, and platform practices across the team.


Responsibilities

  • Design and implement backend services and APIs using Java and/or Kotlin with Spring Framework
  • Architect and evolve systems as modular monoliths or microservices depending on product needs
  • Build robust data access layers using JPA/Hibernate and Spring Data, including JPA Specifications for complex queries
  • Secure services with Spring Security and implement authentication/authorization patterns
  • Integrate streaming and caching technologies such as Kafka and Redis for eventing and performance
  • Implement real‑time features using WebSocket and related patterns
  • Containerize and operate services with Docker and Kubernetes; collaborate on deployment and CI/CD processes
  • Automate CI/CD pipelines and workflows using GitHub Actions
  • Document APIs with OpenAPI / springdoc and maintain clear API contracts
  • Collaborate on architecture decisions, design patterns, and code reviews to ensure maintainability and high code quality
  • Troubleshoot production issues, optimize performance, and contribute to monitoring and alerting


Core Requirements

Languages & Frameworks

  • Java (21/25) and Kotlin: Production experience in at least one; comfortable reading and contributing in both. Expertise in recent Java features like lambdas, streaming framework, records etc.
  • Spring ecosystem: Spring Boot, Spring Data, Spring Security, Spring Web


Architecture & Design

  • Strong DSA skills, OOP, SOLID principles, and Design Patterns
  • API design and architecture (RESTful design, versioning, error handling, pagination)
  • Experience with modular monoliths and microservices: Tradeoffs, service boundaries, inter‑service communication


Infrastructure & DevOps

  • Docker and Kubernetes: Building images, manifests, deployments, and troubleshooting pods
  • GitHub Actions: Building CI/CD workflows, release pipelines, and automated checks


Data & Integration

  • SQL and PostgreSQL: Schema design, indexing, query optimization
  • JPA / Hibernate / Spring Data JPA: Mappings, caching, lazy/eager loading, and JPA Specifications
  • Kafka: Producers, consumers, topics, partitioning, and at‑least‑once vs exactly‑once considerations
  • Redis: Caching patterns, pub/sub, and data structures


Protocols & Paradigms

  • Deep understanding of HTTP, REST, and Web fundamentals
  • WebSocket experience for real‑time features
  • Moderate knowledge of gRPC
  • Functional programming concepts and paradigm: Immutability, pure functions, streams, and reactive thinking where applicable.


Quality & Practices

  • Automated testing (Unit, integration, contract tests)
  • Code reviews, CI, and observability (Metrics, logging, tracing)
  • Good communication skills and ability to work in cross‑functional teams


Nice to Have:

  • Vaadin Java UI framework
  • ClickHouse DB experience
  • ETL design and data pipeline experience
  • Thymeleaf or server‑side templating experience
  • Familiarity with AI automation tools such as n8n, Windmill, or similar workflow automation platforms
  • Experience with OpenAPI advanced features and API gateways


Expectations: Mid‑Level vs Senior

Mid‑Level

Experience: ~3–5 years building backend services with Java/Kotlin and Spring

Scope: Owns features end‑to‑end with guidance; contributes to design discussions; writes reliable, tested code. Impact: Improves components, identifies bugs and performance issues, and participates in on‑call rotations.

Senior

Experience: 5+ years with demonstrable system design and delivery of complex services

Scope: Leads architecture for subsystems, defines standards and best practices.

Impact: Drives cross‑team initiatives, improves platform reliability and scalability, influences product and technical roadmaps.


Interview Process & Sample Questions

Process: CV screen → Technical take‑home or coding exercise → System design interview → Team/behavioral interview → Offer

Sample technical questions:

  • Design a resilient microservice for order processing that uses Kafka for events and PostgreSQL for state.
  • Explain schema, topics, and failure handling. Implement a paginated REST API with filtering using Spring Data JPA and JPA Specifications; discuss performance considerations.
  • Explain how you would secure a set of microservices with Spring Security and token‑based auth.
  • Describe how you would migrate a monolith to a modular monolith or microservices architecture; list tradeoffs. Troubleshooting: A service in Kubernetes shows high latency. Walk through your debugging steps and metrics to inspect.

Coding exercise ideas

  • Small Spring Boot service exposing CRUD endpoints, with tests, OpenAPI docs, and a GitHub Actions workflow for build/test


What We Offer and How to Apply

What we offer: Challenging problems, modern stack, collaborative team, flexible work arrangements, and professional development support.

How to apply: Send your CV and a short note about a recent system you designed or a technical challenge you solved to the hiring contact or application portal. Include links to GitHub, open‑source contributions, or architecture diagrams if available.


Key tags: Java; Kotlin; Spring Boot; Spring Data; Spring Security; JPA/Hibernate; PostgreSQL; Kafka; Redis; WebSocket; Docker; Kubernetes; GitHub Actions; OpenAPI; Microservices; Modular Monolith; Functional Programming.

Key Skills

Ranked by relevance