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

Former top athlete Olivier Bernhard and his friends David Allemann and Caspar Coppetti through countless experiments have created the shoes that first amazed and has since delighted the running world. Ons are not just a new running experience: they are far more than that. And the company’s three co-founders have become ambassadors of a new running sensation whose success has far outpaced their expectations. 
The project you will be working on is the e-commerce platform for a new subscription service for the Cyclon – a new, fully recyclable performance shoe.

Responsibilities:

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
Design and implement a set of various types of tests (unit, integration, functional, etc)
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, DDD, TDD, BDD)
Database theory (RDBMS, NoSQL)
Code testing practices
Algorithms & Data structures
Architectural, Enterprise and Design Patterns
Microservices architecture, SOA
Autoscaling, monitoring, alerting approaches
Security patterns, Common attacks types (OWASP)
Understanding of network interactions:
protocols
conventions (e.g. REST, RPC)
authentication and authorization flows (e.g. oAuth, JWT)
Excellent knowledge and experience in Ruby on Rails (more than 5 years)
Practical commercial experience with:
Microservices
REST API development
Web application frameworks, Testing frameworks, ORM
RDBMS (e.g MySQL, PostgreSQL, MS SQL)
Key-value storages (e.g. Redis, Memcached)
Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, Google Pub/Sub)
Version control systems (GIT)
Cloud computing platforms (Google Cloud Platform)
Integration with 3rd party solutions
Docker
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
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

You can:

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)

Desirable:

Experience in software development for more than 8 years
1+ Years experience working with React/Angular/Vue- an advantage
Certifications on:
Cloud computing platforms (AWS)
Understanding of orchestration and containerisation (e.g. Kubernetes, Docker Swarm)
Knowledge in Deployment patterns
Practical commercial experience with:
NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
Experience with Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
Provisioning tools (e.g. Terraform, Ansible)
Quality tools (e.g. SonarQube)
Experience with TDD environments (RSpec, Minitest, Capybara, Selenium)
Experience with web architecture at scale (20krpm and above)
Experience with “NoSQL” data backends (Redis, MongoDB, ElasticSearch)
Experience solving logistical problems with software

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
European management style
Continuous self-improvement