Firstly, what is a generalist? The dictionary says: "A person competent in several different fields or activities."
I've called myself many things in my career, from polyglot to geek diva but one thing I know I have always been is a generalist.
Don't get me wrong, I know many things well and with great depth and understanding but there is not one thing that holds my attention over all other... ooooh, sparkly lights!
My talent is the ability to learn very fast and articulate and implement concepts in any technology.The good developers that I know are very much the same. They understand concepts and ideas and learn fast by putting those building blocks together.
Of course, there are those who can recite APIs to you. There are those who champion their language over all other lesser languages. There are the ones that dive in to every new shiny technical topic with vigour and a dizzying sense of intoxication. I say... to each, their own.
My job is an interesting one. A Premier Field Engineer (PFE) possesses amazing depth of knowledge in an area. They are the go-to girl for Item X. It is impressive.
What I've realised is that the developer space is massive and as a Developer PFE, I'm expected to know something very well. That worried me earlier this week as I sat and wondered what I knew really well.Then I stopped.
I am great at being a developer. Any language. Any concept. Any layer of detail or abstraction, I can understand with little effort. I've built big things and small things. I have watched the software development world mature from cranky tots to pimply teens to a kinda cute 20 something and now a talented 30ish year old.
I'm not supposed to learn a single product. I am supposed to keep being able to build great software. From inception to deployment and on to extension and deprecation.My specialisation is knowing what to build and how to build it, the right way. I see pain points and know instantly how to treat them. I make processes leaner and developers more rigorous and thorough in their craft.
So, the generalist stops and realises that she hasn't wasted her time learning a lot of things about a lot of things. She is more than just competent. She is agile and has aptitude and attitude.
I have specialised. I just didn't realise it because I hadn't attached myself to a trademarked tool.