Image Image Image Image Image Image Image Image Image

Software Engineer

We’re on a mission to get all travel businesses online. And we want to make it super-easy for them. Which makes it super-hard for us.
How hard? 147,887 lines of Ruby/Rails. 50,086 lines of AngularJS. And 106 tables in Postgres. All working in tandem, to convert a complex offline process into a few effortless clicks.

And yes, we know that “measuring programming progress by lines of code is like measuring aircraft building progress by weight”. All we’re saying is that, as a developer, you’ll be dealing with a large, complex product. With real users, bug reports, and production issues. Dirty code written today, is going to bite you in the ass, six months down the line.

As we build out our product vision we need developers who share our passion for solving real-life problems using the craft they love.

What would a typical week, in the shoes of a developer, look like:

  • Discuss the spec with the Product Manager (or Founder). Understand the problem being solved. Question why a certain approach is being taken. Bring a fresh perspective to the table. Be aware. Convince, or be convinced.
  • Look at the design mockups (or wireframes). Understand the user interactions that need to be put in place. Fill the gaps intelligently, which means we won’t be speccing out the obvious stuff (form validations, error messages, standard UI transitions, etc).
  • Visualise and architect the solution in your head — DB schema, API endpoints, test coverage. The works. Break it down into development sprints. Estimate the timelines for each sprint.
  • Get shit done. Reasonably on time.
  • Run the test-suite. Make sure you don’t break the build.
  • Raise a Pull Request on Github. Get someone to review your code.
  • Finally, push to production. And cross your fingers 🙂

Who do we think would be a good fit for this role:

  • Someone with non-trivial experience with at least one component of our technology stack (Rails, AngularJS, or Native Android). We don’t consider number of years to be a true indicator of experience; some people achieve in 6 months what others take 6 years to achieve.
  • Ability to work across the stack (Rails, AngularJS & Postgres) would be a very big advantage. However, even if you’re comfortable with any one component, and have a desire to learn, we’re golden.
  • Someone who loves to code. A weekend spent learning a new language or library would be a weekend well-spent for you.
  • Someone who loves to learn.
  • Someone who can take ownership and can operate in an environment of autonomy and freedom.
  • A penchant to lead other engineers, good communication skills, and ability to deliver, would put you in the team/module lead zone.


Apply now →

Technologies we ❤

Angular JSRedisRuby on RailsPostgreSQL Bootstrapandroid_robot_100Githaskell 

Most of our code is in Ruby on Rails, which exposes RESTful JSON APIs that the AngularJS frontend consumes. Data is stored in trusty ol’ PostgreSQL with lots of foreign-key constraints, check constraints, and what have you – we never, ever want to deal with bad data in the DB again! Redis is a caching layer for frequently used JSON APIs and might also be used as a message queue in the future (we need to decouple our, now, monolithic app). LessCSS & Bootsrap make CSS a breeze. What else? Haskell is on the way!