Software Engineer (Ruby / GOlang)
Role details
Job location
Tech stack
Job description
We are looking for an exceptional Senior Backend Developer (Ruby/Go) to join our growing Engine team. The Engine team develops and maintains most things related to Workato Recipe runtime. Everything related to recipe execution: DSL, pulling events, processing webhooks, executing jobs. There are various aspects to it: performance, scaling, storage, durability, atomicity, concurrency guarantees, data protection, and encryption. In this role, you will also be responsible to:
- Build/extend/troubleshot/fix complex heterogeneous GOlang and Ruby applications, Ruby monolith application, as well as small self-contained GOlang microservices.
- We also consider strong Ruby only candidates, as well as Golang-only candidates who is open to learn some ruby.
- 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.
- Evaluate and propose improvements to existing system.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Help maintain code quality, organization and automatization.
- We always explore new technologies and work with Rust and Wasm can be foreseen.
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 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. Optional
-
Background in GO-lang and/or Rust.
-
Background in network programming.
-
Background in application, data security.
-
Deep knowledge of physical DB design.
-
Experience of working with Docker and other isolation technologies.
-
Experience of working with public cloud infrastructure providers(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 of working with third-party REST APIs at scale (request throttling, batch processing etc).
-
Familiarity with WASM platform and toolchain.