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

Headquartered in the UK, we unite 3,500+ software developers, designers, product managers and data scientists around the world building tailored digital solutions that leverage emerging technologies.

We are enabling digital transformation for some of the largest household names and platforms in the digital economy. Ciklum is the place to make your tech ideas tangible and join the global projects redefining industries.

We are looking forward to seeing you as a part of our team!

Description

On behalf of Ciklum Digital, Ciklum is looking for a Senior Ruby on Rails Developer to join our team on a full-time basis.

About Project:

Our client is expanding R&D team and we’re looking for a Senior Ruby on Rails Developer.

If you want to be a part of a great team in a VC backed company that is growing, yet still small enough for you to make an impact. If you like challenges and are excited to develop, design, learn, teach and win, this is the role for you!

As a Senior Developer, you’ll touch every aspect of the product and will help it grow. We are looking for experienced individuals with experience in building real-life applications used by demanding customers.

Our product is a B2B SaaS product, used by large business customers to make a difference in how they engage with their own customers, learn from them, and operate better in a fast-moving market. We deal with complex and fascinating data and interaction applications, and our customers and users are top-notch. Customer-obsession is in our DNA, and we need people to fit right into that.

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)
- Code testing practices
- Design Patterns
- 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:
- REST API development
- Web application frameworks, Testing frameworks, ORM
- RDBMS (e.g. MySQL, PostgreSQL)
- 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 (e.g. AWS, Google Cloud)
- Continuous Integration tools (e.g. Circle CI)
- Integration with 3rd party solutions
- 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
- 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
- Knowledge and experience in Javascript
- Architectural and Enterprise patterns
- 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, GCP, Microsoft Azure)
- Knowledge in Deployment patterns
- Practical commercial experience with:
- NoSQL (e.g. MongoDB, 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 solving logistical problems with software
- Understanding of orchestration and containerisation (e.g. Kubernetes, Docker Swarm)
- Experience with Docker

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