Anti Skills
You learn a well-paying skill and years later - it comes back to hurt you in unexpected ways. That's an Anti Skill.
Consider this hypothetical: You start your software engineering career and build a reputation as someone who is good at iOS development. Each year, the money you make keeps improving as you keep getting better at it.
The downside? You'll find it hard to get job offers outside of iOS development [1]
Note that this increased pay might still be less than even starting pay in some other fields, say Data Science -- but you've Golden Handcuffs on you now, don't you?
Congratulations! You've hit a local maxima!
But what if you're someone who enjoys doing iOS development? I'm super happy for you! You'll most likely not just be good at it, but great at this and enjoy it.
What is an Anti Skill?¶
The discussion gets more interesting when you consider that you're not just a software engineer anymore, but a mobile app developer. When you say "I'm good at iOS", the hiring market hears it as "I know only iOS development".
Unnoticeable to you, the market forces have limited you to a mobile developer. {{< tweet user="ponnappa" id="1415323073444597761" >}}
But when you started, did you know that this would happen? That learning these skills will reduce your optionality in the future?
"Anti Skill" is a set of skills which when advertised take away your future choices.
Anti Skills prevent you from adapting quickly to the changing environment around you. Anti Skills are skills that you don't want to tell people about. This has nothing to do with whether it's a good skill to learn or not. Some of these skills are actually good skills to learn e.g. React, SQL, Android/iOS from top of my mind.
What can we do?¶
To prevent this, keep your identity small. That includes not self-identifying by a technology, platform or worse, a JS Framework.
This will make it easier to see when/if you're stuck. Other way to say the same thing, if you think of yourself as a mobile developer, you might be better off thinking of yourself as a software developer specialising in iOS development.
This way, when something is not working, you can see what's going on.
If you're in a position where you're stuck at a local maxima -- resist the temptation to go up the ladder. Think of taking titles into your identity on as taking debt. Job titles are not your identity. They're prestige handcuffs, and you're not going to be able to get them off you easily.
It might be harder to get out of these impressions at your existing job, because they tend to be sticky. In such scenarios, moving to a different team within the same company or a different company altogether might be preferred. I know of atleast one case where someone had to change jobs to get a 'soft' career reset.
This reset, speaking from personal experience, is quite uncomfortable and requires you to fall down a skill-cliff and climb up again. If you're considering something like this, feel free to hit me up with your thoughts. I'm here to help.
The worst of these scenarios is that in a few years from now, you are great at something you don't enjoy anymore. And now, it's too late to do something else because you're stuck with it. Act now!
[1] Changing to a different role and/or adding skill sets might still be possible within the organisation you already work at. Lateral shifts are usually harder.