I’ve been working on Ruby on Rails for over 3 and half years now and I’ve been interviewed by many companies both big and small. There have been occasions where I’ve come out of interviews feeling encouraged and motivated despite not getting hired and times when I’ve felt like giving up, wanting to keep programming as a hobby and move on to something completely different (but with a new job offer ). However, its evident that some companies have a knack of hiring people who are always motivated and in love with what they do and while others are okay having people just write some code and go home as long as they don’t complain.
There have been many articles on hiring Rails programmers or any kind of programmer and this post may be just one more to that list but these are some the things I have noticed over the years.
To set the backdrop, I work in Mumbai, India and my average work day generally involves working with my teammates who write code (and a few who don’t), talking to clients and travelling. A lot of the Rails shops in India are small to midsize companies (but there has been a sudden surge in Rails adoption in bigger organization too) where high attrition rates aren’t taken very seriously. Companies where the tenure of an average employee is about 7 months and I attribute this to company culture.
Its important to be realistic about what your offering a candidate and whether you would be able to live up to your commitments. For an employee, an honest, encouraging and forthcoming employer immediately generates a sense of belonging, a desire to take ownership, and a willingness to strive towards doing their best. The important consideration here is to know if your really making an effort to do whats within your powers to demand the best from your employee. Fat paychecks are great to grab attention but the its seldom enough to keep people going. Work towards building a nurturing culture it automatically attracts talent. Simon Sinek’s TED talk describes this beautifully where he explains, “People don’t buy what you do; they buy why you do it.”
I worked with a friend (who is now an entrepreneur) who, after work would encourage me to work with him to build random stuff . We never really managed to build something awesome but it taught us a lot about staying motivated. We’d figure out something to be excited about and would come up with ways to use it somewhere in our project. which bring me to side projects.
Impatient/Early Adopters/Side Projects
Its easy to find people who are impatient to try out new things just look at their github account. You’ll find a lot of projects without documentation or tests built purely to experiment on technologies they can’t force their clients to try. They are passionate people who are willing to try out stuff before its mainstream. Passionate programmers are what everyone’s after. Hire them!
I feel humility is hugely underrated at software companies. Its important to realize that software engineering is a team sport and its important that the arrogance of one rockstar programmer doesn’t bring the whole house down. Rockstar programmers are great to have but only if he can help your team to work better. I’ve been interviewed by “Rockstar programmers” whose sole aim was to point out things I sucked at (which was also useful in a way).
Its not always possible for several reasons but try to have your candidates work for you for a week with a fair agreement on a small module so that both of you have an idea of what its like to work together. Nothing works better than sitting down and writing code for actual stories.
Maybe for sales and marketing. You’ll know when you see their github accounts.
These are my 2 cents on how to hire developers.