Headquarters: Remote URL: https://www.bookingsync.com
BookingSync is more than a vacation rental solution for hosts and agencies; it is a platform for hundreds of applications and developers. We need an excellent engineer to take on the challenges of developing integration with multiple APIs from our partners, beautifully designed micro/macro-services, modeling complex domain and doing all that following TDD and writing a code of excellent quality.
We are growing fast and so are our requirements for scalability and stability. We are no longer at a scale where adding X number of servers solves all the issues. Database sharding, replicating data via message queues/distributed streams, optimizing response times in APIs to the max, integration with multiple services coming from our own ecosystem and numerous third-party services, and very soon dealing with big data - those are the things you can surely expect to be challenged by.
We are also a fully-remote async/distributed company across the entire world without a physical office. If traveling is your passion and you highly value location-independence, BookingSync is the right place for you.
2200€ - 4500€ + VAT / month on B2B contract + equity (real shares, not stock options)
You will need to have:
- Strong experience with Ruby on Rails
- Proficiency in backend development in general
- Solid design and architecture skills
- Ability to demonstrate that with the right approach Rails can scale easily
- Ability to communicate effectively with both internal and external development teams
- Experience with relational databases and SQL (we're on Postgres). Experience with other databases will be a plus
- A strong commitment to quality
- Excellent written and spoken English
- Experience with remote work and/or a solid work ethic that makes it possible to thrive in a remote-only environment
- Care for the greater good, BookingSync is not just a software company, we give back to humanitarian, solidarity, environmental & ecological causes from 10% to 50% of our profit.
It would be great if you had experience with:
- Messaging solutions (RabbitMQ, Kafka, etc.)
- DDD/CQRS/ES, Clean Architecture
- Contributing to development community through code, documentation, mentoring, teaching, speaking and all other forms
- Short terms rentals or travel industry
Sounds interesting? Contact us now!
Want to increase your chances of standing out? Include your open source contributions, blog posts and other publications you wrote, links to conference talks. You could even tell us about one thing or two you created that you are particularly proud of or the most challenging features you've worked on.
The hiring process consists of four steps:
- A small homework: Imagine that you don't want to or just don't have enough time to go through entire Twitter, LinkedIn or Youtube feeds manually every day and you just want to have a quick way of getting the content under a given hashtag. Implement a Rails application where you can provide a list of hashtags in the input and as the result, a feed aggregating the content from Twitter, LinkedIn and Youtube feeds under these hashtags will be displayed (including headlines, videos, descriptions and whatever else that could be useful). Make the design flexible enough that would make it easy to add more sources in the future. Treat it as a real-world application (not just a prototype or a proof of concept) and send us a link to the repo.
- Technical interview with remote pair-programming session with CTO: the interview part shouldn't take too much time - we are mostly interested in ability to solve the actual problems and being able to figure out the best possible solution for that problem, not in knowing things can be easily googled and learned through experience, that's why the interview part will be focused mostly on open-ended questions about some non-trivial matters. The pair-programming session will take a bit longer, and it will involve some nice challenge in a Rails universe.
- An interview with our CEO and/or COO that will be focused more on soft things, nothing technical this time.
- An opportunity to have the conversation with the entire team you are going to work with. It is an excellent way for both sides to make sure we will be a perfect mutual match.