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
- 12 tags
Technology context
12Parsed from the vacancy text; ordered by relevance to this role.
JavaPythonCloud NativeCloudGoBackendC++LinuxRustAutomationgRPCStorage Systems
Full listing
Role description
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