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 and highly-experienced engineer to take on the challenges of developing scalable APIs, beautifully designed micro/macro-services, modelling complex domain, extending current complex ecosystem and doing all that following TDD, writing a code of excellent quality and embodying the Extreme Ownership mentality (bonus points if you know Jocko Willink).
We are growing fast as 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 travelling (and software development, of course) is your passion and you highly value location-independence, BookingSync is the right place for you.
You will need to have:
It would be great if you had experience with:
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:
1. A small homework: Imagine that you don't want to or just don't have enough time to go through entire Twitter timeline every day and you are only interested in URLs to the various resources that are submitted by the people you follow (e.g., to blog posts). Implement a solution that will solve this problem and will allow to specify either since when you want to fetch tweets or between what timestamps and will deliver the result via the email. Divide the solution into two Rails applications:
1.1 Service A with UI where specify the input (i.e. timestamps but also the email address, to which the results will be delivered)
1.2 Service B will accept the input somehow from Service A and deliver the result via email. The template for the email should be customizable (e.g. using Liquid) and the Service B should be flexible enough to handle potentially other use cases with different input. In that sense, delivering URLs from Twitter would be just one of the many types of emails that such service should be capable of handling. The template for this particular use case should include the URLs themselves, date and some info indicating what it is about (especially for shortened URLs). Treat it as a real-world project and send us a link to the repo.
2. Technical interview with a 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 will take a bit longer, and it will involve some nice challenge in a Rails universe.
3. An interview with our CEO and/or COO that will be focused more on soft things, nothing technical this time.
4. 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.
Your application was submitted successfully.