JOB DESCRIPTION
About the Role
Madison is looking for passionate Middle/Senior Java Developers to join our engineering team in building scalable, high-performance backend solutions for international clients. In this role, you'll work with modern technologies, collaborate with global teams, and contribute to products that serve real-world business needs. If you enjoy solving complex technical challenges, writing clean code, and continuously improving your engineering skills, we'd love to hear from you.
Key Responsibilities
• Design, develop, and maintain scalable backend applications using Java and Spring Boot.
• Design system architecture, APIs, and database models for high-performance, distributed applications.
• Drive architectural decisions by evaluating technical trade-offs and recommending the most appropriate solutions.
• Ensure system scalability, reliability, performance, and security in production environments.
• Lead the investigation and resolution of critical production incidents, perform root cause analysis (RCA), and implement long-term preventive improvements.
• Optimize application performance, database queries, and large-scale data processing.
• Review code, establish engineering best practices, and mentor junior and middle-level developers.
• Collaborate with Product Managers, QA Engineers, DevOps Engineers, and international stakeholders throughout the software development lifecycle.
• Contribute to continuous improvements in software architecture, development processes, and engineering culture.
Required Qualifications
• 3-5+ years of hands-on experience in Java backend development.
• At least 2 years of professional experience with Spring Boot and the Spring ecosystem.
• Proven experience designing, building, and operating high-traffic production systems or microservices architectures.
• Strong ownership of system performance, availability, reliability, and production operations.
• Demonstrated experience leading the resolution of critical production incidents, making technical decisions under pressure, and conducting root cause analysis (RCA).
• Strong database expertise, including query optimization, indexing strategies, partitioning, and large-scale data processing using both SQL and NoSQL databases.
• Proven experience mentoring developers, conducting code reviews, and providing technical leadership.
• Ability to clearly explain architectural decisions, evaluate technical trade-offs, and justify design choices based on business and engineering requirements.
• Strong understanding of software design principles, distributed systems, and backend architecture.
• Good English communication skills, with the ability to collaborate effectively with international teams, present technical solutions, and successfully participate in technical interviews conducted in English.
Preferred Qualifications
• Hands-on experience with Kubernetes and cloud platforms such as AWS, GCP, or Azure.
• Experience implementing monitoring and observability solutions using Prometheus, Grafana, ELK, or similar technologies.
• Strong understanding of Domain-Driven Design (DDD) and Event-Driven Architecture.
• Experience designing highly available, fault-tolerant distributed systems.
• Ability to communicate complex technical concepts effectively to non-technical stakeholders.
• Experience working in Agile/Scrum environments.
Recruitment Process
1. CV Screening
2. Technical & Culture Fit Interview
3. Technical Assessment
4. Client Technical Design Interview
Contact Information: If you are interested in this opportunity, please send your CV to: recruitment@madison.dev
For more information about us: https://madison-technologies.com/