58 ms·
Developer hiring and the market for lemons
- anindha 10y agoBy Joel's logic no good developers left Microsoft and decline of Microsoft could be attributed to bad developers. Neither of those is true. Good developers leave companies but they apply selectively to companies and find jobs quickly.
- jbapple 10y agoIf Dan is correct that companies often do not keep their best developers happy, what might account for Joel believing the opposite?
- spiralpolitik 10y agoWhile the developer might not be happy per say, the amount of crap that you now have to go through in the interviewing process makes staying the least worse option on the table.
- stillworks 10y agoCouldn't agree more... Interviewing of late is filled with randomness. One place I interviewed, the Recruiter told me to expect coding exercise. The call starts, and I am handed out a system design problem ! Never expected a positive outcome since I hadn't prepared. Randomly, I got selected for the next round. This time around I prepared for anything come what may. The call starts, I get asked a coding question. I solve it in about 20 minutes, and the remaining 25 minutes we have a good discussion about the company dev practices. Randomly, this time I am not selected ! Another company I interviewed with last year but didn't make it but kept in touch with the recruiter for re-applying after a 12 month cool-off period. Come the time to re-apply, the good recruiter left and now the current ones keep politely refusing my application. Another interesting one wanted me to record a video of mine explaining what I know about the company and why I would be a good fit and send that video to them ! (this one is a mixed bag, I kinda liked the idea but didn't bother eventually) Another one had me fly out internationaly-all-expenses-paid after three Skype rounds,on the day of flying back I left a courtesy email to the recruiter thanking for the opportunity to interview and asking about possible turn-around time for a feedback. Haven't heard back ! Overall I have begun to get the feeling that at I particularly am a Lemon (or atleast the Potato no one is buying). Was that a long comment ? Or maybe a rant.
- AtheistOfFail 10y agoThe biggest issue with this is that some developers tend to get 2-3 offers in a small period. It's totally normal for a developer to start and leave within 3-4 days because a better offer came along so these companies want enough time to see if their new hires are going to duck out before telling you you're not a match (just in case you are a match but the guy who just got hired in your place quit because the new place offer 5k more)
- ryandrake 10y agoNo, you're not necessarily a lemon. It is true that the hiring process is a complete random mess. Companies and candidates would probably be better off if we all admitted from the start that it's a random lottery, and that you're being chosen among the hundreds of other candidates essentially at random out of a hat.
- hueving 10y agoThe two stances aren't exclusive. Good developers may become unhappy, but they likely have very little difficulty finding a new job so they are on the market for a very short period of time. To follow the used car analogy, good cars do occasionally need to be sold, but when they do they get taken quickly by a friend or through word of mouth recommendations. The cars that sit on the lot for the public to peruse are not great deals.
- gorbachev 10y agoHe's built one of the few companies that take valuing developers seriously?
- hibikir 10y agoJoel is a manager, and Dan isn't. Management often believes that they understand hiring, and that their mechanisms for examining performance are good. If Joel believes that one of his employees is fantastic their requests will be heard, and they will be better compensated. Dan instead is seeing developers that he knows are awesome and can't find work because Dan can't hire them. I for one think both are right in some fashion. People that management considers high performers stay long and are very well compensated. People who are not valued that way by management might still stay (if they are not valued in the market), but will jump ship after a few months otherwise. Willingness to stay depends on getting what you want out of a job REGARDLESS OF PROGRAMMER QUALITY! I have worked at places where people with tremendous flaws were considered high performers, making the place shed great developers while keeping bad ones. Other places just look at a specific set of things that might make someone good, and end up with unbalanced talent sets. Imagine you hand tasks to single developers, and value getting them in production as soon as possible. Stability, readability, maintainability will go down the window, and eventually said company will either fail or have to hire a different kind of dev, and force those people to win a culture battle. So ultimately, I think this is all about how difficult it is to evaluate programmers, and how people with one evaluation function look at a world that either shares their evaluation function, or differs significantly from it.
- nl 10y agoJoel wrote during the 1990s and early 2000s of his experience at Microsoft. There wasn't a lot of competition then. Also, Joel was a product manager, not a developer or an engineering manager.
- sarahcr 10y agoI am one of these Great Devs. Joel is correct that i will probably only apply to 4 jobs in my career. But the author is also correct and I am not sticky. I have switched jobs several times over the past 10 years. Companies will try to keep great people, but when you tell them you need a 40% raise, they will pass. I think Joel and the author understand this and actually agree.
- CoolGuySteve 10y agoI think nobody's done more damage to the developer hiring market than Joel Spolsky. His inductions about the liquidity of "great developers" seem to have become true mostly because he was the only one writing about it in the 90's. But a lot of it is anecdote and faulty assumptions. I don't know of many other professions that have 8 hour oral exams that test the sum of all knowledge in the field with such a strong negative bias towards hiring. Or a profession that so strongly assumes ability is innate and cannot be trained. It's outrageous.
- spiralpolitik 10y agoI would add Google, Microsoft, et al to that list. Seen lot's of candidates come in for interview who have read books like "Cracking the coding interview" who have obviously memorized the white board solutions to complex problems who then can't implement 'boolean equals(Object)' correctly when asked to do so.
- sotojuan 10y agoAt least Google can say "we get so many applicants this is what we have to do!". Why do random web dev companies attempt to grill you with the same level of rigor as Google is beyond me.
- FGord 10y agoBecause they like to flatter themselves that the problems they solve require top talent, and they, the current employees are top talent. Usually neither is true, and they don't pay like Google either.
- CalChris 10y agoThis reminds me of Joy's Law: no matter who you are, most of the smartest people work for someone else https://en.wikipedia.org/wiki/Joy%27s_law_(management) https://en.wikipedia.org/wiki/Joy%27s_law_(management)
- mirkules 10y ago> Joel’s claim is basically that “great” developers won’t have that many jobs compared to “bad” developers because companies will try to keep “great” developers. Joel also posits that companies can recognize prospective “great” developers easily. That's not what Joel's post said. Joel said that great developers don't apply for jobs much. A great developer could have as many jobs as an unqualified one, but they rarely, if ever, need to apply to places to be offered a job there. Think of any great dev - do you think they'd send their resume someplace? No, they'd just leave, another company would get wind of it and they'd be offered a job in a heartbeat.
- aisofteng 10y agoNot to mention that an extremely able developer will end up leading a company over time; switching to another company would almost always require having to climb the ladder again.
- jakub_g 10y agoIt seems like that "great developers never apply for jobs" is taken as an axiom on HN, but it's implicitly assumed that every developer works in an area with a zillion of companies to choose from, has an extensive network of friends in all those companies etc. Bay Area or London might definitely be like this, but there are many cases where this simply does not work like that: - a geographical area with one strong, dominating company -> low employee mobility (not much choice), hence low inter-networking - people who move to a new country/city and know no one there (or people whose friends tend leave to other countries, hence the networks are not that useful either) There are only a handful of developer hubs in the world, many people work in other circumstances and might not have an extensive networks, which is neglected here.
- throwaway13337 10y agoI've known great developers that are terrible networkers. They are able to get jobs through the resume/interview avenue when they want to leave but they still go through this channel. These developers are most likely to be underpaid. Real gems for those hiring.
- nhumrich 10y agoJoel's point is not neccasarily about "stickiness", just the need to apply. Great developers form a network of people who know them. When they want to switch jobs, they typically don't go " open on the market" and rather talk to a friend in a specific place, do an interview for formalities sake, and get hired. There was no "applying" or sending a resume to a hiring manager. Also, often companies go to them, not the other way around. Joel's point is that great developers don't need to put themselves on market at all in order to get a job.
- Terr_ 10y ago> Great developers form a network of people who know them. How do you know it isn't there other way around? That networking is crucial to building a reputation as a "good developer"?
- bostik 10y agoEngineers like to gossip, and most humans have a tendency to flock together with like-minded folk. Hence practically any engineer will be part of their organic network, whether they realise it or not.
- quantumhobbit 10y agoMaybe something is wrong with me but I'm an engineer and I don't gossip, nor do I know other engineers who gossip. Managers gossip. Testers gossip. Designers sometimes gossip. But in my experience developers not so much.
- Terr_ 10y agoInsofar as the generalization "Engineers like to gossip" goes, the difference is they gossip about problems, not their resume-bullet-point-achievements. Plus, much of that gossip is going to be with co-workers, which doesn't do you as much good when it comes to finding a job with people at another company company.
- 10y ago
- lhnz 10y ago> Just for example, there’s someone > I’ve worked with, let’s call him > Joe, who’s saved two different projects > by doing the grunt work necessary to > keep the project from totally imploding. > The projects were both declared successes, > promotions went out, they did a big PR > blitz which involves seeding articles > in all the usual suspects, like Wired, > and so on and so forth. That’s worked out > great for the people who are good at > taking credit for things, but it hasn’t > worked out so well for Joe. I have to agree with this, since many of the better engineers I have worked with frequently interview. Generally, they run out of opportunities at their current employment and need to find something new for them to grow. Also it's often easier for them to get a pay-rise with a new job. However, I wouldn't say that there is a "market for lemons" for employees. Performance may well be difficult to evaluate during an interview process, but after several months of work within a company it is generally quite clear who is performing well. I think the real issue is that: - Employment opportunities are a "market for lemons", and even if a team or project is great to work within at first, it won't stay like this forever. - If a company spots a great performer they generally don't wish to offer them preferential treatment (more autonomy, ability to learn something new, pay rises, etc) due to its perceived effects on their peers. There are all sorts of lazy heuristics that people use, and "good people are never out of work" is one of them. Good people do sometimes go out of work, but it will generally be to "scratch an intellectual itch" or to give themselves time to be extremely picky about their next job. I think the way forwards is to create more supportive development cultures which allow for more room at the top (with opportunities for self-direction and with pay improving alongside efficacy) and at the bottom (with mentoring and training). This isn't just something that might be solved by a great manager. It's also something that we I think we should hold ourselves accountable for.
- hibikir 10y agoI think the most important point here is that no place with more than a handful of employees will be perfect for everyone they hire, and the bigger the place, the bigger the internal environmental differences. I've worked at places where there was an awesome manager building a wonderful culture underneath, while another large team nearby had terrible management, considered very substandard people to be their very best, and was a nightmare to work for (and with). My idea of good people loved one team, and quit quickly when working on the other. The manager in charge of both managers never thought there was a difference, and thought both managers were great. Managing one team is hard. Setting up an environment that is great for a diverse set of people (whether we are measuring that by race and gender of just by people with different values and ways of thinking) is even harder. Many people in those positions don't spend anywhere near enough time trying to make sure they are building the right thing and instead copy each other, leading to what Dan describes. None of this will change until we make breakthroughs into people management, something that, sadly, only the largest companies have resources to really look at, and the largest companies are often the most dysfunctional.
- galdosdi 10y agoThe author thinks that Joel is contradicting himself (since how can it be both easy and hard to tell if a developer is great?), but I don't think so. In fact, it's hard to tell for sure how good a developer is before hiring, but easy after having worked with them for a while. This is similar to how it's hard (as in, expensive) to be sure if a car is a lemon before buying it but easy to tell after putting 10,000 miles on it. No contradiction. Unrelatedly I agree anecdotally that from a developer point of view the market for workplaces looks more like a market for lemons (it's hard to tell if a workplace is crazy before joining it, easy afterwards, and a developer will stay a lot longer at a nice workplace than a crazy one, so most job openings are probably for places that have a high turnover for a _reason_).
- nsgi 10y agoNot necessarily. Many job openings will be for new positions in workplaces that are expanding. And if the best developers move more frequently between jobs, the workplaces with the best developers will have the highest turnover rates.
- sixhobbits 10y agoI think the author is talking past Joel to some extent. Joel's emphasis is not on good developers not changing jobs, but more about the fact that they very seldom go through a traditional application process of sending in a cv to a hiring manager. Instead, these people "travel as fast as beer" when they're looking for a new position - they mention it to a friend or colleague who has a beer with someone else who sends over a job offer. It can seem paradoxical that companies are saying that they can't find people to hire, and even with the tech boom there are developers who can't find jobs (at least ones that they are completely happy with), but this is because a huge percentage of CVs on desks are from people who have needed to take the time to send off job applications, and are often therefore representative of the not "great" developers.
- chrisbennet 10y agoExactly. The premise of the article is wrong. "This model is certainly different from Joel’s model. Joel’s model assumes that “great” developers are sticky – that they stay at each job for a long time." Is false. Joel simply did not say that. Joel actually said: "..prospective employers recognize their greatness quickly, which means, basically, they get to work wherever they want, so they honestly don’t send out a lot of resumes or apply for a lot of jobs." Great devs aren't on the market because they don't use the "market" to get their next job - not because the don't leave jobs very often.
- matwood 10y ago> Instead, these people "travel as fast as beer" when they're looking for a new position - they mention it to a friend or colleague who has a beer with someone else who sends over a job offer. Not that I am some great developer, but in multiple jobs over almost 20 years I have sent a blind resume exactly once. Even then, it was on a whim.
- user5994461 10y agoIn what city do you live?
- tptacek 10y ago
- raverbashing 10y agoWell, first of all, companies do close, people do get tired of companies, so "great" developers do move. At some positions, the demand is lower than the offer
- szx 10y ago"If you hire someone with a trendy background who’s good at traditional coding interviews and they don’t work out, who could blame you? And no one’s going to notice all the people you missed out on." How is it that fear of false positives keeps coming up again and again in discussions of hiring practices? Considering at-will employment (is that the correct term?) is the default here, you'd think it wouldn't be that big of a problem to get rid of an underperforming employee. I guess it's more of a cultural/social issue but I can't pretend to fully understand it.
- mathgeek 10y agoFiring someone isn't he problem. The sunk costs of bringing that person onboard, and the new costs of doing the same for a new hire, are the real killers. There is a philosophical view that optimizing onboarding is equally (or more) important when compared to recruiting processes. A common blocker here is that onboarding isn't done by HR.
- AtheistOfFail 10y agoFirst, it's depressing to introduce someone on Monday and get them out the door by Friday. Second, people don't want to be known as "the lemon picker" within the company.
- szx 10y agoYes, I understand that but obviously there's a trade-off here, the point being that by avoiding firing people at all costs you're missing out on some great developers. Like I said, it's a cultural/social issue disproportionally tilting the cost effectiveness scale.
- tbrownaw 10y agoBeing the bad guy is no fun. People are not fungible, and depending on internal politics and procedures hiring probably only happens reactively instead of proactively. If you have to fire an under-performer, you're now short-staffed even worse until you can get another job posting approved and someone hired for it. Lost productivity from being too picky is less visible than lost productivity from telling someone to go home. Management is often seen as a career progression from non-management. This means a lot of managers - and especially the newer and therefore lower-level ones - are still figuring out wtf they're doing and aren't (yet) very good at it.
- asheikh 10y agoWhere is the race equation in Joel's claim? I am a black and a great developer. Many years ago, I worked in one of the top five tech companies in North America. My second line manger called me 'a Slave' because I was working harder than my team and contributing across team. I complained about the incident, and left the company after there were no action from the top management.
- mgkimsal 10y agoIt seems that "great" developer is somewhat a synonym for "public" developer. I'm not sure how companies would just "know" someone is "great" otherwise. And yes, not all publicly known developers are necessarily great (or even good), but I'm not sure how one would recognize a 'great' developer without that person also having some degree of publicness to them. And yet, I've known more than a handful of developers who are really solid, great people to work with, and I'd like to work with again. None of them have ever blogged, podcasting, presented at conferences nor run a public repository on github. Yet by many definitions of 'great', they fit the bill, but not the sort of 'great' that would mean companies would just 'know' of their greatness, and go out of their way to hire/recruit them.
- feklar 10y agoOfftopic but there was another post here recommending that people do just that, be very visible and public so when the layoffs happen you aren't the person laid off even if you're just doing the same work as everybody else you appear to be indispensible. Recruiting works the same I guess.
- nl 10y agoThat's not at all what Dan Luu is talking about - not at all sure where you got that. He repeatably mentions personal recommendations.
- mgkimsal 10y ago"Joel also posits that companies can recognize prospective “great” developers easily" Reacting more perhaps to this general notion (or Joel's notion?)
- patrickyeon 10y agoI understood that notion to mean the companies would recognize a "great" developer when they were presented with one, either during the interview or even when said developer was working with them.
- kelukelugames 10y agoA story on the bullet point about low pay. One of the mottos painted on the company wall was "We don't want people here just for the money." The CEO put it up because they couldn't pay a competitive rate. The hiring manager insisted they paid well. A bunch of devs left claiming they were paid near the lower end. For example, one dev received only a $1k pay increase when she was promoted from SDE1 to SDE2. How can perception be so different between CEO, managers, and developers?
- AtheistOfFail 10y agoBecause software guys just write software. They don't do anything else... until it blows up and your company loses that big client worth 100k/yr then writing software is a priority.
- user5994461 10y ago> How can perception be so different between CEO, managers, and developers? It's not perception, it's marketing. The interviewer cannot tell: "We pay under market. If you go interview at almost any other company in town, you'll 20% more easily". People would just not work there. What happens instead is, they either lie straight to their face or oversell the "culture". In your example. The CEO going for "people don't work for the money" is classic bullshit meaning they have low wages but it's a good place (even though it is not). The manager saying they "pay well" is a straight lie. People will believe it most of the time. They can keep employees around for a while. They do what they are supposed to do: Run the company, whatever it takes.
- kelukelugames 10y agoI'm sorry user5994461. My company has an open culture. My manager would not lie to me like that. /s
- user5994461 10y agoAnd my manager wouldn't think of me as just a number in the company. /s
- jacques_chester 10y ago> Moishe Lettvin has a talk I really like, where he talks about a time when he was on a hiring committee and they rejected every candidate that came up, only to find that the “candidates” were actually anonymized versions of their own interviews! I worry about this a lot when I'm interviewing candidates. Basically, would I have given myself a no-hire? Sometimes I think I would've.
- coldcode 10y agoI liked the article but I wish this guy spent a little more time making the articles readable. Wall to wall text at a small size is sort of hard to read.
- mdpopescu 10y agoYeah, I'm always using this extension - https://chrome.google.com/webstore/detail/just-read/dgmanlpmmkibanfdgjocnabmcaclkmod https://chrome.google.com/webstore/detail/just-read/dgmanlpm... - on his site.
- throw2016 10y agoThe whole 10x great developer seems to be an attempt to build an elaborate mythology to con immature and young workers to work themselves to death trying to prove something that is vague, extremely subjective, illdefined and thus unattainble. Let's spice it up with 10x HR people, 10X CXO's and 10X VPs and hell while we are at it why not throw in the 10x Barista to get Starbucks HR fired up. Here is a better idea, forget the 10x developer. Show us the 10x code.
- overgard 10y agoThe famous 10x developers seem pretty easy to find. Carmack, Torvalds, etc. I don't know what "10x" code means, but you could certainly look to codebases from those two to learn. Similiarly with CEOs, with people like Musk or Jobs. Even in fields like writing you have outliers like Asimov or King. Even with your joke example of HR, while I can't think of any examples, you can imagine an HR manager that improves culture and hiring so much the effect is enormous. I don't know if people should bet their careers on becoming an outlier, and there aren't a ton, but these people exist.
- throw2016 10y agoBy definition exceptional people are difficult to find or they would not be exceptional. Everyone is not a Torvalds or Carmack. That recognition has come after decades of exceptional work and experience, not by solving test questions in an interview process. How are you going to find Torvalds or Carmack in an interview process before they have had the opportunity to do all the decades of work and gain the recognition? This 10x fantasy needs to stop or let's see some 10x code. Anyone seeking a 10x engineer needs to ask themselves whether they can afford them and if the work on offer is exceptional enough to require that level of talent.
- heisenbit 10y agoIn a developer lemon market developers are hired at the lowest possible cost as their value can't be assessed in advance. Turning this thinking around in a employer lemon market employers are selected by offered salary as that is the only solid proof-able property that distinguishes them. Two strong diametrical forces are here in play focusing the discussion on salary to the detriment of considering the total package for both sides. Lemon markets exist for one-time transactions between foreign parties. Public records of companies and potential employees change this to a degree. A big name company may be able to hire at lower cost as it is on record it is not a total disaster. A public record can help to put a floor under the salary one is being offered. From a developer perspective one can - market skills in a way to decrease hiring risk (affecting offered min salary) - market skills that are truly needed (affecting considered max salary) - research the company (allowing one to reduce demanded salary e.g. huge solid growth etc.) As always the power in negotiation is with the party that can afford to say no.
- dunkelheit 10y agoOne thing I didn't see mentioned. What if the team simply lacks interesting work? If the team stamps out CRUD websites and the manager has somehow become convinced that the team needs "great" developers, he or she will have trouble hiring even if the pay is competitive.
- rhizome 10y agoCompensate with pay, and "boring" means paying more than "competitive." If it's just cranking stuff out like an assembly line, then maybe the developers should receive a commission structure.
- dunkelheit 10y agoSeems reasonable, but does anyone actually think like this? "Okay, we do fairly boring stuff here, so we must compensate with pay to attract good developers". Rather, the opposite rhetoric is prevalent: "Groundbreaking! Disruptive! We need passionate developers! Prepare to take a pay cut in exchange for a chance of changing the world."
- mattkrause 10y agoFinance kinda does that. You're not curing cancer or anything, but you certainly are getting paid.
- imtringued 10y agoIf it's interesting then you will see a lot more people applying. If you find adequate developers you generally pick the cheapest one. Therefore more interesting work has a lower compensation relative to how much value you create for the company.
- gravypod 10y agoAs a college student looking for a job, a lot of this is quite worrying. I don't really know where to start as a junior developer and I have seen quite a bit of this mentality that "we are looking for the best". Does anyone know how, from our corner, filter out companies that will do crazy stuff like make you barf up 30 sort algorithms? And more importantly for my case, does anyone know where to look for companies that are willing to work around a college student's schedule? The cards seem to be stacked against us in this one.
- shados 10y agoIts a candidate's markets. A few companies can afford to only hire top notch candidates. You've heard of them, and that's why. If you only try to apply for places you've heard of as being the best of the best, well, it will be harder because everyone is doing the same. There's hundreds, thousands of companies who aren't the best, and aren't looking for the best either. Work there, get your experience up, jump around every few years (so you can eventually get a feel as to WHY those companies aren't the best), and you'll be good enough to go anywhere you want. Or you can try to play the SV game, learn the 30 sort algorithms and learn how to speak "Big SaaS Company" speak right after college and skip that. I personally wasn't good enough for that out of college, so I did it the hard way, and now I'm where I wanted to be all along. It took 10 years, but ::shrugs::, I made it.
- gravypod 10y agoHow do you get a list of the names we haven't head of?
- perlgeek 10y agoYou go to a job market website, search for software developer jobs, and discard all the names you've heard of.
- AtheistOfFail 10y agoTrue story... I've seen a lot of small places that are so desperate because noone wants to work for an insurance company or some other industry that needs software but isn't a "software industry"
- anovikov 10y agoI strongly disagree with that. Best developers switch many jobs - that's how they become great - by working on lots of different stuff and learning all the time - there are very few full time positions where you can continuously learn and actually do new things all the time and don't become a nuisance for your co-workers. They also start their own startups, fail, and go to job market again.
- pg_is_a_butt 10y agoa great developer would have styled the article to make it legible before publishing.
- Eliezer 10y agoThis article pleases the Market Economics Fairy, who rarely sees anyone thinking top-to-bottom in supply-demand balances.
- caseysoftware 10y ago> Joel’s model assumes that “great” developers are sticky – that they stay at each job for a long time. The author is missing a fundamental piece here. It's NOT that the "great" developers will stay at the same job for a long time or that the company is great at recognizing them. It's that their friends, colleagues, etc will recognize them and bring them along. When you take a new job (at any level) at a company you like doing what you like, you will want to work with great people. Some will already be there but most likely you'll have the opportunity to refer people in.. and you'll go back to the people who you already know are "great" by whatever understanding you have. If you make a compelling offer hitting the right points - money, flexibility, opportunity, etc, etc - then you'll get the person even though they were never "on the market" in the traditional sense and almost definitely didn't have to send a resume and "apply" in the normal sense of the word.
- tptacek 10y agoThis is also bad for teams. The premise of network hiring is that when one member of a strong team leaves, they'll bring the best of the team with them. Hiring managers seem to appreciate the aspect of this that means they can bring multiple good people on at once, without appreciating the obvious implication staring them in the face: when one of those people leaves THEIR team, they're going to strip a big chunk of the team out with them. Network hiring creates brittle cultures. It's probably the most popular "alternative" to conventional hiring pipelines, and it's just as bad!
- AtheistOfFail 10y agoNetworking hiring works great if your company is good and you treat your people well. On the flip side, if your culture is to burn people until they exit, you'll find one person quitting and taking six along with them... and it won't be the worst performers.
- ambicapter 10y agoYou don't have to be bad for a networking hire to leave. They just need to find another, better opportunity.
- mixmastamyk 10y agoYep I'm a fan of Spolsky in general, but the idea he supported that you must be extremely skeptical, cannot trust anyone to be a good developer, and that a bad hire can destroy a company has done untold damage to the industry. Though I'm a much better dev now than when I started in the 90's I had my choice of jobs back then. Now it is horrible death march for the privilege of slinging HTTP APIs, about the easiest thing a developer will ever face professionally. It's the reason why developer interviews are such a shit show, and a factor in the "engineer shortage." People who can't code with a gun to their head (ala swordfish) are excluded. Not to mention those that don't "fit", such as minorities, women, and elders.
- bbcbasic 10y agoCan someone explain his definition of great developer? Is it just a competent developer who has effectively networked and marketed themselves?
- clifanatic 10y agoBased on 20 years of participation in software development forums like this one, I'm pretty sure that 99% of developers definition of "great developer" is "is me".
- codingdave 10y ago"Great" developers may be that rare. But most coding jobs don't need "Great". Most coding jobs are CRUD apps with some business logic. Toss in some UX for flavor. "Good enough" will do just fine in most jobs.
- hkon 10y agoGive a system of some complexity, only the best will create a "good enough solution".
- codingdave 10y agoNo, given a system of complexity, most coders will give something good enough. But the best will simplify it.
- maxsilver 10y agoThis is my personal pet peeve. I've often applied for jobs at well known tech companies who's technology is fairly simple (one company was a plain mid-sized CRUD Rails app, another was three PhoneGap JS-frontend-heavy mobile apps + JSON API backend, fairly mundane things like that) And yet they still interview you like they're pretending to be SpaceX or NASA or something. 5+ hours of programming brainteasers (which they swear are just 'simple programming exercises' that 'are just to give insight into process' -- but are actually brainteasers, and you are actually expected to solve on site). Which makes the inevitable "we like you, but have to pass on you for technical merit" rejection sting pretty badly -- I have the technical capability to handle these jobs, because I already do this same work every day. But I get told my technical knowledge isn't strong enough to work on their apps, because of stumbling on some of the latest trick questions. And then, their managers write a blog post on Medium and complain about the lack of tech talent, or how they are inundated with fake applicants who "can't code FizzBuzz" sigh Technical hiring is just totally screwed up, and no one seems remotely interested in fixing it.
- flukus 10y agoEveryone want to fix it, no one knows how to.
- dkarapetyan 10y ago> Moishe Lettvin has a talk I really like, where he talks about a time when he was on a hiring committee and they rejected every candidate that came up, only to find that the “candidates” were actually anonymized versions of their own interviews! Steve Yegge I think has a similar post but from a different angle and he calls this problem the interview anti-loop. Depending on who ends up on your interview panel you might get high or low marks across the board and it won't be in any way correlated to your actual abilities. Making good teams like Dan says is a hard problem mostly because recruiting is a hard problem and letting anyone other than the team handle the process is why things are broken. If you want to work with great people then you personally have to be actively involved in recruiting great people by going to conferences, going to meetups, writing blog posts like this one, etc. But that sounds very time consuming and most companies don't think recruiting is actually an engineer's job so they never properly budget for it in terms of training and other resources.
- deleted 10y ago[deleted]
- issa 10y agoMy pool for drawing personal conclusions about hiring is not deep, but in my limited experience (both in hiring and being hired) there are two things that seem to matter above all others: 1) How personably the candidate is. Do you want to work with this person? Does he/she have basic social skills? 2) Do they have a coding-related passion project? It almost doesn't matter what it is, as long as they have one.
- yawz 10y agoWhat it is that makes a developer great? They are expert at one technology? Multiple technologies? Fast learners? Problem solvers? Not rockstars but great team players? I would argue that a lot of (if not most) companies won't even know how to gauge long-time greatness.
- intrasight 10y agoI've been working my way diligently through this very interesting and pertinent thread. But you're the first, I think, to mention this elephant in the room - we really have poor gauges for greatness in this profession. And here's one reason. In many professions - doctors, lawyers, accountants, stock brokers - you can measure success. Do most patients get better, did you win the case, did you beat an audit, did you make money. I tell my students that if they want to do something where they can be gauged as individuals that they should not go into engineering unless you plan on also getting an MBA and working for a big, stable company with a long track record of nurturing talent.
- kafkaesq 10y ago"See? Joel Spolsky knows the secret to hiring Great Developers. Not only that, he knows how bad things can go when you hire the complement of the set of Great Developers, namely honkin' bad, can't-solve-a-brain-teaser about-pirates-and-blindfolds and-poisoned-bottles-and-buried-treasure to-save-their-life† Mediocre Developers. Therefore, you should buy consulting services and/or products from Fog Creek. Because you know Fog Creek only hires Great Developers." Was the trojan horse message behind Joel's now-infamous Great Developers meme, which we are currently about midway through the second decade of. And that's really all people should have read it as -- part sincere opinion; but part pure and simple marketing shtick for Fog Creek.†† Yet it's taken on a life of it's own, as we know all too well by now -- with no endpoint in sight. † Such brain teasers -- and the ability to solve them right there, on the spot, with strangers staring you, and your career hanging in the balance -- being, according to JS's unequivocal belief (until it finally became woefully unfashionable), if not absolutely necessary, at least fantastically useful and effective in telling Great Developers from Mediocre Ones. †† A great, or at least an okay company, by all accounts (aside from this single, unintentedly onerous piece of marketing shtick from the early 2000s).
- spitfire 10y agoI'll post to this thread to simplify a lot of our discussion, tptacek also has good insight here. Listen to him as well. Hunter and Schmidt did a meta-study of 85 years of research on hiring criteria. [1] There are three attributes you need to select for to identify performing employees in intellectual fields. - General mental ability (Are they generally smart) Use WAIS or if there are artifacts of GMA(Complex work they've done themselves) available use them as proxies. Using IQ is effectively illegal[2] in the US, so you'll have to find a test that acts as a good proxy. - Work sample test. NOT HAZING! As close as possible to the actual work they'd be doing. Try to make it apples-to-apples comparison across candidates. Also, try and make accomidations for candidates not knowing your company shibboleth. - Integrity. The first two won't matter if you hire dishonest people or politicians. There are existing tests available for this, you can purchase for < $50 per use. This alone will get you > 65% hit rate [1], and can be done inside of three hours. There's no need for day long (or multi-day) gladiator style gauntlets. Apply this process to EVERYONE, including that elite cool kid. You don't want to exclude part of your sample population! [1] http://mavweb.mnsu.edu/howard/Schmidt%20and%20Hunter%201998%20Validity%20and%20Utility%20Psychological%20Bulletin.pdf http://mavweb.mnsu.edu/howard/Schmidt%20and%20Hunter%201998%... [2] Technically IQ tests aren't "illegal", but the bar courts have decided companies have to climb is so high it effectively means they are. I have spoken to a lawyer about this. You should speak with yours too, before you decide to try IQ testing.
- intrasight 10y agoWe use university degrees and GPAs as a proxy for IQ, and even with grade inflation, it think it is still a good proxy.
- tptacek 10y agoDegrees and GPA are primarily a proxy for social status. You have to start by giving some thought to what your screens aren't telling you. A bad screen that rejects 90% of qualified candidates can easily look like a great screen so long as it's not passing through obvious bozos. That's the problem with screens! It's easy to reject most bozos, but hard to let through most solid candidates.
- goldfishcaura 10y agoFor me everything boils down to: as an engineer, how well aware are you of your domain. If you are, then you know how to integrate tools and code together to produce the next invention. I've written a post for engineers on precisely that topic just last week: https://my.caura.co/why-build-software-in-house-not-f3c9bc726b1 https://my.caura.co/why-build-software-in-house-not-f3c9bc72...
- Annatar 10y agoIf it’s so easy to identify prospective “great” developers, why not try to recruit them? Because they are not on the market, and they're very picky as to where and most importantly, with whom they will work. Does someone out there honestly believe that a guy like Keith Wesolowski, Dan Price, Jerry Jelinek, or Jeff Bonwick will just shop themselves on the open market? If so, it's time to do some extensive research on the subject, because nothing could be further from the truth. Steve Jobs once put it like so: A players hire A players; B players hire C players; and C players hire D players. It doesn't take long to get to Z players. This trickle-down effect causes bozo explosions in companies. And boy was he right; I've seen good companies and good, interesting jobs go down the toilet so fast, my head is still spinning from it all, years later. I know how that is first hand: I don't shop myself around on the open market, people call me, and by people I mean people I have closely worked with in the past, people which I know exactly what they're capable of, what they know, what they don't know, and if I accept, the whole interview process is nothing but an empty formality. It's truly eye opening just how much of a sham-theater the entire inteview games are. The key takeaway is, if you're good, you'll have a renomee, and you're unlikely to be on the open market - you come to people and people come to you. You get the job long before any would be competitors have even had a chance to apply ("we must satisfy human resources policies"). Dan Luu's question is, by experience, an unlikely occurrence in this particular industry.
- tofupup 10y agoneat