|
I'm currently going through a bit of a struggle with what I do. I've been programming for over 20 years now and in that time I've explored a lot of corners of software development and computers in general. I started with C/C++ and wrote games and played around with game engines. I learned PHP and SQL to generate basic "dynamic" sites. I learned Python and wrote commandline tools and Qt applications. Moved to Flask/Django to create websites and extended my knowledge with JS, React, and learned how to set up servers. I played around with security, reverse engineering, exploit development, web hacking, and malware analysis. I'm learning Elixir now. I've dicked around with arduinos, raspis, and simple circuitry. I've put in place devops processes and tools where I work. I dabbled with image processing, VR, and interactive experiences. Yet I wouldn't consider myself particularly knowledgeable in any one of those things. There's people who find their niche and they learn more about it each day and never tire of it, but I can't seem to find that thing myself. At work I often do a number of different things, so again, I'm not solely focused on one thing. The biggest issue is that it makes looking for work difficult as I can't say I'm an expert in say micro services, or I'm a React pro, nor that I am an expert Python developer. Apart from saying you're a "generalist", how do you best sell yourself when you don't have a specialisation or a specific area you are focused on? |
- Distinct talent in problem identification/discovery (i.e. see problems other people miss before they cause pain)
- Consistently producing designs that address the core problem in a general but extensible/flexible way (i.e. design to solve a class of problems rather than a particular one)
- Deliver [r]evolutionary value (i.e. produce solutions which amplify/multiply the value the rest of the team can deliver)
- Being confident out of the spotlight (i.e. trusting that my contributions will be valued and recognized by my peers and leadership even if it doesn’t show up in end user release notes or investor decks)
All of that adds up to my career increasingly being focused on library development, process optimization, tooling, plumbing, etc. It’s personally more gratifying to me than a lot of shiny feature work, and it improves the lives of my teammates and in turn the work they can produce.