The Passionate Software Engineer

Recruiting good software candidates is hard, and especially so if you’re in a hotspot such as Boston, New York, or San Francisco. The demand far outstrips the supply. There just aren’t enough engineers available to fill all the hiring needs of startups and larger companies. I think that one of our top national priorities ought to be getting more young people interested in a software technology career. That’s a subject for another post.
But it’s more than a huge numerical discrepancy, as if that weren’t bad enough. The further problem is that too many engineers aren’t good enough to clear the hiring bar. Software engineering teams today are mostly not willing to compromise on their requirements, and are willing to let positions remain unfilled until the right skillset appears.
Now one can make a compelling case that, a lot of the time, the hiring bar is unreasonably high, at least with respect to specific experience. A great engineer is going to become productive quickly even if they’re not familiar with the technology stack and/or product domain. That’s also a good subject for a future post.
But based on my experience, and many conversations that I’ve had with outstanding software people of all levels, from CEO on down to intern, that’s not even the root of the problem. Here’s what I think:
Too many developers have lost their sense of wonder and passion for creating and building great software, or maybe they never even had it in the first place. This comes across loud and clear in an interview in many dimensions.
Why did you get into software? Does writing code feel like a fun, amazing adventure to you, or did you pick computer science because the demographic studies indicate it’s a solid career choice? It’s easy to say, “I’m passionate about software development,” but does that professed passion take the form of recreational coding, of constantly playing with new languages and platforms, of contributing to open source, of creating your own body of project work and sharing it on GitHub? Do you keep up with reading, do you attend meetups? Do you let others review your code to see how well it’s structured and documented? If your company doesn’t use the latest-and-greatest languages, or think about scalability, or use Agile, do you try to pick those up on your own?
Life happens, and demands of family and other responsibilities start to take up more and more of our time. Finding free time to code and keep up becomes harder and harder. It’s easy not to do the work. You don’t have to turn into the guy in the picture at the top of my post. But I guarantee that if you begin today to make even a small effort to kindle or rekindle your sense of excitement about the amazing world of software, not only will you do better on your next interview, but who knows where your career could go?