[BookingSync][Remote][1000 - 1500 EUR + equity] Technical support / Rails Developer

BookingSync is actively looking for a remotely-based technical support.

At BookingSync, the technical support talks directly with our customer care, project management and software development team.

We are looking for a person that has experience with Ruby on Rails and web applications support. The successful candidate has to demonstrate interest in the vacation rental business and providing outstanding support (internally and to our customers). The technical support person will investigate a large range of technical issues, work on documenting our APIs, write patches and features. Our platform connects through APIs to numerous third party services (Airbnb, HomeAway, TripAdvisor, Booking.com, Zapier and more).

BookingSync is a distributed startup at the center of a constantly evolving vacation rental industry. As a company we hold a strong commitment to charity: a share of our profits will go to charitable works with humanitarian, social and ecological aims.

You’ll need to have:

  • Experience with web development
  • Experience with Ruby On Rails
  • Ability to communicate effectively with both internal and external development teams
  • Being comfortable with UNIX commands
  • Understanding of relational databases and SQL (we’re on Postgres)
  • A strong commitment to quality
  • Excellent written and spoken English
  • Strong writing skills and experience writing and contributing to API documentation
  • Experience communicating in writing with technical and non technical audience.
  • Care for the greater good, BookingSync is not just a software company, we will give back to humanitarian, solidarity, environmental & ecological causes from 10% to 50% of our profit.

It’d be great if you had experience with:

  • System administration and security
  • Frontend development and JavaScript frameworks (ideally Ember.js)
  • Contributing to our community through code, documentation, mentoring, teaching, speaking, or organizing
  • Short terms rentals or travel industry

Here’s how to apply:

Sounds interesting? If yes, please send a short email to jobs@bookingsync.com telling us about yourself, why do you think you are the best candidate for this role and attach a résumé. 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.

Before the interview we would like you to build a project which might be somewhat similar to your everyday work at BookingSync. The project should consist of the following application:

Mini-BookingSync API

Generate a new Rails application and build REST JSON API with 2 endpoints: Rentals and Bookings with full CRUD. Rental is something that you can book for a particular period of time (like a vacation villa or a hotel) and Booking is a reservation for given Rental for a particular period of time.

The API should be authenticatable by a token (can be one global hardcoded token in the application, no need for refresh token, expiring tokens etc. this time, keep this part simple).

Rentals should have name attribute, daily_rate (integer) attribute and should have many bookings. Bookings should have start_at and end_at datetime attributes which indicate the time period of the reservation, client_email attribute, just to know for whom it is supposed to be and price attribute, which will be the price for that booking.

Price calculation for the booking should be simple: only daily_rate should be considered when calculating the price. If the rental’s daily price is equal to 100, the booking’s price for 3 days should be equal to 300, for 5 days it should be 500 etc.

All attributes for both Rentals and Bookings should be required. Make sure that:

  • the dates for bookings don’t overlap
  • the price for given period is valid when creating a booking
  • the reservation should be possible only for at least one night stay

Treat this assignment it as if you were building a real-world application. If you think some extra validations or requirements would make sense from the domain perspective, feel free to add some extra things.

Don’t forget to include a GitHub repository URL(s) in your email. Good luck and see you at the interview!