Remote Senior Ruby Developer
SELF-SET SALARY · B2B · 100% REMOTE
- Łódź, Remotely
- 14 000 - 20 000 PLN net / month
- At least 5+ years of commercial experience,
- Excellent knowledge of Ruby on Rails,
- Great knowledge of the PostgreSQL database
- Good command of English and Polish language,
- Ability and motivation to lead a team of developers,
- Mentoring sills,
- Problem-solving ability,
- Ruby on Rails
- Big Data
Project you can join
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.
Work time division
How we code?
- Version control: Git
- Style guide
- Code review
- Pair programming
- Static code analysis
- Code metrics
- Knowledge database
How we test?
- Unit tests
- Integration tests
- System tests
- Performance tests
- Manual testing
- Test automation
How we manage our projects?
- Methodology: Scrum
- Who makes architectural decisions? CTO
- Who makes technology stack decisions? CTO
- Concurrent projects per team member?: 0
- Project management software: Jira, Trello, Pivotal Tracker
- Team line-up:
- Developers: 6
- PMs: 0
- QAs: 1
- Designers: 1
- Additional monitor
- Personal container
- Freedom to pick your tools
- Tech supervisor
- Open space
- Separate rooms
- Dress code
- Flexible working hours
- Remote possible: 100%
- Business trips: Some
- Paid vacation: Yes
- Cold beverages
- Hot beverages
- Car parking
- Bicycle parking
- Chill room
- Playroom for children
- Integration events