Back to job overview

Senior Ruby Developer

This job was posted on Oct 22
Tinkerbox Studios
Working from remote
Contracting

Job Description: Senior Ruby Developer

Who we are

Tinkerbox Studios can be many things to many people, but it is at heart a startup studio, where we build life-changing software products that people love. The studio model means that we are a kickass team with the opportunity to cut our teeth on different startups.

Our core activities include:

  • Design and development services (this brings in the bacon);
  • Talent pipeline (used internally, but looking to monetize); and
  • Internal startup projects (our very own moon shots).

We’ve been providing design and development services to various startups and larger companies in Singapore since 2007. On the development end, we have developed a deep capability on the Ruby on Rails stack. However, we are no stranger to JavaScript frameworks/libraries such as AngularJS, EmberJS, ReactJS, to name a few.

We’ve discovered that one of the main things that we got working with us is our focus on recruiting and training the best developers. Towards that end, we see ourselves as equal parts service provider, and school.

Lastly, we bring to the table many industry insights (and battle scars) that can and will shape our own startup journey. If you’re specifically interested in building a startup with us, let us know.

What we are looking for

You should bring to the table copious amounts of experience in designing and building large complex applications from scratch, and lead a team in doing so. We’re talking anything from understanding and practicing SOLID principles to scaling up a suite of service oriented goodness (we don’t do microservices at this scale though).

Your primary role is to lead small project teams to do amazing work. Your secondary role is to improve your fellow developers, as well as to learn from them. As a senior ruby developer, we not only expect not to have to hold your hand around things we do here, we expect to hold other people’s hands. With our focus on talent development, and we need you to push the boundaries of what our team can accomplish. As such, you are not only technically skilled, but have the empathy and aptitude for teaching others.

We believe that craft is borne of discipline, dedication and inspiration; and we are looking for someone really detail oriented yet with the ability to balance. For example, you need to know how to refactor aggressively to maintain code quality, but also when to allow for some technical debt and then deal with it later.

As an expert in ruby and web development

  • Prefers the use of pre-processors, primarily Slim & Sass, and experience poking around with the asset pipeline;
  • Experience with deploying ruby apps on PaaS (we use Heroku), or IaaS (typically Amazon);
  • Not stuffing all the code into ActiveRecord models and controllers, we make use of presenters, decorators, services, form objects where we see the benefit;
  • You take RESTful routing seriously, and know how to separate controllers, actions, etc;
  • Experience with payments processing (we use a lot of 2Checkout, Braintree, PayPal, etc);
  • Working knowledge of search indexes (like Websolr);
  • Dealing with third party APIs, and building your own APIs; and
  • Experience with ES6, or ReactJS is a plus.

Bad experiences are usually really good teachers too, so do share with us mistakes you’ve made, or ones that others make.

Where we work

We are located in the heart of Jalan Besar, with access to bus stops, and MRT stations like Bugis and Little India (Jalan Besar MRT will be opening up some time in 2017). The folks at the studio regularly goes out for cheap food at places like Jalan Berseh Food Centre, or more expensive cafe fare if you’re feeling like a treat.

The surrounding area also houses an assortment of museums like the National Museum of Singapore, and the Singapore Art Museum, and hip spots like Arab Street and Haji lane, which comes in handy when you want to get your culture on.

The studio itself is no wuss, and has its own array of perks:

  • Team members are well equipped with Macbook pros, iMacs, extra monitors, etc;
  • Loads of space, and different working environments (yes, we’ve got bean bags) so you aren’t chained to a desk;
  • Decent-sized library of design, development and startup books curated over the years;
  • It’s not Facebook or Google, but our snack bar is well stocked with snacks, juices and an assortment of coffee makers (just to be on the safe side), and our team well fed;
  • Table tennis table (not an actual one, but that’s on the way), and board games like Seven Wonders;
  • To combat the haze, we have heavy duty air filters, and air conditions are equipped with 3M filters; and of course
  • We have an Xbox 360, Playstation and a Netflix account you can use with a large-ish LED TV.

Why you want to work with us

Before you come down to the studio to check us out, see if these points resonate with you:

  • You think we have a good chance at building up the local talent ecosystem through the work here;
  • You want to work in a team where ‘management’ actually gets software development;
  • You want to work with a team that gets buzzwords such as Agile, Test Driven Development, and Continuous Integration, to work;
  • You want to build useful, meaningful products;
  • You want to develop a broader skill set, and knowledge about different industries, business models; and
  • You enjoy teaching people things that you’re skilled in.

Perhaps more importantly, we understand that not all developers want to work for a service agency, for reasons such as:

  • Code quality is an afterthought, if at all;
  • No ownership of the product; and
  • The work is boring, we don’t get to do any innovation type stuff, etc.

For us, code quality, is one of the primary concerns on each project. We take steps and measures to ensure that this is the case, so we use static code analysis and linting tools, like CodeClimate, and conduct regular code reviews (on pull requests). We take pride in the fact that our code quality is superior to some, if not most, startup/product companies. After all, we’ve been doing this for much longer than some of these teams.

It is true that we do not own the products (from the service side of our business) that we build. However, we don’t believe that a sense of ownership is exclusive to people having equity in the companies they work for. As craftspeople, we take ownership of the things we create; your code is a part of you because you spend a good chunk of time writing it, and a part of you is expressed within the code, which is either a sterling testament to your brilliance or stark reminder of, well, your non-brilliance.

Good teams create good code. Bad teams create bad code. Help us get better as a team!

Our criteria for projects that we take in is as follows:

  • Must require bespoke design and development (no brochure, or CMS-type work); and
  • Should have positive impact on society (hopefully at a larger scale).

Chances are, we fear boring work as much if not more than you do. We are like, allergic to boring work, and we hope you are like that too.

Apply for this position

jobs@tinkerbox.com.sg