The Soft Skills of Development

My wife asked me a question that got me thinking about my skills as a developer. She said, "My co-worker's son is really good at programming as a 15 year old, does that worry you?" She's implying that there's a good chance that he will be better than I am at my craft because he started so early, perhaps pushing me out of the market like a young hot shot athlete causing the older veteran to retire. My answer is unequivocally, "No, it doesn't worry me."

I could approach the answer from the standpoint that there seems to be an insatiable appetite for developers, and from a simple supply and demand perspective, it's currently not a concern. This isn't the NFL with a hard limit on the number of positions in the league. In fact, it's likely true that the more developers there are, the more jobs and demand for developers there will be. Developers create products and start companies that require more developers - a virtuous cycle that doesn't seem to have an end in the near future. But, that's not the angle I want to take with my answer.

The better answer is that technical skill is only one part of being a developer, and I'd like to argue that it's less important than personal skills. I would rather work with someone who has solid personal skills, maturity, and work ethic, and only adequate technical skills, than the other way around. Notice that I say "adequate"; if they don't have the required technical skill, they can't do the job, and the rest is irrelevant. Furthermore, I flat out don't want to work with someone with poor personal skills or work ethic, no matter how technically gifted they are. It's just not worth the pain. Your career is too short, and there are too many opportunities in this profession to waste your time with difficult people.

Every manager/CTO/founder/etc that I've worked with feels the same way. If you're a joy to work with, have a mature attitude, show up for the job day in and day out, and have adequate technical skills, you'll always have a job in this industry.