We just went through a selection for a junior position at 37signals. This is a $146,000/year position for individuals with less than three years of experience, offering the opportunity to be part of a team of world-class programmers and learn from them. That’s the hell of a deal!
The selection was based on competence. No referrals, no degrees or pedigrees. Show us how you solve a real problem with code, and let’s talk about it. Why did you go with this design? Where did you learn about this pattern? What happens with this database transaction if this request takes too long? Why did you use these names? We look for competence, and we look for taste.
In a process that started with 1,600 candidates, we selected two. Out of curiosity, I checked the degree of my top one after extending an offer: a BSc in International Business & Management. No software engineering or computer science degree, but someone passionate enough about software development to answer with classic software engineering book references when asked about specific chunks of code. Someone who got excited when sharing the thinking process behind the distribution of responsibilities in a group of classes. Yeah, those are the traits we look for.
When I was at college, I kept hearing that a formal software engineering degree was the hallmark of competence. Twenty years of experience as a software engineer in both the public and private sectors have taught me otherwise. In Spain, we have lobbies influencing the public sector based on this false premise, which can be misleading for the inexperienced. If you are a student, please be aware that, outside, in the real world, there is no controversy here: things move according to competence. Well, or to contacts and referrals, but those are reserved for a few.
The delightful “anyone can cook” motto from Ratatouille is surprisingly true when it comes to software development. Of course, this is to be expanded as “anyone who loves software development enough as to put in thousands of hours learning and practicing can cook”. So, in reality, only a few can, but your intrinsic motivation is the driver here, not any formal degree. It’s fantastic if your degree helps you in that path, but competence is something to seek, not to be given. Formal degrees are full of students who couldn’t care less about their craft, and professors with little real-world software-building experience. Neither of those can cook.
Focus on competence.