Ruby Developer
Posted 3 years ago
Job Description Highlights
– Ruby (not rails) backend experience and / or
– Kafka experience
– Event driven architecture experience
– Kafka experience
– Event driven architecture experience
– Backend coding with micro services experience
– Telco / wireless background nice to have
– Telco / wireless background nice to have
Job Description
We are looking for a Ruby developer with or without Kafka/event driven architecture experience responsible for building Ruby applications, including anything from complex groups of back-end microservices to command line utilities and data processing scripts. Your primary responsibility will be to design and develop these applications in backend / developing microservices, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and building quality products is essential.
Responsibilities
- Design, build, and maintain efficient, reusable, and reliable Ruby code along with experience in Kafka
- Ensure the best possible performance, quality, and responsiveness of the applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization.
- Develop event driven architecture
- Backend coding with micro services experience
Skills
- Good understanding of the syntax of Ruby and its nuances
- Solid understanding of object-oriented programming
- Understanding of functional programming style in Ruby and / or Kafka / event driven architecture
- Skills for writing reusable Ruby libraries that may be used in expressive ways
- Familiarity with concepts of MVC, Mocking, ORM, and RESTful
- Experience with popular web application frameworks {{such as Rails, Kafka, Lotus, etc depending on project requirements}}
- Familiarity with command-suite libraries, such as {{such as Thor and GLI, depending on project requirements}}
- Knack for writing clean, readable Ruby code
- Experience with both external and embedded databases
- Understanding of fundamental design principles behind a scalable application
- Able to create database schemas that represent and support business processes
- Implementation of automated testing platforms and unit tests
- Proficient understanding of code versioning tools {{e.g. Git, Mercurial or SVN}}
- Familiarity with development aiding tools {{such as Bower, Bundler, Rake, etc}}
- Familiarity with continuous integration