The path to programming rockstardom
August 13, 2012 12:47 PM Subscribe
What distinguishes the ninja/rockstar (Ruby) programmer from the understated kind?
I went to an interview for Ruby developer position last week. In the interview I was asked: "we want to hire ninja/rockstar programmers, are you one? what makes you one?"
So here's a moment of self doubt. I'm a C#/.Net programmer, with something like 4 years of experience (I'm also a career changer). I've never worked professionally with Ruby, so sometime ago, I've decided to work on a few side projects to build somewhat of a portfolio and put the stuff on github. These are CRUD apps. These are also actual apps, meaning the power live websites (in other words I have experience from design to deploy of rails apps). They feature stuff like twitter/facebook authentication, voting on content, "liking" content, "friending", and so on. I wonder if they're not "non-trivial."
Anyway, I don't like the "rockstar" question, it makes me think they want to hire divas instead of, you know, developers and stuff. Here's my problem though: I really want(ed) that job. So, if that's what it takes, my question is: what distinguishes the ninja/rockstar (Ruby) programmer from the understated kind?
I went to an interview for Ruby developer position last week. In the interview I was asked: "we want to hire ninja/rockstar programmers, are you one? what makes you one?"
So here's a moment of self doubt. I'm a C#/.Net programmer, with something like 4 years of experience (I'm also a career changer). I've never worked professionally with Ruby, so sometime ago, I've decided to work on a few side projects to build somewhat of a portfolio and put the stuff on github. These are CRUD apps. These are also actual apps, meaning the power live websites (in other words I have experience from design to deploy of rails apps). They feature stuff like twitter/facebook authentication, voting on content, "liking" content, "friending", and so on. I wonder if they're not "non-trivial."
Anyway, I don't like the "rockstar" question, it makes me think they want to hire divas instead of, you know, developers and stuff. Here's my problem though: I really want(ed) that job. So, if that's what it takes, my question is: what distinguishes the ninja/rockstar (Ruby) programmer from the understated kind?
we want to hire ninja/rockstar programmers
This means they want young people that will work an unreasonable number of hours while putting up with being underpaid. It also helps you be a programming ninja if you don't have any distractions outside of work.
So if you want to convince them that you are one, you might want to say that you have no interests aside from programming, and that your friends and family don't understand you and avoid you.
posted by fritley at 1:01 PM on August 13, 2012 [23 favorites]
This means they want young people that will work an unreasonable number of hours while putting up with being underpaid. It also helps you be a programming ninja if you don't have any distractions outside of work.
So if you want to convince them that you are one, you might want to say that you have no interests aside from programming, and that your friends and family don't understand you and avoid you.
posted by fritley at 1:01 PM on August 13, 2012 [23 favorites]
I'm not a programmer, so forgive me if I miss a technical nuance of the term "ninja/rockstar," but it seems likely that this phrase was thrown out simply to imply that want applicants with awesome skills, who derive great pleasure from their unusual mastery of the medium.
posted by itstheclamsname at 1:02 PM on August 13, 2012 [1 favorite]
posted by itstheclamsname at 1:02 PM on August 13, 2012 [1 favorite]
In the circles I travel, the phrase "ninja/rockstar" is viewed with derision. It's the kind of clueless pablum a non-technical person would spew. If I was asked that question I'd have a very hard time not laughing in the interviewer's face then walking out.
I might also answer that as I don't stab people in the back or go on long drug binges, no, I'm not a ninja/rockstar.
posted by chairface at 1:06 PM on August 13, 2012 [11 favorites]
I might also answer that as I don't stab people in the back or go on long drug binges, no, I'm not a ninja/rockstar.
posted by chairface at 1:06 PM on August 13, 2012 [11 favorites]
I think it's a complete bullshit term and agree with fritley more than a little bit. But since you want the job: I'd say they are looking for someone who programs vigorously compared to someone who plays it safe or isn't creative. They probably want to hear stuff about how much you love to craft a perfect design, you are always evaluating new technologies, there is nothing more thrilling than shipping, maybe a story about some huge performance improvement you made in the past.
posted by scose at 1:11 PM on August 13, 2012 [1 favorite]
posted by scose at 1:11 PM on August 13, 2012 [1 favorite]
Ninja/rockstar is... kinda weird, yeah. But if you take the kindest interpretation and assume they meant "we want really good programmers, are you really good?" then the programmer competency matrix should clear up your question.
posted by anaelith at 1:15 PM on August 13, 2012 [7 favorites]
posted by anaelith at 1:15 PM on August 13, 2012 [7 favorites]
It's a marketing term used by human resources and managers who don't know better.
I would guess, from their perspective, you are someone who lives and breathes programming and has no other outlets in life. You enter, do well, and win online coding competitions. You do at home projects for fun, hacking away at your computer every night and every weekend. You are a Ruby expert, knowledgeable about all the idiosyncrasies of the language.
This is all good and fine from a business-use perspective, but finding developers like these is not the easiest thing, especially in this market.
Anyhow, it's a bullshit question worthy of a bullshit response. I've never been asked this question on an interview. However, if I were asked this on an interview, I would respond with a similarly bullshit answer. I would also be wary as this probably means that the manager is nowhere close to a 'ninja/rockstar' manager. If asked by an engineer, I think I would involuntarily laugh.
In the end, if their goal is to find someone great technically, it will come out one way or another when they interview you about your technical skills, review code samples, or give a coding exercise.
posted by seppyk at 1:15 PM on August 13, 2012 [1 favorite]
I would guess, from their perspective, you are someone who lives and breathes programming and has no other outlets in life. You enter, do well, and win online coding competitions. You do at home projects for fun, hacking away at your computer every night and every weekend. You are a Ruby expert, knowledgeable about all the idiosyncrasies of the language.
This is all good and fine from a business-use perspective, but finding developers like these is not the easiest thing, especially in this market.
Anyhow, it's a bullshit question worthy of a bullshit response. I've never been asked this question on an interview. However, if I were asked this on an interview, I would respond with a similarly bullshit answer. I would also be wary as this probably means that the manager is nowhere close to a 'ninja/rockstar' manager. If asked by an engineer, I think I would involuntarily laugh.
In the end, if their goal is to find someone great technically, it will come out one way or another when they interview you about your technical skills, review code samples, or give a coding exercise.
posted by seppyk at 1:15 PM on August 13, 2012 [1 favorite]
It reminds me of the question I was asked once:
Interviewer: How many lines of code can you write in a day?
Me: 10,000
Interviewer: [Looks at me like I am a moron]
Me: Do you want them to compile????
Interviewer: You have the job.
Me: No Thanks.
I am with fritley I would have walked out after that question
posted by mrgroweler at 1:15 PM on August 13, 2012 [13 favorites]
Interviewer: How many lines of code can you write in a day?
Me: 10,000
Interviewer: [Looks at me like I am a moron]
Me: Do you want them to compile????
Interviewer: You have the job.
Me: No Thanks.
I am with fritley I would have walked out after that question
posted by mrgroweler at 1:15 PM on August 13, 2012 [13 favorites]
I know little about Ruby, but what's unique about that language, that someone who has put in the hours would know about? Alternatively, what apps have hypothetical-you written in Ruby that no one else has done or which was thought to be complex and fragile, which you've made easy or popular? Have you written articles on Ruby? Books? Do you give talks at conferences? Have you contributed "gems" or core components? Do you have a Github or Google Code site where you have code that someone can look at? Why are you enthused about Ruby as opposed to Perl or Python? Etc. If I wasn't in HR, but looking for technical competencies, I might ask those sorts of questions to evaluate "ninja/rockstar" status.
posted by Blazecock Pileon at 1:28 PM on August 13, 2012
posted by Blazecock Pileon at 1:28 PM on August 13, 2012
The "are you a rockstar and why" interview question is the new "tell me why we should hire you." Googling that question will give you some examples of how to answer it.
I've worked with a few rockstar coders: they pick up and integrate new technologies quickly, know their stack inside and out, get things done, and are always happy to pair with you to help you understand something that they know very well. They don't consider themselves rockstars, it's the people around them who determine that.
posted by homodachi at 1:30 PM on August 13, 2012 [3 favorites]
I've worked with a few rockstar coders: they pick up and integrate new technologies quickly, know their stack inside and out, get things done, and are always happy to pair with you to help you understand something that they know very well. They don't consider themselves rockstars, it's the people around them who determine that.
posted by homodachi at 1:30 PM on August 13, 2012 [3 favorites]
Sorry my anecdote aside: I also agree that this is the same kind of question as "Why should we hire you?" I wouldn't like the question myself but the right way to answer it is to answer it as though that is what they asked.
Some advice for "Becoming a ninja/rockstar" as homodachi points out don't every be the cliche rockstar but deep knowledge and real understanding is key. Patience with problems and determined problem solving also helps. The ability to pick up new technologies "without fear". AND personally admitting when help/teamwork is needed.
posted by mrgroweler at 1:37 PM on August 13, 2012 [1 favorite]
Some advice for "Becoming a ninja/rockstar" as homodachi points out don't every be the cliche rockstar but deep knowledge and real understanding is key. Patience with problems and determined problem solving also helps. The ability to pick up new technologies "without fear". AND personally admitting when help/teamwork is needed.
posted by mrgroweler at 1:37 PM on August 13, 2012 [1 favorite]
This search might be helpful to you: site:news.ycombinator.com ninja/rockstar. Most everyone seems to think it's ridiculous, but there's as much discussion of what it means as you might want. Personally I think this comes out of the whole conversation about engineer productivity -- how (research suggests) some engineers are ten times as productive as others. For example, Paul Graham:
[Y]ou don't have to pay great hackers anything like what they're worth. A great programmer might be ten or a hundred times as productive as an ordinary one, but he'll consider himself lucky to get paid three times as much. As I'll explain later, this is partly because great hackers don't know how good they are. But it's also because money is not the main thing they want.
I think when that idea got into the zeitgeist in startup land, everyone wanted to claim that their tiny company could take on the world because it was entirely 10x or 100x programmers working in a fantasy land of productivity, for love rather than money. It's a fun idea. But I'm probably not one of those programmers, and you're probably not, and most of the people at most startups probably aren't either. So ultimately the question is how to manage the fantasies of your interviewer.
If I got this question, having had a chance to think about it, I think I would (1) giggle in disbelief (but, you know, in a manly way); (2) say "actually I tend to think of myself more as a fairy princess"; and then (3) explain what I think makes me a good coder, without the swagger. YMMV.
posted by jhc at 1:46 PM on August 13, 2012 [3 favorites]
[Y]ou don't have to pay great hackers anything like what they're worth. A great programmer might be ten or a hundred times as productive as an ordinary one, but he'll consider himself lucky to get paid three times as much. As I'll explain later, this is partly because great hackers don't know how good they are. But it's also because money is not the main thing they want.
I think when that idea got into the zeitgeist in startup land, everyone wanted to claim that their tiny company could take on the world because it was entirely 10x or 100x programmers working in a fantasy land of productivity, for love rather than money. It's a fun idea. But I'm probably not one of those programmers, and you're probably not, and most of the people at most startups probably aren't either. So ultimately the question is how to manage the fantasies of your interviewer.
If I got this question, having had a chance to think about it, I think I would (1) giggle in disbelief (but, you know, in a manly way); (2) say "actually I tend to think of myself more as a fairy princess"; and then (3) explain what I think makes me a good coder, without the swagger. YMMV.
posted by jhc at 1:46 PM on August 13, 2012 [3 favorites]
Personally if I were interviewing for a programming position and were asked if I were a "ninja/rockstar" programmer I'd answer what I've answered before: "No. I care about software, not about image."
Here's the thing: the best programmers out there aren't described as "rockstar" programmers. They're the dudes who nobody has to use such silly terms to describe, because they write dependable, solid code that everybody uses. Do you think jwz, Linus Torvalds, John Carmack, or Michael Abrash ever described themselves as a "ninja" programmer? Somehow I doubt it. That would sound ridiculous.
posted by -1 at 5:43 PM on August 13, 2012 [1 favorite]
Here's the thing: the best programmers out there aren't described as "rockstar" programmers. They're the dudes who nobody has to use such silly terms to describe, because they write dependable, solid code that everybody uses. Do you think jwz, Linus Torvalds, John Carmack, or Michael Abrash ever described themselves as a "ninja" programmer? Somehow I doubt it. That would sound ridiculous.
posted by -1 at 5:43 PM on August 13, 2012 [1 favorite]
Gah!
You got asked the question, and though it's a bit of a red flag, seppyk is right - This is probably the marketing or HR departments being rubbish.
It does mean however, that you may be surrounded by programmers who think that they're ninja rockstars. That brings with it a slew of bad behaviour that seems currently embedded in the Rails community. (Sexism and Boorishness)
What distinguishes Ruby programmers from other kinds is the following:
- You'll need a github repo containing examples of your ruby code and open source contributions.
- A knowledge and love of RSpec and Cucumber.
- Strong (but correct) opinions on the latest things to happen to Rails. What's your opinion on pjax, on coffeescript, on assets? What about @dhh? What are you looking forward to in Rails 4?
- Do some Ruby Katas. Or at least say that you like to do Ruby Katas.
- say the word "idiomatic" at least once, and get yourself (and show you have) a passing knowledge of Ruby metaprogramming. It doesn't matter how dangerous it is, you can't be a ninja without going meta.
- Make sure you've pair programmed at least once.
I'd argue that by "rockstar ninja", they're looking for the above.
Spend a few hours watching RailsConf conferences on youtube, and bring yourself up to date with the latest gems etc by watching the Ryan Bates RailsCasts. Get yourself over to some kind of Ruby meetup.
Despite previously mentioned bad behaviour, there's a lot of love in the Ruby community. Remember that Matz is nice so we are nice.
Hope all that make sense.
posted by zoo at 1:16 AM on August 14, 2012 [3 favorites]
You got asked the question, and though it's a bit of a red flag, seppyk is right - This is probably the marketing or HR departments being rubbish.
It does mean however, that you may be surrounded by programmers who think that they're ninja rockstars. That brings with it a slew of bad behaviour that seems currently embedded in the Rails community. (Sexism and Boorishness)
What distinguishes Ruby programmers from other kinds is the following:
- You'll need a github repo containing examples of your ruby code and open source contributions.
- A knowledge and love of RSpec and Cucumber.
- Strong (but correct) opinions on the latest things to happen to Rails. What's your opinion on pjax, on coffeescript, on assets? What about @dhh? What are you looking forward to in Rails 4?
- Do some Ruby Katas. Or at least say that you like to do Ruby Katas.
- say the word "idiomatic" at least once, and get yourself (and show you have) a passing knowledge of Ruby metaprogramming. It doesn't matter how dangerous it is, you can't be a ninja without going meta.
- Make sure you've pair programmed at least once.
I'd argue that by "rockstar ninja", they're looking for the above.
Spend a few hours watching RailsConf conferences on youtube, and bring yourself up to date with the latest gems etc by watching the Ryan Bates RailsCasts. Get yourself over to some kind of Ruby meetup.
Despite previously mentioned bad behaviour, there's a lot of love in the Ruby community. Remember that Matz is nice so we are nice.
Hope all that make sense.
posted by zoo at 1:16 AM on August 14, 2012 [3 favorites]
I'm going to also agree with fritley on this one. It is a question aimed at younger developers who are willing to work long hours with unreasonable deadlines and who do not care as much about the money.
I'd never work for a company like that. I doubt anyone who made it through the interview would be enjoyable to work with and I would constantly worry about the quality of the work being done.
Move on, good / consistent developers are difficult to find and are in high demand. You'll definitely find something else.
posted by purephase at 5:06 AM on August 14, 2012 [1 favorite]
I'd never work for a company like that. I doubt anyone who made it through the interview would be enjoyable to work with and I would constantly worry about the quality of the work being done.
Move on, good / consistent developers are difficult to find and are in high demand. You'll definitely find something else.
posted by purephase at 5:06 AM on August 14, 2012 [1 favorite]
Yeah, the only good way to respond is, "I'm reliable and I don't stab people in the back, so no, I'm not a Rockstar Ninja. I am a good programmer, though, so let's talk about good programming."
Fritley's right - it's a codeword indicating "toxic work environment."
posted by Slap*Happy at 6:15 AM on August 14, 2012 [2 favorites]
Fritley's right - it's a codeword indicating "toxic work environment."
posted by Slap*Happy at 6:15 AM on August 14, 2012 [2 favorites]
Same as every developer, IMHO: their output quality is measured by how much of other peoples time it takes to have the developers work delivered.
posted by Cosine at 10:35 AM on August 14, 2012
posted by Cosine at 10:35 AM on August 14, 2012
« Older My Trig Teachers Name Was Mr. Angle But That... | shrink it, shrink it, shrink it like a polaroid... Newer »
This thread is closed to new comments.
In one sense, the answer is always, "I'm better than the other 9 schlubs you brought in here." - cocky, confident, etc.
OTOH, do you want to work someplace with that attitude ?
(This all to say, I went back for a second interview to meet the head guy because he wanted to, quote, "see if I had the eye of the tiger" unquote)
posted by k5.user at 12:58 PM on August 13, 2012 [4 favorites]