Ah, the old "we only hire people with experience" topic. Same question as usual: Where should they get that experience?
Answers I usually get:
- "on their own": You want to tell me that someone should learn on their own how to go through all phases of shipping a software without guidance? And you think that will produce programmers who know how to do that 'correctly'? I'd like to advise you that playing the lottery has comparable chances and that you should try it.
- "at our competitors": That will only 'work' if your competitors don't have the same same idea.
New answers are very welcome, the topic seems quite stale to me.
As someone who has worked on teams willing to train less-experienced developers, I find that previous expertise in any other subject is a good indicator of future success in web programming.
I've seen good Ruby and JavaScript developers learn their way up from expert-level html/css buildout people, from professionally-trained musicians and chefs, or in my case from a MA in Chinese literature.
Yes, programmers need to be able to model program execution in their head, and only some subset of humans can do that. But after that hurdle, the biggest factor in success is sustained practice, humility about your skills, and a willingness to listen to advice without following it dogmatically. These skills can be developed and demonstrated in lots of non-programming backgrounds.
In an interview, you want to establish that the candidate knows what they're talking about, can do basic boolean logic, functional decomposition, etc. But after that, you just talk to them about their internships, class projects, and hobbies. Find something they are clearly proud of, and ask them about it. Probe the strategic decisions and tradeoffs they made to see that they have some awareness of their process. If you find someone who can't talk about something they're really mastered, in any field, programming is not magically going to become the first skill they practice to mastery.
Ultimately, being able to identify people like this is an enormous strategic advantage. There is no boost to a team like a new junior teammate who asks questions, takes advice, works hard, and show enjoyment at tackling new hurdles. And nothing better for a businessperson than someone you can pay less now and continuously give big raises over the next few years while still getting a better deal than hiring a senior person.
Answers I usually get:
- "on their own": You want to tell me that someone should learn on their own how to go through all phases of shipping a software without guidance? And you think that will produce programmers who know how to do that 'correctly'? I'd like to advise you that playing the lottery has comparable chances and that you should try it.
- "at our competitors": That will only 'work' if your competitors don't have the same same idea.
New answers are very welcome, the topic seems quite stale to me.