An interesting counter-intuitive learning.

Here goes some techno-philosophy.

As a software engineer, you learn a lot in your career. Each day produces something wonderful, something new to learn, or sometimes a new perspective on things you've been doing for years. You just need to pause and think about your journey every few days. One of the most counter-intuitive epiphanies I've had is that trying to make myself redundant makes me a better engineer.

Obviously, this is also hard and scary. It is so easy to go about doing your work, at the risk of becoming lazy, disinterested, outdated and afraid. Your work becomes monotonous and you are no longer improving. You are afraid of 'divulging too much of your trade secrets', and are afraid of becoming redundant.

You just need to add a pinch of perspective to see the good side.

What do you gain by trying to make yourselves redundant in the entire software lifecycle? You document better. You record training sessions. You organize them, share them. Onboarding new team members is easy.

You can take vacations as you please (mostly). The world doesn't end when you are away for a week. Or two. Projects don't suffer. You don't have to plan vacations months in advance.

There is great communication amongst the team. No one needs to call only you to ask something (mostly). Everyone knows the plan. You don't become a bottleneck in achieving short-term milestones.

Every software engineer should try to make themselves redundant. That is the way to become a better engineer.

You start automating. You try to stop doing anything monotonous.

You have more free time. You start learning, experimenting, trying new things and failing, and having enough time to afford to fail, you learn again.

And the very best, at the end of it all, you are still not redundant. The very process of trying to do so takes you to the next level.

<back to work>