Our client is a world‑class American B2B software company, a leader in its field. We are looking for exceptional Senior Backend Software Engineers (Tech stack: Ruby/ RoR, PostgreSQL, Redis, Kafka, k8s) to join the team that develops and maintains everything related to recipe execution: DSL, pulling events, processing webhooks, and executing jobs. It has various aspects: performance, scaling, storage, durability, atomicity, concurrency guarantees, data protection, and encryption.
These are full‑time, permanent positions offering highly competitive compensation and benefits.
MUST‑HAVE REQUIREMENTS
- Strong experience in building scalable distributed backend applications (5+ years).
- Great understanding of all building blocks of large web applications: databases, load balancers, application servers, message brokers, caching, monitoring, etc.
- Good understanding of network protocols and stacks.
- Good understanding of DB technologies: classic databases and modern no‑SQL.
- Knowledge of basic data structures and algorithms and how they are used is a must.
- Multilingual programming experience: our code base is primarily in Ruby, with a trend to migrate to GOlang and Rust.
- Excellent debugging, analytical, problem‑solving, and social skills.
- BS/MS degree in Computer Science, Engineering, or a related subject, 7+ years of industry experience.
- Readiness to work remotely with teams distributed across the world and time zones occasionally.
ADVANTAGE IF YOU HAVE
- Background in GOlang and/or Rust.
- Background in network programming.
- Background in applications and data security.
- Deep knowledge of physical DB design.
- Experience working with Docker and other isolation technologies.
- Experience working with public cloud infrastructure providers such as AWS/Azure/Google Cloud.
- Experience in related fields (DevOps, ML, DBA, Enterprise applications, etc.).
- Experience in building/deploying data processing pipelines is a plus.
- Experience working with third‑party REST APIs at scale (request throttling, batch processing, etc.).
RESPONSIBILITIES
- Build/extend/troubleshoot/fix complex heterogeneous GOlang and Ruby applications, as well as small self‑contained GOlang microservices.
- Improve execution engine of custom third‑party code (Ruby DSL, isolation, performance, new features).
- Write well‑designed, testable, efficient code in Ruby and GOlang.
- Integration of data storage solutions.
- Postgres/S3/DynamoDB/Kafka/ClickHouse, etc.
- Contribute to all phases of the development lifecycle.
- Provide code reviews to your teammates.
- Evaluate and propose improvements to the existing system.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Help maintain code quality, organization, and automatization.
- You can anticipate working with Rust and Wasm in the future.