Senior Software Engineer – Backend / Distributed Systems
We are looking for a Senior Backend Engineer to build and operate high-performance distributed services that interact with complex storage systems. You will design resilient systems, troubleshoot production issues, and collaborate across time zones; apply now to help deliver reliable, scalable platforms.
Responsibilities
- Design scalable, reliable backend services that integrate with distributed storage systems
- Build high-performance Rust components for distributed systems workloads
- Develop and maintain RPC-based services using gRPC or similar frameworks
- Implement concurrency-safe, asynchronous service logic and performance-critical paths
- Define system architecture for high availability, fault tolerance, and scalability
- Troubleshoot production incidents, debug complex failures, and restore service health
- Provide on-call support and improve operational tooling and runbooks
- Collaborate with global teams and align on core working hours across time zones
- Evaluate consistency, replication, sharding, and resharding strategies for storage components
- Integrate cloud-native patterns such as service discovery, service mesh, and IPv6 networking
- Write clear technical documentation and share design decisions with stakeholders
Requirements
- 3+ years of Rust backend development experience
- Strong C++ knowledge for understanding and interfacing with low-level systems
- Hands-on distributed storage systems experience building, designing, or operating storage components
- Strong concurrent programming experience with async patterns, multithreading, and synchronization
- Proven RPC services experience using gRPC or Apache Thrift
- Cloud-native architecture experience with service discovery and service mesh tools
- Solid system design skills for scalable, highly available distributed services
- Strong data structures and algorithms knowledge including trees, graphs, hashes, and dynamic programming
- Operational support experience including on-call rotations and production debugging
- Schedule flexibility for occasional early or late meetings across global teams
- Clear communication and collaboration skills in cross-functional environments
- English proficiency: B2 Upper-Intermediate
Nice to have
- Go Language proficiency for contributing to multi-language services
- Python experience for tooling, automation, or service components
- Java experience for onboarding to existing backend services
- Linux expertise for performance analysis and production debugging
- gRPC expertise including schema design and backward-compatible evolution
Benefits
- International projects with top brands
- Work with global teams of highly skilled, diverse peers
- Healthcare benefits
- Employee financial programs
- Paid time off and sick leave
- Upskilling, reskilling and certification courses
- Unlimited access to the LinkedIn Learning library and 22,000+ courses
- Global career opportunities
- Volunteer and community involvement opportunities
- EPAM Employee Groups
- Award-winning culture recognized by Glassdoor, Newsweek and LinkedIn