Position: Senior Ruby on Rails Developer
Company: Ciklum
Experience required: 3y
English level: upper

**About Project**
Client is the provider of a food delivery service intended to offer lunch at the workplace and offices. The company's services plan is lunch delivery from different restaurants for its users in offices and workplaces, thereby enabling them to avail required healthy dishes at their needed convenience.

There are several different applications for drivers, consumers, backoffice, and more, all connected in one api. Team will be working on achieving client’s goals to launch a new product line in the long run and to support Forkable platform and its services as they are.

**Responsibilities**
Design and implement a set of various types of tests (unit, integration, functional, etc)
Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.)
Taking part in the decision-making process of application architecture design, solution development, architecture and code review
Develop and review feature design documents and provide inputs/updates to the solution specification
Proactive position in solution development, process improvements
Working in an international distributed team in an Agile environment
Communicate with PMs, engineers, Architects, QA and other colleagues and stakeholders
Delivering the product roadmap and plannings
Following coding standards, software best practices and writing highly testable, automatable and performant code over the whole SDLC

**Requirements**
Excellent knowledge in Computer Science, Computing Theory:
Paradigm & Principles (OOP, SOLID, TDD, BDD)
Database theory (RDBMS)
Code testing practices
Enterprise and Design Patterns
Microservices architecture, SOA
Security patterns, Common attacks types (OWASP)
Understanding of network interactions:
protocols
conventions (GraphQL, REST)
authentication and authorization flows (e.g. oAuth)
Excellent knowledge and experience in Ruby on Rails (more than 5 years)
Practical commercial experience with:
GraphQL
Web application frameworks, Testing frameworks, ORM
RDBMS (e.g, PostgreSQL)
Key-value storages (Redis)
Messaging systems (Resque)
Version control systems (GIT)
Cloud computing platforms (AWS)
Integration with 3rd party solutions
Microservices
Docker
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins)
Builders
Experience with:
Troubleshooting, profiling and debugging applications
Creation software architecture and design of complex applications, platforms
Agile software processes and technologies
Code Review process
Refactoring process
Fluent or Upper-Intermediate English

**Desirable**
Experience in software development for more than 6 years
Understanding of orchestration and containerisation (e.g. Kubernetes, Docker Swarm)
Knowledge in Deployment patterns
Experience with TDD environments (RSpec, Minitest, Capybara, Selenium)
Experience with web architecture at scale (20krpm and above)
Experience solving logistical problems with software
Autoscaling, monitoring, alerting approaches

**Personal skills**
Perform a broad range of complex technical or professional activities, in a variety of contexts. Investigate, define, and resolve complex issues
Able to work in distributed cross-functional teams effectively
Influence customers and team members on the project level
May supervise others or make decisions which impact the work assigned to individuals or phases of projects
Plan, schedule, and monitor your own work (and of others where applicable) competently
Have learning agility (readiness for challenge and being open to change)

**What's in it for you**
Close cooperation with the client
A constant flow of new projects
Dynamic and challenging tasks
Ability to influence project technologies
Projects from scratch
Team of professionals: learn from colleagues and gain recognition of your skills
Continuous self-improvement