Senior Ruby Developer

Apply now

Senior Ruby Developer

FULL-TIME · B2B · 100% REMOTE · 14 000 - 20 000 PLN NET on B2B  

Tired of building CRUD apps? Join us to work on a Rails app that processes data from thousands of IoT devices, does low-level binary protocol parsing and exposes a JSONAPI compliant API that a vue.js SPA and mobile apps consume.

We thought that it might be quite interesting for you to read more about the project that we are currently recruiting for. We cannot reveal the brand of our client due to NDAs, but here’s a brief description of the project.

What is the project about?

We’re building a platform that collects, processes and stores metering data from tens of thousands of devices. We collect data from various types of meters that are used for the submetering process - allocating costs to specific building tenants.

We use Ruby on Rails on the backend and Vue.js on the frontend. The tech includes Postgresql, Cassandra, Redis, MQTT, Sidekiq and Heroku. We maintain a JSONAPI-compliant API that’s used by a Vue.js SPA and iOS and Android mobile apps.

How does the project look now?

The platform is stable and currently running more than 500 gateways, each of which handles around 400 meters. Quite a lot of meter data is aggregated through the platform, and users can perform and manage installations on the frontend.

We’ve finished the first stage of the project - we’ve built a reliable processing pipeline. We’re now focusing on supporting more device models and scaling. The next big task is building a workflow engine for the whole submetering process, from installation to cost allocation.

Why is it unique?

This project is not a standard cookie-cutter Rails project:

  • The tech stack spans from low-level data parsing, through serving a JSONAPI API to building a Vue.js SPA, which provides many areas for learning and growth.

Many tasks not common in other projects:

  • We regularly work with binary data, writing parsers for protocols, sometimes reverse-engineering undocumented ones
  • We build synchronization mechanisms with other tools using their APIs.
  • We connect with and later take over the functionality of legacy systems.
  • It’s as far away from standard CRUD as you can get. Each feature is complex and needs deliberate planning and consideration of its effect on the rest of the system.
  • We work directly with the client’s CTO. He has deep domain knowledge that he shares with us and broad technical knowledge.
  • We work in a small team of senior developers, so we can learn a lot from each other.
  • We have regular brainstorming sessions at our Łódź office.

We have a solid Scrum-inspired workflow:

  • We work in weekly sprints, with the client’s CTO as a product owner.
  • There is a dedicated QA engineer on the client’s team.
  • Every commit goes through code review and CI.
  • We deploy to production multiple times a day.

What do we expect from you?

  • At least 5+ years of commercial experience.
  • Excellent knowledge of Ruby on Rails.
  • Great knowledge of the PostgreSQL database.
  • Nice to have: knowledge of one of the JavaScript frameworks, preferably Vue.js.
  • Ability and motivation to lead a team of developers.
  • Mentoring sills.

Want to get to know us first?

We understand that you might not be 100% sure at this point that working with us is the right decision. So we encourage you to learn more about us, our core values, community engagement or knowledge sharing.

Joining Ragnarson means:

  • 100% remote work,
  • independence in setting up your salary twice a year,
  • entry salary level between 14-20k net on B2B
  • open company financial records (example: income, expenses, forecast),
  • transparent communication and company documents,
  • choosing your own perks,
  • treating you as an equal partner, not an employee, we are a self-managed software house,
  • participating in every-day decisions regarding the direction of the company growth,
  • growing in the technology you like the most,
  • opportunity to develop in non-programming fields (project management, customer relations, recruitment, marketing, sales).

The recruitment process will take you through 3 steps: 30-min interview via Hangouts, 4-hour technical review and a round of culture fit interviews. Find out more about the recruitment here

How to prepare yourself for recruitment? Here you have a hint!

If you are curious about what we did so far, go through our case studies.

According to article 13 of the General Data Protection Regulation (GDPR) 2016/679 of the European Parliament and of the Council of 27 April 2016 we inform you that: The controller of your personal data is RAGNARSON spółka z ograniczoną odpowiedzialnością (equivalent of Ltd.) with its registered office in Łódź at Targowa 35 (90 – 043) Poland; KRS (Polish Company Register): 0000365781, REGON (National Business Registry Number): 100960955 and NIP (Tax Identification Number): 7272768902. We collect and process your personal data to manage the recruitment process, assess, confirm or deny a candidate's suitability for employment and decide to whom to offer a job. The legal basis for processing is your consent (Article 6 (1) letter a) of GDPR). We may share your personal data with our subcontractors and with the application service providers.If your application for employment is unsuccessful, we will hold your data on file for 6 (six) months after the end of the relevant recruitment process. If you give us consent to hold your data in order to be considered for the future recruitment process – your personal data will be stored for 12 months from the end of the relevant recruitment process. If your application for employment is successful, personal data gathered during the recruitment process will be transferred to your Human Resources file (electronic and paper based) and retained during your employment. The periods for which your data will be held will be provided to you in a new privacy notice. As a data subject, you have a number of rights. You can: access and obtain a copy of your data on request; require us to change incorrect or incomplete data; require us to delete or stop processing your data, for example where the data is no longer necessary for the purposes of processing; withdraw your consent for processing your personal data. You also have the right to lodge a complaint to the supervisory body involved in the protection of personal data, if you consider that the processing of your personal data violates the provisions of GDPR.

You are under no statutory or contractual obligation to provide data to us during the recruitment process. However, if you do not provide the information, we may not be able to process your application properly or at all. In order to receive more information regarding processing your data you can contact us: via email - [email protected], in person or in writing at the address of our headquarters;