How I chose my specialization as a developer
Early on in my development career, one of the toughest choices was what to specialize in. Programming is such a broad subject that learning it all is basically impossible! How was I to know what to concentrate on?
What specializations are there?
A non-exhaustive list of specializations from a random post on the internet:
- Frontend – help shape the user interface and experience
- Backend – create database optimisations and business logic
- Embeded Systems – work on hardware specific software
- Data Pipelines – produce effective data flows for machine learning and storage
- Consulting – communicate how software can help a client’s needs (or discover their needs for them)
- Project Management – delegate work effectively between members of a team
- Games/Graphics – help implement technical game mechanics and effects
Some people have particular interests that instantly fall into a specific category listed above. If you are one of these people, then why are you even reading this article?
For others such as myself where basically the entire list sounded enticing, how was I to choose? Here is what worked for me.
How I chose
- In order to grow the quickest as a developer, I will need to do it full time.
- In order to get a full time job, I’ll likely have to move.
- If I have to move, I would like to stay close to my current location (to take care of family).
- Therefore, in order to get a job close by (the Cincinatti area) I should choose my specializations according to the job market in that specific area.
Long story short: I perused the online job postings in my area and noted what positions seemed most common. At the time, it seemed as if there was a huge demand for .NET developers nearby. This was a perfect fit for me as we mostly used Java at my college.
How it worked for me
My choice of specialization worked out great! As you can see in my About page, I ended up landing a sequence of jobs that have led me over time to basically becoming an expert in C#, SQL, and Angular/TypeScript/Front-end work.
Remote work culture
This methodology may be mostly obsolete in 2021 as remote work has finally went mainstream due to the global pandemic. As such, you may be lucky enough to specialize in whatever you please (no matter how niche) and be able to land a remote job.
However, note that one of the things remote employers look for is a history of successful remote work. As such, landing that first job may be tough.