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.
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:
Send us some links to publicly available projects of yours that would be a good representation of your skills
Technical interview with remote pair-programming session: the interview part shouldn't take too much time - we are mostly interested in the 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 might take a bit longer.
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.