If I make a list of things which influenced me the most during the year 2019, Naval Ravikant’s podcast with Joe Rogan will top that list! It made a lasting impression and changed my viewpoint on life and career.
During this podcast, Naval uses an interesting metaphor on why people find him interesting. If you see a bear in the circus, that’s common. If you see a performer on a bike, that’s common. But if you see a bear on the bike, that is certainly uncommon and interesting. Naval brings an interesting mix of entrepreneurship and philosophy, hence the ‘Bear on a Bike’ metaphor.
This got me thinking about some discussions I had with members of my organization around specialization vs. generalization. As an engineer, the progression of career is usually associated with the increased knowledge, increased scope, and increased impact; either as an individual contributor (scale up) or as a people manager (scale out). On the path to this progression, you can learn many skills which will be required or useful where you are going. If you have a luxury, you could try to be intentional on what projects you are executing to learn these skills.
The bear
Well, you may have already guessed it, but as a software engineer, you are the bear! Your engineering and problem solving skills are your ‘bear-ness’. However, you are not the only bear in this circus! This circus could be anything; a job, a promotion, good projects, startups and whatnot. How do you become an interesting bear with some edge on the other bears?
The bike
So the trick is to teach the bear how to ride a bike, or a unicycle, as Naval says. What is the bike/skateboard/unicycle of our industry? You can look at it from a couple of different angles. Let’s start with the specialized functional areas.
Front end
Windows app dev
Cloud Services
Game dev
Mobile dev
Data Engineering
BI Engineering
Network Engineering
Site reliability
Security
Privacy
Accessibility
Deployment technologies
Scalability
Performance and optimization
Localization & Internationalization
Full stack
I am definitely missing others, so please feel free to add them in the comments.
As you grow in your career, change teams, or change companies, you may have an opportunity to be selective on what you want to do. Try out different things, figure out what you are enjoying and what works well with your strength; specialize on one or more of these. Learn to ride the bike.
In addition to diving deeper into specific functional areas of software development, one can also learn the ropes of the industry they are part of. Although, I should say that it takes longer to achieve differentiated specialization in any verticals.
Financial services
Legal & Contract Management
Insurance
Healthcare
E-commerce
Hardware & embedded
Gaming
Media
Education
Many more…
Today, if you look at the startups in any specific vertical, chances are high that it is founded or supported by experienced people from that industry who have spent years to understand the customers and/or nuances of that domain.
The foundation of technology is critical, but one has to build on top of that foundation. What you build and how you build it is up to you, whether it is functional expertise, industry expertise, or both.
Also posted on LinkedIn
Top comments (0)