Responsibilities
- Build/extend/troubleshot/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 in all phases of the development lifecycle.
- Provide code reviews to your teammates.
- Provide technical leadership.
- Work with other teams on shared projects.
- Evaluate and propose improvements to existing systems.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Help maintain code quality, organization and automatization.
Requirements
- Strong experience in building scalable distributed backend applications (7+ years).
- Excellent understanding of distributed systems patterns and algorithms.
- Great understanding of all building blocks of large web applications: databases, load balancers, application servers, message brokers, caching, monitoring, etc.
- Excellent understanding of network protocols and stacks.
- Excellent understanding of DB technologies: classic databases and modern no-SQL.
- Knowledge of all common 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. At least two languages are required.
- At least basic understanding of cloud deployments (k8s, Terraform, ArgoCD).
- Experience of working with public cloud infrastructure providers(AWS/Azure/Google Cloud).
- Excellent debugging, analytical, problem solving, and social skills.
- BS/MS degree in Computer Science, Engineering or a related subject, 7+ years of industry experience.
Nice to Have
- Background in GOlang, Rust, WASM.
- Background in network programming.
- Background in Kotlin/Multiplatform.
- Background in application, data security.
- Deep knowledge of physical DB design.
- Experience of working with Docker and other isolation technologies.
- Experience in related fields (DevOps, ML, DBA, Enterprise applications, etc).
- Experience in building/deploying data processing pipelines is a plus.
- Experience of working with third-party REST APIs at scale (request throttling, batch processing etc).
Benefits
- Flexible, trust-oriented culture that empowers everyone to take full ownership of their roles.
- Driven by innovation and looking for team players who want to actively build our company.
- Balancing productivity with self-care.
- Vibrant and dynamic work environment along with a multitude of benefits they can enjoy inside and outside of their work lives.
Work Arrangement
Hybrid