This TED Talk really spoke to me. While I am a person who has specialized early (I’ve been programming since I was ~8 years old), and have been reasonably successful because of it, it’s important to remember that there is a wide variety of paths a person can take to become great at something. It’s also important to remember that aptitude for a given task isn’t only gained by constant practice, and we shouldn’t expect it to be. Given two developers, the one who has been programming since they were 8 likely has seen and solved more programming problems, but is that what you need? Or do you need the person who has seen a lot of customer service issues, and knows enough programming to solve a few for your business? Maybe you need both people to work on a team.
It’s important to think about this topic for ourselves: Maybe it’s okay to branch out a little bit. Maybe it’s okay to change career paths: you might be able to bring some fantastic new viewpoints to your next gig. It’s also important to remember this for the people around us that we interact with. Are we limiting ourselves and our teams growth by hiring only specialists? Are we only associating with the “developers since they were 8” crowd? Do we scoff at the college friend that took a year off to do Woodworking? Probably makes sense to branch out a bit there too.
I'm a software engineer in Austin, TX. I've built a lot of different systems, and worked on a lot of different types of projects. I also write for a host of other blogs, and decided I should probably start my own.