DEV Community

Cover image for You don't want to be un-fireable
Simon Barker
Simon Barker

Posted on

You don't want to be un-fireable

I saw this tweet the other day and it made me sad.

Development is a team sport

Unless you are flying solo like Marco Arment on Overcast or David Smith with his many wonderful apps, then chances are you will be working as part of a team. As is common in a team there are people with varying experience levels and skills. For the team to work at its best, knowledge needs to be shared.

Sadly, some team members choose to indulge in "Empire Building" where rather than share their skills and knowledge they would rather become vital. The hero. The only person with enough knowledge in certain areas that can fix issues.

These people don't like to share.

They were probably the kid in kindergarten who hid the red fire truck at the end of every recess so that only they got to play with it.

Gatekeepers are building their own cell

Before talking about how to avoid becoming a gate keeper I want to speculate on why some people so readily indulge in this behaviour and why, from their point of view, it is reasonable.

You see, these people are terrified of being replaced.

They are scared that new people coming in will know more, work harder and cheaper than them, so they build a little empire of secrets and infrastructure that only they understand. They are protecting for downside risk and in doing so a reinforcing side effect kicks in that solidifies their belief that they are just a new hire away from obsolescence .... they never get promoted.

The reason they never get promoted is because they are made themselves too important in one area and are quite literally irreplaceable. The problem with being irreplaceable is that they are also un-promotable, so they fall into this toxic positive feedback loop where they feel more vulnerable to they hoard more which makes them less likely to be promoted reaffirming their fears. They have protected themselves from downside risk so well that they have entirely removed all upside risk, they trapped themselves.

They have become the gate keeper that @alegarciy talks about above.

How to not become a gatekeeper

While being un-fireable might sound great, the reality is less so, as highlighted. So, how do you avoid becoming so yourself?

  1. Remember that a key part of being a senior developer is getting the most out of other members of the team, you should be a multiplying factor. A force for good. So get used to this from early on. Openly explain your code to other people, grab 10 minutes with someone during a piece of work and tell them what you're doing, ask for their thoughts. Get used to being open about your code.
  2. Invite people from other teams to review your code. We all fall into the trap of inviting the same few people to review our pull requests. Break the pattern once in a while and add someone new to the mix. They will be exposed to more of what other teams are doing and you will get fresh input.
  3. Write documentation. I know it's dull but it's vital for a healthy team and codebase. Docs increases organisational knowledge, reduces your inbound requests for help and improves your communication skills. It can even catch bugs because it forces you to look at your code from a new perspective.
  4. Stay up to date. This doesn't mean doing 10 Udemy courses a year but at least keep abreast of new frameworks and carve out some time each year to try a new technology in work or as a side project. This will keep you employable and stop that fear of "being replaced" building up.

The trend here is transparency. If you are transparent and proud of your work you will beat back the negative, gate keeper tendencies that can build as you move through your career.

Let your code thrive in an open museum, not locked away in a private collection.

Top comments (1)

thephydaux profile image
Chris Kent

No one is unfirable, and gatekeeping certainly doesn't make you unfireable. If anything it makes you more fireable, why keep someone around who activly works against the team? The most competent devs seem to be the ones who are willing to teach and share. The person that multiple people are comfortable asking for help, and actually help, is much more of an asset to any team than the gatekeeper.
If you gatekeep then no one shares with you, it's two-way. You will slowly fall behind as the team's problems and questions are kept from you because you are no help.
When you share, you learn the areas of the business that are more critical, which parts of the codebase are more problematic. And you end up having to learn more so you can help with the problems that are on the edge of your knowledge.
I think gatekeepers tend to be incompetent devs trying to hide behind what they know. Or fearful that they'll be found out if they're asked to work outside of their gated area.