16 ms·
Also: Give the "not-the-best" people a chance to develop. The CEO of one of my past clients, a consulting company, always said: "You can teach everyone to be a
by struppi 11y ago
Also: Give the "not-the-best" people a chance to develop.
The CEO of one of my past clients, a consulting company, always said: "You can teach everyone to be a great programmer". And he put his money where his mouth was: He hired people with no programming experience (even with no university education) and personally trained them for several months. Also, senior people in the company were encouraged to also help them and guid them.
He had to fire some of those people later, mostly because they were not a good fit for the company. But some of them became great programmers and software consultants.
"Hire only the best" is really only half of the battle. Give people an environment where learning is encouraged and failure is expected. And help them wherever you can. Most will learn and enjoy it.
- robterrell 11y agoThat's awesome. You should credit him by name. I want to keep tabs on that guy.
- struppi 11y agoI will ask him if he wants me to credit him by name, and get back to you...
- S4M 11y agoI am a big believer that companies underestimate people's ability to learn, but what you describe works well if the company is stable and has little growth - a perfectly fine situation to be in - but I think the majority of startups don't have this kind of stability, and need someone who has the right skills now for whatever they need (building a new service, scaling the backend, tweaking the frontend, porting their product to mobile, etc.), so they can't really afford to do that long term mentoring.
- struppi 11y agoThat's probably true for a lot of startups. If you have problems scaling your $language services right now, then you need somebody who can scale $language services. OTOH, I recently had an interview at a company who have quite a bit of groth and scaling problems right now (but probably not Silicon Valley level), and they still said: "We constantly have to learn new things, so the most important thing a candidate has to have is they have to enjoy learning new things". AND: there are quite a lot of companies who are in the stable / profitable / predictable growth category and could afford to train/develop their people - But don't.
- ArkyBeagle 11y agoI dunno from web stuff, really, but none of that sounds like rocket surgery ( because I don't know what I am talking about, you see - this always makes everything easier ). Of the list, "scaling the backend" sounds the riskiest because the tools landscape is very fragmented. Then again, a person with whom I went to college is a recognized expert on Oracle performance. I find it keenly interesting that such a role even exists. I look at startup-ey, Webby looking job postings and it's like the qualified people drew to several consecutive inside straights just to have the right buzzwords on their resume. And it's a different set of inside straights than it was six months ago. And it's different yet from firm to firm. See there how easy it is when you don't know what you're talking about? :)
- ankimal 11y agoGreat attitude and a hunger to learn >> Super smart but a pain to work with, in the long run.
- ArkyBeagle 11y agoI always wonder if they actually are a pain to work with. I've worked from outside the hull speed of several teams and gotten into places where being diplomatic about the sheer propensity to failure was a lot of what I ended up doing. And, frankly, I've just dropped the mic and walked off more than once, once I'd established that the team ultimately just didn't want to perform or had some horrifying external constraint that made the death march inevitable. Say it with me: "I am powerless over the fact that I suck." At least you can work on the self loathing and make progress. But seriously - get your ego out of it and life gets better. Let your ego free only when you are alone. You can't fix 'em all.
- jxm262 11y agoThis is seriously one of the best comments I've read on HN in a long time. I've always had this same inclination, just never had the time to try it myself. If your current environment doesn't allow you to hire inexperienced/no-education people, you can at least work with juniors more to help elevate them (and in turn the entire team). This concept goes way beyond tech as well and can be applied to many many industries
- sokoloff 11y agoThe economics are usually way out of whack though. In my experience, a good programmer is easily worth 5x a "not-so-good" programmer and rarely costs more than 2x as much. We do have a college intern and hire program, but it's very rare for a new college hire to have the same ROI as my best experienced colleagues.
- sandworm101 11y agoI would add one proviso, that training can only occur where a company already has someone capable of teaching. A raw recruit may do well if they are trained, but someone has to train them. Most startups seem looking to hire skills rather than people. They want to bring in skills nobody already on board has. Without any form of mentor, the raw recruit will always fail. My big issue: Startup hiring kids to do work that should be in the hands of lawyers. I've seen interns redlining contracts and social media directors heading compliance teams. Some expertise cannot be developed in-house.
- marcosdumay 11y ago> training can only occur where a company already has someone capable of teaching Is that true? Maybe for a subset of people, and (union) a subset of the skills. But one can surely improve their knowledge in an environment where there is nobody able to teach him. The environment must support a few failures, because they'll happen, but it is possible.
- jethro_tell 11y agoThis works less well when you have only 4 people. I've worked on both kinds of teams and done extensive training and have often pushed to hire people who want to learn over people who know. Most times, the premise of a start up is that 2-4 people with well developed non overlapping skills get together and build something with each being such an integral part that they are worth a good chunk of equity. Perhaps 5/6 is a CS person that you train as OPs / Dev on the side. But most companies don't have the time or man power until the team gets into the double digits. On the other hand, if you want to build a pipeline to solve tomorrows hiring problems, go out and interview unskilled people that want to do the job you have. There's some wash out but generally you can make a pretty good batch of people. I've done this in a couple places and it can be very rewarding not to mention as they start to develop and move out to other teams they are often willing to spend some time giving back to the program that helped them up on the ladder. Which means that you have more eyes and hands helping develop people and more time for coffee.
- struppi 11y agoAlso, have a look at "Developer's Journey" by Tim Bourguignon - There he tries to find out how to train/mentor/coach people to become great developers. And also what developers can do themselves to improve. http://devjourneyhomepage.azurewebsites.net/ http://devjourneyhomepage.azurewebsites.net/
- sgift 11y agoA really good strategy which is unfornately not very common. For one part because of the topic of the article, but for the second part because many companies seem to think that their employees will be hired away by their competitors at the first opportunity, which basically says that they do not trust themselves to be good enough to retain their employees .. but if these companies do not trust themselves how can their customers trust them?
- mooreds 11y agoI think it isn't common because it is expensive. People would rather hire someone who has made mistakes on someone else's dime (another word for it is "experience").
- sgift 11y agoYou are right, that is the third component, but hiring is also very expensive, especially if you have a low quote of acceptance and have to interview many candidates for each position.
- mooreds 11y agoGood point. Not sure which is more expensive, and it obviously depends on your problem space and the stakes involved (i.e. crud apps vs financials vs health care).
- dorfsmay 11y agoThere's an often quoted saying out there: "Can you imagine if we train our employees and they leave? Well, can you imagine if we don't train them and they stay?"
- Avshalom 11y agoThe article wasn't particularly great but the title sticks in my mind: a little slope makes up for a lot of y-intercept.
- ska 11y ago"You can teach everyone to be a great programmer" You really can't - but it doesn't matter. This has nothing to do with programming specifically. You can train most people to do most tasks. With a modicum of natural inclination, competent. With a bit of interest, good. With a willingness to work hard, very good. However, you can't ever train greatness. You can't make it by any method - only they can. Your broader point is good though. The most predictably effective way to end up with top talent that works well in your structure is to help it develop.
- rokhayakebe 11y agoSince there will never be a consensus on the definition of "great programmer" you really cannot argue this point.
- Domenic_S 11y agoWith maybe 100 exceptions ever, there is no universally great programmer, there is only "great programmer for the job."
- danbruc 11y agoI would argue it is the exact opposite. On day one name a programming language, important libraries and whatnot and hand out a stack of documents explaining the problem domain. The new guy hasn't necessarily seen or heard about anything of that before. If he can compete with your other good developers after a month, you have found a great programmer. I mean of course if he can do this repeatedly, not that he just was a pretty good fit for the requirements by sheer luck.
- ska 11y agoI think there is a rough consensus of what "great" means in "a great X" and that it means something like: generally accepted to be significantly better than the vast majority of their peers. Otherwise the adjective becomes meaningless. You will not meet such people very often unless you are in a truly extraordinary situation, which means you may well never work with one. My argument is that such people, whatever the field of endeavor, do not ever become great through training alone. You can only develop the conditions for people to reach their full potential, and hope that some (small number) of them truly become great.
- crispyambulance 11y agoYep... The best organizations "grow" their talent in addition to "finding" it. Talent is not a resource which merely exists out in the wild like some kind of unicorn. Talent is DEVELOPED in the right environments with the right team and the right resources. Large companies especially, need to take a bit more responsibility for cultivating talented people instead of merely project-managing "resources" ad-nauseum, and then finding increasingly elaborate ways to find and recruit talent.
- JimboOmega 11y agoThey don't just "grow" new talent, they "manage" existing talent to higher levels of productivity. In my life, I've observed huge differences in my own productivity in different working environment. Both ways (grow and manage), though, I find the notion of "find the best, set them free, done" is insufficient.
- wpietri 11y agoI tell you true: when I look back on my career so far, I'm most proud of the work I did helping people climb that hill. Most of the code I've written, even the best of it, is long gone. The company died, the system eventually got replaced, the business needs changed. I've debugged some epic problems through herculean efforts, but in retrospect most of those problems shouldn't have even existed; bad work process created bad results. I created some great system architectures, but technology advances so rapidly that the great solution of 10 years ago is now sadly out of date. But getting some non-developer hooked on development? The shine on that doesn't wear off. Taking somebody who's struggling and helping them become a solid contributor? I'll always be proud of that.
- andrewstuart 11y ago"You can teach everyone to be a great programmer" Flat out dead wrong. If you hire "anyone" and try to teach them to be a programmer then you will probably fire them. This is the sort of attitude that leads companies to outsource their development overseas: "Our programmers are people hitting keys. We'll get overseas people to hit keys and overseas people hit keys for less money.", cause, you know, anyone can do it. Programming is VERY hard and it takes a huge amount of motivation and hard work to become any good at it. Sure you can learn how to do simple stuff without any serious interest, but to be beyond ordinary it takes enormous work and time and research and Joe Schlepp off the street is simply not going to do that. If you want to hire people and teach them then you need to look for these things: enthusiasm for computers and programming, demonstrated willingness to learn, energy and effort. You should value energy and effort more highly than anything. Those are the raw ingredients for trainees, and people with those ingredients are far from "anyone".
- wdmeldon 11y agoMy first job hired me with zero programming experience because they thought this. I like to think I turned out ok, but I strongly disagree with the sentiment. A more accurate statement would be "You can train most people to be relatively competent at average programming tasks."
- gohrt 11y agoIndeed, there's simply no way that people who grew up in backwater regions like China, or India, could be competent at building software.
- andrewstuart 11y agoPeople who want to feel insulted always find ways to feel insulted. If you choose to read my comment that way then you are choosing to hear the message that you want to hear, which is a reflection of you and your personal issues. My comment in no way suggested that overseas developers are incompetent - in fact whether or not a developer is competent has little to do with where they live - although economic opportunity is part of the equation. Great programmers create themselves by hard work and that has nothing to do with location.
- vpeters25 11y ago> "You can teach everyone to be a great programmer" They tried this during the dot-com boom of the late 90's... I don't think it worked out too well. They hired just about anyone and paid crazy rates. You could point them out for showing up their first day carrying a "learn ASP in 24 hrs" book. Fortunately, the dot-com bust weeded them out. Most of these people went back to sell cars or whatever they were doing before while we had to clean out their messes.
- fsloth 11y ago"They hired just about anyone and paid crazy rates" I don't think this proves your point. Just hiring someone to do a job does not equal teaching them. Teaching means not only practice, but also well constructed feedback and sufficient time and space to learn, and to learn from ones mistakes. Kludging an ASP application together after reading "learn ASP in 24 hrs" does teach something, but there is so much noise that you need expert guidance to interpret the results correctly and point into things that need improving.
- beat 11y agoBack in the late '90s through the dotcom boom, we were teaching ourselves as we went. There was a running joke about HR looking for "someone with 10 years experience with HTML". In the mid-1990s, I was working on data transport stuff that involved hand-rolled socket code and daemons in C, and parsing the data stream in lex and yacc. We didn't have Apache, or ssh, or xml. A few short years later, I was working on really early Java application servers - technology that wasn't even imagined five years before. It's hard to even describe what a change in productivity all this stuff was. Using an ORM to get data from a database and dumping it into html tables, and there was a browser that could format it all for display with nothing but some tags that were generated on the fly? Amazing! I taught myself html, because there wasn't anyone to teach me. I taught myself server-side includes and cgi - no one to teach me. I taught myself Java. Etc. And I still do this today! If someone can teach you how to do something, it's already mainstream.
- fsloth 11y ago
- everlost 11y agoI always think of Michael Lewis' Moneyball story when I read such things. When everybody else is scouting for 200k players, why not pick promising fresh graduates? You might have to spend more time mentoring, but you get extra cash to lengthen your runway.
- hawleyal 11y agohttp://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro... Some people are not just hitting keys.