Be the nail that sticks out - how to get hired by an interesting company

When I've posted about recruitment in the past and how ThoughtWorks strives to ensure that truly passionate and competent people are hired, at least one comment says "But do we really need that level of competence in plenty?" or something similar. It's an interesting question, but its obvious by observing hiring practices in India's vast outsourcing industry that most people don't think so. The question is, what does this mean for the developer who cares about his code?

Traditional career paths treat writing code as a menial task (that damn 'software is a commodity' philosophy). To get anywhere, you have to make team lead in 2 years, architect/project manager in 7 and then you start scaling the heights of upper-management. You need, essentially, to go from being a hacker to being a suit. This means that at most companies, it's people who have 0-4 years of experience who actually write code. And most of the time they have little say in the design or other decision making - a highly frustrating position to be in.

So the obvious step for someone who is an alpha geek in the wrong job is to find another, more suitable one. And the truth is, there aren't that many programming jobs out there which would suit. Worse, these jobs are distributed across several companies ranging from Google down to small start-ups in stealth mode. One ray of light is that the personnel departments (I dislike the phrase 'Human Resource', I mean, come on...) of these companies are as desperate to hire you as you are to work for them. In an industry flooded with 9-to-5 developers for whom writing code is 'just a job', separating the wheat from the chaff can be very difficult indeed.

Here is some advice to help get yourself noticed by such companies. Interestingly, they will work as a filter to weed out employers like the one you're trying to get away from. It's just two words - 'stand out'.
  1. Be opinionated. You can't write code, care about it, and not have opinions. In your current organisation you may get hammered for it, but hey, that's why you want to quit in the first place, right?
  2. State these opinions somewhere for the record. A blog, perhaps. It shows the evolution of your opinions over time and gives you a talking point during an interview. Please don't blindly copy someone else's. Of course, if I needed to tell you that, then I'm targeting the wrong audience with this post :-). I'm assuming you'd be too proud to do that anyways.
  3. You don't need to make your resume conform to the industry standard. For gods sakes, some of the things I see on resumes under the 'Objectives' section are plain silly. I'm pretty sure that the people who wrote them thought they were silly too, but were forced to put them in there because everyone knows it's expected in a resume. If a company won't hire you because your resume doesn't have an objective along the lines of 'To strive for the betterment of the organisation and for personal growth to achieve success', then you probably don't want to work there, right?
  4. Don't make assumptions about career paths. Most organisations where alpha geeks are respected also have flexible roles.
  5. Say which programming languages you like in your resume. Also say why. Like I said, if you think Java is an ugly language and someone won't hire you because of that (despite the fact that you've done n projects in java, know it well and thus have a sound basis for your judgement), then you probably don't want to work there, right?
  6. Try to publish some code on your blog or on Google code or something. Link to it in your blog and your resume. Put your code where your mouth is. If you are what you claim to be in you resume, then prove it in code. My initial impression of someone goes up substantially if they've linked to their code in their resumes.

If you have any additional suggestions which I can add to this list, please let me know and I'll drop them in.

Update 2007-07-01: As promised, here are more suggestions distilled from the comments on this post. Do keep them coming.
  1. Sunil: Some people I've come across have half-baked opinions, that they throw around to impress. I'm sure they'll be shot down during interviews. Know your stuff before you go around pronouncing opinions.
  2. Amy Isikoff Newell: Be a woman.
  3. Amy Isikoff Newell: Be honest. If you took time off for something important (like having kids), say so in your resume instead of trying to hide the 'gap', as they call it.
  4. Neil Bartlett: Look for opportunities to speak at conferences. Start small, for example with you local User Group, work up from there, and in a little while you could be presenting at JavaOne.
  5. Sidu: List your programming experience as far back as it goes. I have more years of BASIC than C++ and more of C++ than Java/C#/Ruby (and this is true for several of my classmates from school). People who have done programming in school usually tend to choose it as career because they've tried it for a while and decided they like it, not because it offers good job prospects (something which happens a lot in India).

You may also want to read: What developers look for when they consider a job offer

16 comments:

Sandy said...

Would you mind if I refer to your blog from mine ?

Regards,
Sandeep

Unknown said...

Of course not. :) Feel free to link as much as you want.

Anonymous said...

Initially as a fresh graduate, I didn't understand why so-called-alpha-geeks were so opinionated. All I heard was this language is not this-or-that.

After spending a few months working, I've started to feel the same about some of the tools I use at work, and I find myself using the most "choice" words to describe my predicament.

But some people I've come across have half-baked opinions, that they throw around to impress. I'm sure they'll be shot down during interviews. So as general advice to readers of this blog, know your stuff before you go around pronouncing opinions.

koundinya said...

I would like to have talk to you in the backdrop of this post, I am very much inspired by the post.

Anonymous said...

One of the best ways I've found to be the nail that sticks out is to be a woman. Also, I admit straight up that I took a couple years off from coding entirely to have a couple of kids, instead of trying to hide the 'gap', as they call it, in my resume. Also, my husband and I, both in software, like to pitch ourselves as a team on a single, joint resume, which is also a way to stand out.

What you say about coders getting promoted too quickly and not getting to code rings really true for me. Sometimes you don't even have to get promoted to suddenly find out you don't get to code anymore -- when people discover you are good at something else too (usually requirements analysis and specification and documentation writing) you can easily get shunted to some alternate track. I like all the 'softer' aspects of software development too (clients, requirements, training, user interface, etc.) but I don't want a job where I don't get to code because I'm the only person who can do the other stuff.

Gentle reminder re: your "thoughtworks is hiring" sidebar: Not all developers are guys. Possibly an Indian english vs. U.S. English misunderstanding(?), but something more gender-neutral would be more attractive to those (yes, admittedly few) women who stumble across your site and might be inclined to consider working for ThoughtWorks.

Cheers.

willCode4Beer said...

Fantastic post.

You bring up one of the fundamental problems in the industry. The majority of the people writing code have very little experience because, the best coders get promoted out of it. The result is, its insanely hard to find good developers.

Of course, your main topic about making yourself stand out really strikes home.

Unknown said...

@Amy: Good point, I've changed that. Thanks!

@willcode4beer: Thank you! This is what makes writing until four in the morning worthwhile.

koundinya said...

Hi sidu, this is my contact, rameshr@gmail.com, do drop me mail, sorry for not mentioning that in my earlier post.

I guess u are still in office, if yes, i am online on yahoo, ramesh_koundinya@yahoo.com

Thanks for enlightening mail.

Neil Bartlett said...

I like Amy's suggestion for how to stick out. Unfortunately most of us are stuck with the gender we were given!

Another good way to get noticed is to look for opportunities to speak at conferences. Start small, for example with you local User Group, work up from there, and in a little while you could be presenting at JavaOne.

Suresh JV said...

You say "Publish the code" Huh!, how many of them are worthy of publishing? I've been reading codes for so many years, I feel sorry many a times. {I don't write code BTW, but I know what to expect} If they ever publish code, most of it would be if-else and nothing more. :)

Unknown said...

Good to see a post voicing the concern of most developers. I get frustrated many times to see that many people and companies see you as a alien creature if you say you have some 4-5 yrs of exp and still want to do coding.

Aroj said...

Well, I can identify very much with this post!

Fortunately for me, when I decided to quit to become a developer again ( i too had become a team lead in 2yrs...), I found the thoughtworks job post on joel, applied for it and got thru! :-)

And I really glad to be here now!
No more time away from code!

Anonymous said...

Hi Sidu.

I'd like to get in touch over email (and I apparently haven't been able to successfully guess your email address yet :-).

Could you contact me at arsalan_zaidi@hotmail.com

Thanks!

Nirav Thaker said...

Nice Post Sidu,

People who have done programming in school usually tend to choose it as career because they've tried it for a while and decided they like it, not because it offers good job prospects (something which happens a lot in India).

Man, I've seen hordes jumping in IT, not because they like it, but because they know It would pay them extravagantly without having to do extraordinary work. That's more common in India, do that job because it pays well!

IMO, Someone liking (even casually) what they do is much more better for industry than they like it for good job prospects, what say?

Anonymous said...

Nice post with useful pointers. I agree with "be opinionated" part. If you are opinionated, you are at least "trying to" make good use of your brain cells. I am glad your employer reads resumes and objectives and not just run them through some automated tool. How about a resume in a .Net dll that when loaded onto NUnit gui highlights the candidate's skills/interests?

soody said...

awesome pot sidu!!!

Really amazing... I have applied for thoughtworks India and have submitted my ans for code review. Really think me replyin to this post might give all the wrong signals about the code review but cudn resist the temptation of replyin back to this post of urs... M workin with TCS for last 1 year and wen i read this blog i was so much able to relate myself with this...

"So the obvious step for someone who is an alpha geek in the wrong job is to find another, more suitable one. And the truth is, there aren't that many programming jobs out there which would suit. " .... so so true.... u dream that u want to be this brialliant programmer since the time u were introduced to BASIC ... u work hard for it/... learn every prog language u are introduced to by urself and finally end with a company like TCS... ( swear on GOD all these TCS, SATYAM, INFY) are the same.. they don want good programmers .. they want ppl who can talk to their clients in decent eng can copy paste some code from google and thatz it.. I srsly don know why we keep sayin India ia s/w giant.. MAn the campanies that are being potrayed as IT flag bearers are not IT companies they are @nd grade call centres... Ne ways.. srsly truy impressed with ur scrap.. Still the hope of main it big in the industry is there....

"Human Resource of these companies are as desperate to hire you as you are to work for them. " .. I hope this turns out to be true ....

Looking forward to meet u .. in case I get thru the next round :)


Once again amazing post... Has filled me wid optimism...