Vacancy catalog
EPAM
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

12

Parsed 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