6 ms·
Startups: Stop Trying To Hire Ninja-Rockstar Engineers
- untog 14y agoI don't disagree with a lot that's being said here, but: At that rate, you can give a junior developer a 10% raise every year for 3 years at the end of which you'd have an experienced senior employee This won't work, because of the "short-termism" that permeates through startup culture. A great many companies have no intention of still being a startup in three years time- they want to be acquired or be absolutely huge (at which point that individual programmer means less). There is a huge (and perhaps damaging) focus on early results, and in that environment waiting for a junior to get to grips with stuff will be seen as a weakness.
- mindcrime 14y agoPersonally, I think "short-term'ism" is a disease that plagues business (if not society as a whole) in America these days. I also think taking more a of a long-term view can be an advantage on many levels, and I have often said that - when we get to a point where we can hire employees - one thing we will do at Fogbeam Labs is focus on hiring younger, less experienced folks and provide training, education, and mentorship... and build a "promote from within" culture where we aim for long-term relationships. Some sort of profit-sharing plan would seem to be a good idea as well. Then again, we have all sorts of radical "against the grain" ideas. Like, the idea that you don't need to recruit at Stanford and MIT and Harvard to get great people. We believe you can recruit at, say, NCCU[1], UNC-P[2], ECSU[3], etc., - or even WTCC[4] - and find talented people who will not demand the same salaries as the Ivy Leaguers, but will also be hungrier and have a something to prove. Time will tell... [1]: http://www.nccu.edu/ http://www.nccu.edu/ [2]: http://www.uncp.edu/ http://www.uncp.edu/ [3]: http://www.ecsu.edu/ http://www.ecsu.edu/ [4]: http://www.waketech.edu http://www.waketech.edu (disclaimer: by saying "younger" I don't mean to say that actual age will be a factor... it's just that less-experienced folks tend to be younger by nature. But we would hire a 65 year old who had just undergone some sort of career retraining program, for example, if he/she was qualified. Discriminating by age, color, religion, ethnicity, etc., isn't just illegal, it's bad business. Why narrow down the pool of quality people you're working with?)
- codeonfire 14y agoIt won't work. you won't do the promote from within step, or you will promote one guy, or you won't pay enough money with the promotions. It will take your employees 2-3 review cycles to learn what's up. At that point your (now experienced) people will leave for places that pay more for experience.
- mindcrime 14y agoOf course you're never going to be able to keep everybody. That's not the point. But I believe you can build a culture that promotes longer-term relationships and a tighter bond. Maybe we'll never get back to the days of life-long employment followed by a gold-watch and a pension, but I think we can do better than the current system that most firms seem to be using. Another thing I want us to do, is define a career path that allows technical people to continue to advance in pay and prestige, without forcing them into becoming managers. But that issue will be a long way off for us (heck, we're a pre-funding, bootstrapped startup right now... most hiring/retention issues are quite a ways off for us!)
- wccrawford 14y agoI agree. I worked for a company that gave me raises to bring me up to what I was worth for a few years. Then they stopped, and 2-3 review cycles is exactly how long it took me to catch on. By the time I left, my new job paid me 40% more than the old one. And even before I got my first standard programming job, I knew that proper raises only come from changes jobs in this industry, and I was prepared for it. I would have loved to pick a company and stay put, but companies just don't keep up their end of things. In the end, it works out, though. I get an exciting new job every few years, and the fact that everyone is doing this makes sure there are plenty of job openings all the time. I've yet to figure out what the companies get out of it, other than a temporary cost cut. (They end up spending the money to train the new guy.)
- SatvikBeri 14y agoWhat's with the cynicism here? I've worked at at least two companies with a great train & promote from within culture, and heard of several more from my friends.
- lsc 14y agoEh, but there is a reason for this "short-termism" - people want to exit before the current favorable business cycle ends. Business cycles are famously quick and famously dramatic here in silicon valley.
- untog 14y agoSure. I wasn't blaming people for responding to the stimuli around them, but that it's still unhealthy all the same.
- chime 14y agoWhat he should be saying is don't hire pompous pretend-to-know-it-alls. That is something all of us can agree with. But if you've spent the better part of the last two decades learning how to be a good developer and have applied your skills across various technologies, projects, and industries, you deserve the six-figure salary. Why? Because ten mediocre singers cannot sing as well as Aretha Franklin. Hire nice, competent, hard-working people with the requisite experience/knowledge and pay them what they deserve. If the project needs junior developers, hire junior developers. If it needs senior developers, then hire senior developers. Don't expect junior developers without any guidance to automatically turn into proficient veterans just because they've been doing it for five years. They could be doing the sub-optimal thing for a decade and not know it. Stop making lists of who/what/why not to hire and just give the promising candidates a chance to prove themselves before/during/after the interviewing process. Also realize that if you make it a company policy to not hire anyone who is "senior", you could be violating federal laws against age-discrimination, depending on how senior is defined. It's no different than saying "must be a former Boy Scout", which immediately disqualifies all females and thus is discriminatory.
- edwinnathaniel 14y ago... but Aretha Franklin only gets paid IF she performed, she doesn't have bi-weekly paycheck. Apples vs Oranges... But I agree with the rest :)
- notatoad 14y agoHave you seen the job postings here on HN? They all use that exact language - rock star or ninja or some other silly adjective. It sounds like they're specifically looking for pompous know-it-alls. I think what he says is exactly what he should be saying (and for the most part, exactly the same thing you're saying).
- deleted 14y ago[deleted]
- lsc 14y agohm. From what I've seen? senior salaries are rather higher than the article mentions, and Jr. salaries are rather lower. (in Silicon Valley) - Junior types are still having a hard time finding work at all, as far as I can tell. That said, I think that the key is "what skills do you have?" If you are (or have) someone good already, hiring on a apprentice can be a great thing. But you need someone at the company that is good at what you are doing. That could be you, and that could be an employee. But, for instance, I am not going to train up a new accountant. (or for that matter, a new webapp developer.)
- SomeCallMeTim 14y agoAre they really talking about Ninja-Rockstar engineers, or "only" developers at the 10x end of the Mythical Man Month spectrum? Because you can hire a junior engineer close to that end of the spectrum. It's just harder to know whether they are really that good without seeing a track record. From the article: >The rationale you'll typically hear is along the lines of "a great developer is 10x as productive as a mediocre one." That might be true, but it is an impractical startup hiring strategy. So...they grant that "it might be true," but recommend that, instead of hiring someone on the 10x end of the productivity spectrum, you should instead hire ten "cheaper" developers? At the bargain of $70k/year each instead of an expensive $107k per year for one of them? Oh, and don't forget to throw in the cost of a more experienced lead to manage those 10 junior programmers, because they won't manage themselves. Someone isn't really thinking about the math here. Or they like to spend their Series-A funding like it's going out of style. Don't get me wrong; there's a place for junior programmers in a start-up, after you've gotten enough 10x programmers. There are lots of programming tasks that don't need the 10x programmer and frankly are a waste of his or her time. But there are also a lot of tasks (depending on the start-up) that require a 10x programmer (or better). Past a certain level of complexity, 1x programmers will never be able to solve a problem well. Even if you had ten of them. [1] What people don't realize is that the 10x programmer isn't a rock star/ninja -- as Joel said a while agao, you're not actually hiring the top 1%. [2] The best developers all just have jobs and aren't looking most of the time. [1] http://www.joelonsoftware.com/articles/HighNotes.html http://www.joelonsoftware.com/articles/HighNotes.html [2] http://www.joelonsoftware.com/items/2005/01/27.html http://www.joelonsoftware.com/items/2005/01/27.html
- mindcrime 14y agoThe best developers all just have jobs and aren't looking most of the time. Sounds like another good reason to focus on hiring recent grads, career changers, etc., to me. You just have to figure out a way to predict - better than chance - which ones will become great developers. Whether or not that's doable is, I suppose, an open question.
- enko 14y agoI guess the question is whether startups, who are usually in intense competition and working against the clock, have the time and energy spare to lead people through that process. I wouldn't have thought so. A good place for juniors to start would be in normal web shops, not high-pressure startups. Do you think Tesla Motors grabbed a few engineering grads and shop floor assistants, chucked them in a room and hoped they'd "grow into" knowing how to make an electric car? Of course not - for a startup like that, timely and accurate execution is absolutely critical and they would have hired the best, most experienced people they could get. I don't see why software startups are any different.
- doktrin 14y agoThere are certainly some important take-aways in this article. What certainly hit home was the reference to high turnover. In my experience, attracting and retaining (perceived) top 1% developers is no small feat. It's damaging to a project when a "rockstar" developer builds out a product set in her chosen (often bleeding edge) framework / language, and then departs at the sign of another "fun" opportunity elsewhere. No one needs to sign an oath of loyalty in blood or commit to a project for life, but fickle engineers - no matter how talented - can be a net loss to a team. Insofar as the salary requirements are concerned, the numbers are a little off. Top developers in this area (DC) command north of $120k, with junior developers starting at anywhere from $50-60. Regardless, however, I tend to regard salary (within reason) as an appropriate investment. Lastly, as he mentioned - not all teams are equipped to handle & mentor junior engineers. This requires a formalized and real commitment, which unless executed properly - will result in un-productive junior hires. Like the author, I believe that mentoring and training junior staff (and interns) is a fully achievable goal, but one that requires planning and forethought.
- deleted 14y ago[deleted]
- dsolomon 14y agoPersonnel retention is easy - just demonstrate on any level that the contributions of the workforce is appreciated. Since I'm in the DC area too, with clearance, the number you're throwing around are a bit of a stretch. We've got junior developers in the high $30K range and senior in the mid $60K range.
- freyr 14y ago> We've got junior developers in the high $30K range That seems incredibly low, especially for a major metropolitan area. You must give great benefits.
- jtbigwoo 14y agoIt's not that surprising to me. My friends and I compared offers out of college and then didn't talk at all about salary for over a decade. A couple years ago, I started asking around when I was considering a job offer. I found out that we were making anywhere from 60k to 115k! We all had the same years of experience (~12 years). We all had different specialties, but that didn't really seem to matter. The guys who stuck with one job at a small-to-medium company seemed to do the worst--five percent raises don't exactly cause your salary to skyrocket. Those of us who worked at big companies did better, probably because the big companies make an effort to do salary surveys and pay competitive wages. Those of us who worked for consulting firms or changed jobs a few times did the best.
- shin_lao 14y agoTrue ninja-rockstar engineers are professionals that don't exhibit the traits described. The senior engineer described resembles more of the diva who is actually rarely that good, because he cares too much about his ego to question himself and progress.
- michaelt 14y agoDoes "ninja-rockstar engineer" sound modest to you, like someone who doesn't care about their ego?
- SomeCallMeTim 14y agoDoesn't someone who can do 10x-20x the work of an average employee deserve a bit of an ego boost from time to time? And that's if the "average" employee can do the work at all. I've pulled so many "average" developers' nether regions out of the fire when they've gotten stuck that I've lost count. I don't care what term is used, but it's nice when the term actually describes the discrepancy between my performance and most developers. Ninja-rockstar will do nicely, thank you. ;p Seriously, though, MANY high-end developers in the start-up space are probably on the 10x-20x end of the spectrum. At least at the successful start-ups. I'm sure there are exceptions for when the start-up is more about pushing data around in a mundane but novel way, and where the primary business value is NOT technically challenging. But even in those cases when the company scales it often has a problem, because the developers haven't done things optimally, and once you're already having scaling issues it's really hard to rearchitect everything to work better without messing up the existing site. YMMV.
- shin_lao 14y agoThere is a mandatory amount of self-derision to be used with that kind of term, I agree. Stars can really boost a team morale if they have the right amount of ego.
- enko 14y ago> By hiring junior engineers, and giving them the training and development they need to flourish If you don't have battle-hardened, experienced, senior programmers around, who's going to train them? Who's going to answer questions about design? Who's going to come over to their desk and teach them how to test X? Actually, I somehow think I know who the author wants to train all these juniors: > Avi is the Dean of The Flatiron School, an intensive program to learn Ruby on Rails in New York
- edwinnathaniel 14y agoBefore the discussion goes too far, do keep in mind that the author of the article runs a school/e-Learning company that teaches Web Development to its students. It is, definitely, in their best interest to have their graduates being hired by popular startups. The content of the article seems to argue with that goal in mind. Whether the content is true or not, it is yet to be proven: I have not seen a modern statistical data of every single argument in both the article and the discussion here in HN. Especially when it comes to "10x more productive engineer" since in our field, we haven't done a good job measuring anything at all except some data of failed software projects and how bad workers negatively influence the company (just like any other sector...).
- andrewjshults 14y agoAs a side note to the article, it's interesting to contrast the author's RoR school ( http://flatironschool.com/ http://flatironschool.com/ ) where the goal is to get people from zero to junior level with that of Hacker School ( https://www.hackerschool.com/ https://www.hackerschool.com/ ) that wants to take people from average to "ninja-rockstar" level (or at least a better engineer). I don't think that the goal of having more junior level engineers out there is a bad one, but in terms of what the market is currently looking for, I see the advantages of a program like Hacker School in the social proof of being one of the "ninja-rockstars." I also personally agree with having one strong senior engineering being more advantageous to an early stage startup than a handful of junior ones (but not just from the programming side of things). A good senior engineer is easily worth double the salary of a junior one if they can provide both overall technical direction as well as general team direction and mentorship. Otherwise, a team composed and lead by only junior level people can quickly feel like the inmates are running the asylum for any one you're trying to bring in (junior or senior). The examples given in the article are all of places that have a strong, established tech team. If you're early stage and don't have a strong foundation to build your tech team on top of, getting three junior engineers for the price of one good senior one might not be the deal you think it is.
- jfb 14y agoToo, the whole puerile "ninja badass" nomenclature is a social signalling device that will turn off many excellent hackers. Stop it immediately.
- sulife 14y agoThen how do you expect YC companies to write a job ad on HN???
- patio11 14y agoThe average starting salary for a senior Ruby developer has climbed to $94,000 ($107,000 in Silicon Valley). Compare that with the average salary for a junior Ruby developer, $70,000, ($80,000 in Silicone Valley). These numbers strike me as wildly below current market rates in the Valley, based on my discussions with people in it trying to hire. I'm willing to be wrong on that.
- dsolomon 14y agoHere in the DC area tech talent is cheap. You can get senior developers for around $60K.
- vbtemp 14y agoHuh? Where on earth do you get that number?
- dsolomon 14y agoOur Deltek system.
- SomeCallMeTim 14y agoSeriously? Why wouldn't they move somewhere else then? They LIKE living in DC?
- modoc 14y agoAre we really STILL talking about those terms? I don't mind those terms myself, because what I think everyone ACTUALLY means is they want a A++ player, someone who's deeply involved in the specific tech, a cut above your average senior dev cube dweller. These are the best sort of people for startups where your small size and large goals mean you can't afford any dead weight. Who cares what term you're using?
- slurgfest 14y ago'A player' is another one of those obnoxious, means-nothing words like 'ninja' and 'rockstar'. In practice it means 'my kind of guy' - and someone acculturated to the same self-promotion ideology - more than it means anything about qualifications. It's funny that EVERY company says it will be crippled unless it hires only people who are far above average. Because if developer quality is even close to normally distributed, about half of the actually employed population is below average (let alone top 1%). Big companies, of course, need people with years of deep specialization. So if you aren't deemed to be "crushing it" in the top 1% and you don't have 10 years of experience in some extreme specialization - regardless of what you can actually do - you are COMPLETELY useless to the industry and will save your time if you just start mowing lawns and waiting tables.
- modoc 14y agoOkay so what term(s) are acceptable to you? I've worked at many large F500 companies, and trust me they can and do employ a much larger group of average and below average people, including developers. There are tons of people at F500s that if I brought them into a small startup, would KILL the startup because they simply can't produce. Not sure what you actual work experience is but there are absolutely a range of skills/productivity/involvement. If you don't call them A/B/C or Ninjas or whatever, you have to call them something. Having worked with a wide range of folks, I have my preferences:)
- trebor 14y agoI'm no ninja-rockstar! I'm a cybernetic Viking berzerker, battling each and every bug and feature to the death. I might have scars from my many encounters, but I won... eventually. My software is a well honed and polished, though sometimes nicked, piece of work. Seriously guys, ninjas were criminals! They were outlaws that killed mainly via indirect confrontation, OCD-like planning, and typically poison. They deserve no praise or idolization for that. Just like I wouldn't hire a diplomat-rockstar programmer either...
- pbiggar 14y agoWhat's wrong with diplomats?
- vtry 14y agoSure, and hire a bunch of people who don't know what they are doing. Do remember that Google has hired away pretty much all the top engineers already. You won't be able to get good people for cheap prices anymore.
- deleted 14y ago[deleted]
- mattieuga 14y ago"Silicone" valley? Really?
- jakejake 14y agoI think a good team has a balance of rock stars and junior devs. I don't find it usually the case that a rock star will do 10x the work of a junior dev. In fact they will often do less work - however the work they do is easily 10x or 100x smarter and better for the company long-term. Junior devs tend to work very hard but also can cause a lot of havoc if a someone is not helping to guide them. Many times in fact the work that junior devs do winds up being a mess that the senior has to fix or re-do entirely. Junior devs can also suck up a lot of time from the senior devs, so in fact they may at times be reducing productivity. On the positive side the junior guys tend to bring a lot of enthusiasm and fresh ideas. They keep the senior guys on their toes. And they will grow into senior devs, hopefully giving you a few years of solid work when they reach that point. "rock star" status to me is somewhat based on age and experience. But in fact some rock stars are young and some mediocre devs are older. I think it has to do more with personality and motivation on the part of each individual.
- rdl 14y agoThis article seems like an excellent example of "understand the biases of the author to understand why he wrote what he did." He runs a ruby on rails cram school and some kind of non-infrastructure e-commerce site. From the first, he has an obvious incentive to talk up the market for his graduating junior developers, both to increase demand for the classes and to get them jobs when they graduate. Designer Pages doesn't look like it has any particularly unique or difficult technical challenges -- it's not Facebook scale (highly interconnected large userbase), it's not super high availability, it's not computationally intensive, etc. That's the kind of thing where a couple of senior developer+ founders plus some junior developers might be useful.