Apply Edge Start your job search

Java Software Engineer

StreetID · New York City Metropolitan Area

Apply & track with Apply Edge
Senior Java Software Engineer – Distributed SystemsWe are seeking a Senior Java Software Engineer to design and build highly scalable, distributed backend systems supporting mission-critical applications and platforms. This role is focused on hands-on Java development, large-scale distributed systems, high-performance applications, and cloud-native microservices.You’ll work on complex backend platforms, event-driven architectures, APIs, and distributed services while partnering with Product, Architecture, and Engineering teams to build reliable, scalable software.ResponsibilitiesDesign and develop highly scalable, fault-tolerant Java applications supporting high-volume, mission-critical workloads.Architect and build distributed systems and microservices capable of processing large transaction and data volumes.Develop complex backend services, REST APIs, and event-driven applications using Java, Spring Boot, and modern distributed-system design principles.Design resilient, highly available systems with an emphasis on scalability, performance, latency, observability, and reliability.Build reusable backend and platform services supporting complex enterprise applications.Design and implement integrations with internal and external systems through APIs, messaging, and event-driven architectures.Optimize application performance through efficient algorithms, caching, asynchronous processing, multithreading, concurrency, and distributed messaging.Solve complex distributed-systems challenges involving consistency, availability, fault tolerance, retries, message ordering, idempotency, and failure recovery.Collaborate with architects and engineers to define system architecture, service boundaries, API contracts, and data models.Lead technical design discussions, conduct code reviews, mentor engineers, and drive engineering best practices.Build secure cloud-native applications utilizing CI/CD, automated testing, infrastructure as code, and continuous delivery.Troubleshoot complex production issues, perform root-cause analysis, and continuously improve platform stability and performance.Required Qualifications7+ years of professional software engineering experience with a strong focus on Java.Expert-level experience with Java, Spring Boot, Spring Framework, REST APIs, and microservices.Strong experience personally designing and building large-scale distributed systems.Deep understanding of object-oriented design, data structures, algorithms, multithreading, concurrency, asynchronous processing, and JVM performance.Experience with event-driven architectures and messaging technologies such as Kafka, RabbitMQ, JMS, or similar.Experience with AWS, Azure, or Google Cloud.Strong SQL skills and experience with relational and/or NoSQL databases.Strong understanding of system architecture, scalability, resiliency, fault tolerance, and security.Ability to take technical ownership from design and hands-on coding through testing, deployment, and production support.Preferred QualificationsExperience building platforms supporting high transaction volumes and mission-critical workloads.Experience solving complex scalability, latency, concurrency, performance, and reliability problems.Experience with Kafka, distributed caching, Kubernetes, Docker, and cloud-native architectures.Familiarity with domain-driven design (DDD), event sourcing, CQRS, and distributed data patterns.Demonstrated experience improving system throughput, latency, availability, or operational reliability in production environments.