Staying Relevant In My Field
Staying relevant in your field is ridiculously hard. It's even harder when your field is broad, and even harder when you're not quite sure where in the broad spectrum of your field you want to land.
I read an example of a financial success story recently. A woman who drew caricatures for a living decided she could make more money by directly contacting new clients, charging a higher rate, and focusing on her clients. I may be wrong, but when I think of the art of caricatures, it seems to be a pretty narrow, niche field. You draw them. Who your clients are might be a pretty open choice - school events, amusement parks, company events, sidewalk drawing, fairs, weddings, etc. However, when comparing it to the software development field, where one might be a developer in cloud services, embedded systems, Windows, iOS, Android, Windows Mobile, web development, python, ruby, or node, all of these at different levels like consulting, custom software, product development, freelance, enterprise, etc. I'm by no means saying that the skill needed for being a caricature artist is little, or easy. I'm simply saying that the relevant skill is very decided and focused.
I suppose one could argue that the analogy is bad, and it really should be something like caricature artist : artist :: python developer : software developer because it's just a narrowed niche of a skill or field.
In any case, the point I want to make is that staying relevant in your field is hard. Even if I knew for sure that I wanted to be a .NET web developer for my entire career, I'd have myriad stills to learn and keep up with - responsive design, new versions of .NET, new versions of MVC, Web Design skills and trends, Bootstrap, new versions of C#, new cloud services like Azure, new programming patterns, new database and server versions, new versions of EntityFramework, trends in code and web security. I might get pulled into tangiential skillsets like SharePoint or Mobile Web. There is a crazy amount of progress and expansion being made in my field every single day and there are tons of amazing people forging their way into new territory. In the time since I started high school, less than 10 years ago, we've seen the birth of:
- jQuery
- MVC
- Microsoft .NET versions 2 through 4.5
- Bootstrap
- Wordpress (out of beta)
- Python 3
- C# 2 through 5
- iOS Development
- Android Development
- Windows Phone development
- Windows 8/RT development
- Git
- GitHub
How do we keep up? Software is advancing at a breathtaking pace and when you work in the software industry, it's terrifying and oppressive. How can I compete with the likes of John Reisig, who created the most widely used javascript library on the planet and now works at an organization aiming to open source education? How can I compete with Scott Hanselman who writes interesting, helpful and informative blog posts, creates awesome podcasts, works on the bleeding edge of software and cloud computing, and works at Microsoft (not to mention the fact that he seems like a great dad and husband, too)? How can I compete with Paul Betts who works at Github making awesome software and apps for the company, but is also constantly open sourcing tons of tools and libraries that are helping people make great software all the time? There are so many others, too.
I'm insignificant, and I don't know how to keep up. I'm working in an industry of custom software development, where I work with a whole bunch of things, but none of them very deeply. How could I ever be relevant in my field? I try to follow these projects, read about new software and tools and patterns and skills.
I play the games, and I use the software, and I read the articles and I download the apps. I've worked so hard my whole life and I'm still on the consumer side of all of those. I want to be the developer, the creator, the writer, the publisher. But it's so. damn. hard.