I started my career working for an organization that was building a platform for vehicle manufacturers to consolidate and run analytics on their sales.
I started off having to use technologies and frameworks I had no experience with yet (ASP.NET, T-SQL, etc.)
For the first few months, I felt overwhelmed.
I took forever to do simple things like adding a checkbox to a web page that would get stored in the database!
Maybe you’ve been there too!
After a few months, from time-to-time, I would build SQL scripts to migrate large sets of data from one vehicle manufacturer’s old platform to this new one.
Think something like ALL of Mercedes-Benz USA’s data (sales figures, inventory, etc.) for ALL dealerships in the United States over a period of a decade. Lots of data.
One of the core problems with migrating the data was that, for example, certain codes (for financial accounts, SKUs, etc.) in one system might look totally different in another. It might not even exist at all!
We had to extract the proper code by parsing patterns or manipulating old codes.
Now, while in college, I fell in love with regular expressions. So I was really good at them (not so much anymore! 😂).
My colleagues - peers with over a decade in the industry - would get really surprised when they would see my scripts. I was basically just using regular expressions and SQL to manipulate these data sets. My scripts would typically take just a few SQL statements to do the job.
My colleagues, on-the-other-hand, were building individual command-line executables with C# that would first fetch some data from the database, loop through them and do some stuff and put some data back into the database.
My solutions would take a few hours or minutes to run, while theirs would take days to run.
Quickly, I became the “go-to” guy for whenever the team had encountered some really hard pieces of data to extract! All because I knew regular expressions really well!
So, what came out of that?
That placed me in the minds of my peers as someone who was a skilled programmer.
Sure, I was known for doing something well in a very specific situation.
But, our minds usually don’t place significance on people who are good at doing the general day-to-day stuff. The people who are remarkable at something always stick out.
The people who are remarkable at something always stick out.
Where does this lead?
When new opportunities arise to learn something new or jump onto some new projects, you’ll be at the top of everyone’s mind.
You’ll simply be viewed as someone who can do remarkable things.
Now, I’m not going to tell you to learn regular expressions 😂.
But, for me, it started with regular expressions. Then it was front-end development. Then it was modelling business rules and system architecture.
Here’s my advice: Find a gap within your team or company that could help solve some important problems your company is facing.
But you’re thinking - “Easier said than done!”
Practically speaking, if you are early in your career, just keep an eye out for whenever your peers seem surprised at some skill or way of doing things you have.
This might indicate a gap that could be helpful to your organization!
For those more seasoned developers, it should be more apparent what gaps need to be filled. And, the more experienced you are, the more you should naturally drift into a position of mentoring others.
Once you are seasoned, you can use this principle and apply it to the global community - not just your internal company. Try to figure out where there is a need or where certain trends seem to be pointing.
Here are some diverse examples that are taken off the top of my head (not all devs):
- Martin Fowler: Enterprise software
- Steve Smith: DDD and architecture in .NET
- Justin Jackson: Teaching devs to market stuff
- Chris Do: Helps designers become entrepreneurs
- Sarah Drasner: Vuejs and web animations
Yes, it’s hard.
If you can’t find anything yet, then just pick something! You need to stick out!
You can always move into other areas of specialization later if you find something else too!
Dan Abramov used to be a .NET developer - now he’s known as one of the top react.js developers!