Open roleNew
Senior Software Engineer - Backend / Distributed Systems
EPAMArgentina; Brazil; Colombia; Mexico
- Work model
- Remote
- Experience
- 5+ years
- Employment
- Not specified
- Compensation
- Not disclosed
- Technology signal
- 13 tags
Technology context
13Parsed from the vacancy text; ordered by relevance to this role.
JavaPythonCloud NativeCloudGoBackendC++CLinuxRustAutomationgRPCStorage Systems
Full listing
Role description
We are looking for a Senior Backend/Distributed Systems Engineer to build and operate high-performance services that integrate with distributed storage systems at scale. You will design resilient architectures, solve complex production issues, and collaborate across global time zones - apply to help deliver reliable systems.
Responsibilities
- Design scalable backend services that integrate with multiple storage systems
- Build high-performance distributed components with a focus on reliability and correctness
- Develop and maintain Rust services across the full lifecycle from design to production
- Implement concurrency models using async programming and multithreading patterns
- Create and evolve RPC-based interfaces using gRPC or Apache Thrift
- Troubleshoot production incidents, debug complex failures, and restore service quickly
- Provide on-call support and improve operational readiness through runbooks and automation
- Apply system design and distributed systems principles to consistency, replication, and sharding trade-offs
- Collaborate across global teams and align on interfaces, SLAs, and rollout plans
Requirements
- 3+ years of Rust backend engineering experience
- Experience with C/C++, understanding of complex low-level systems
- Strong distributed storage systems experience building, designing, or operating storage components
- Strong concurrent programming skills with async patterns and multithreading
- Strong RPC services experience using gRPC or Apache Thrift
- Strong cloud-native architecture experience with service discovery and service mesh concepts
- Strong data structures and algorithms knowledge for system-level problem solving
- Solid system design skills for scalable, distributed, high-availability backends
- Proven troubleshooting skills for debugging production issues
- Flexible collaboration availability for occasional early/late meetings across global time zones
- Upper-Intermediate English proficiency (B2)
- Clear communication skills to collaborate effectively across teams
Nice to have
- Go Language
- Python
- Java
- Linux
- System design and analysis