Software Engineer
streetidGlens Falls, NY
About the role
Senior Java Software Engineer – Distributed Systems We are seeking a Senior 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 or Python 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.
Responsibilities:
Design 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 Qualifications:
- 7+ years of professional software engineering experience with a strong focus on
- Java or Python
- 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 Qualifications:
Experience 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.
Matching similar jobs
JOB OVERVIEW
Experience level
Lead
Location
Glens Falls, NY
Occupation
Software Developers
Industry
Computer Systems Design Services
Posted
today
Tired of running searches?
Rank the roles you'd take once, and matches like these arrive on their own.
CREATE PROFILE (opens in a new tab)