Position: Ruby on Rails developer for Cobot
Company: Daxx
Experience required: 1y
English level: upper

Cobot is the leading management software for coworking spaces, office hubs, and flexible workspaces worldwide.

On a typical day, you’ll fix bugs, develop and run scripts for ad-hoc and bulk tasks, and build tools to automate support tasks. You’ll help maintain and extend the backend of Cobot and its ecosystem of add-ons. You will be able to make a direct impact on the quality of our product and the happiness of our customers.

You’ll get to work with and explore a complex, mature code base that comprises multiple Ruby on Rails apps serving various REST APIs as well as HTML. Our stack includes a wide array of technologies like Ruby on Rails, RSpec, CouchDB, Postgres, Docker, Redis, Heroku, AWS, WebPack, Open API etc.

The programming challenges in Cobot are manifold, interesting, and rarely repetitive.
We are looking for a candidate who is curious to learn, eager to bring new knowledge and ideas onto our team and loves to automate repetitive tasks that improve our team’s productivity and make our customers’ lives easier.

**Unique Challenges:**
– Help introduce event sourcing to business processes that need to account for contractual changes over time;
– Leverage automation on every level of our work to be faster, have fewer bugs, find them earlier, and react to them faster;
 – Work closely with the support team, the frontend team, and the communications team when you ship fixes and features—every change has an impact;
 – Draw upon more than 15 years of practical software development knowledge when you submit your code for review or sit down for a pairing session;
 – Leverage the flexibility of a document-oriented database to help adapt to changing business requirements (alongside other databases) and contribute to gain more benefits from using multiple database systems;
 – Work with dozen of external and internal APIs with queues, throttling, and caching to integrate with Cloud RADIUS, door locks, and other services used by our coworking customers;
 – Сontribute to our payment system that reliably processes >5 million EUR of payments every month at minimum cost for our customers by directly talking to processors like Stripe or Authorize instead of going through third-party services;
 – Help orchestrate and deploy an application that spans multiple AWS Services as well as Heroku;
 – Benefit from and help to maintain a test suite consisting of thousands of tests on multiple levels; keep it fast and meaningful by making sure it runs smooth locally when we do test-driven development as well as on the CI System;
 – Keep a code base that has existed for more than 10 years (and has successfully grown from Ruby 1.8 with Rails 2 to Ruby 2.6 with Rails 6) up-to-date with the best-suited libraries and gems;
 – Help manage our Docker-based test, development, and deployment workflows.

**What you will be doing**
 – Write code with a test-first approach that will be peer-reviewed and directly deployed to our product if it passes the CI checks;
 – Analyze bug reports to track down and fix them;
 – Write and run custom scripts, for example, to analyze or migrate data;
 – Build tools to automate support tasks such as data imports or migrations;
 – Occasionally communicate with customers directly to solve their technical issues;
 – Work across teams with support, communications, and design specialists to achieve company-wide goals;
 – Spec, write, test, and deploy code for new features, including API endpoints, HTML workflows, integrations with other systems;
 – Work on and monitor our AWS ECS/Docker-based infrastructure;
 – Review team members’ code to ensure high quality and continuous learning;
Take pride in your work, enjoy collaborating with your coworkers, and go home on time.

**What you need to bring**
– 2+ years paid experience in a backend developer role using Ruby;
– Comfort writing and reading Ruby;
– Strong autonomy and ability to self-educate;
– Ability to recognize and apply Object-Oriented Programming Patterns;
– Ability to find a balance between maintainability, security, performance, and flexibility;
– Break up and abstract business requirements into program functions;
– Ability to combine error logs, code documentation, automatic test, and logic reasoning to narrow down error causes;
– Experience with Postgres or other relational database systems;
– Experience building and maintaining Rails applications;
– Routine in a Git workflow, including pull requests and code reviews;
– Automated testing (e.g. unit/acceptance testing);
– Experience with building and consuming APIs;
– Ability to communicate effectively in English (our team language).