What you are is what you do

We define our work and our skills using various labels. Right now, I could say that I’m a software developer, a programmer, a product owner, a web developer, an Android developer and all those would be true. Still, those labels don’t tell you much about what I really do, or how much experience I have in each of those fields. Some people use labels that sounds way cooler such as ninja, samurai or hacker, but it doesn’t give then more skills.

Dreaming of adding an extra label to the list is an easy shortcut. I like to think that if I had all the time in the world, I would hack hardware and master all the latest buzzwords in web development, but that’s wishful thinking. I’m sure you also have a long list of things you wish you could do. Nobody can do it all: being an expert in many fields is demanding. Just maintaining your skills and keeping up to date takes work, not to mention learning new skills.

You are what you work on and keep practicing. Time is limited, so you can’t lie to yourself and pretend to be something you only do once or twice a year. Fortunately, this is great news if you want to earn a new label: you can do the work and it will come. You just need to do more of what you want to become, and less of what you don’t want to be.

It’s easier said than done, but if you’re aware of this you can use it to keep working toward what you want. You can drop being a Twitter or Instagram specialist and replace it with something more satisfying to you, like being a security specialist or an open source contributor.

This need real work and practice, and not just going through the motions. You must stretch the limits of your knowledge and try new things, not just read about it or listen to podcasts. Good practice is often frustrating and hurts a bit.

To make a skill part of your life, you don’t need to spend hours on it every week, but it needs to be a regular occurrence. Building a habit of doing a bit every day or every week is a perfect way to grow into a new skill. If you keep doing it, you’ll eventually become good.

This also means that some of your skills will decline with time as you use them less. Especially with technology, things evolve so fast that you won’t be up to date in everything that you ever did. You’re allowed to let some skills go, and it doesn’t mean that you can’t get them back as needed, since you won’t be starting from scratch. You can’t focus on everything at once, but all those previous experience will add to your overall knowledge, making you a better developer.

Your job will never be done

As a software developer, you have to become comfortable with the fact that your work is never truly done. The software you create will always be a work in progress. When you code that last feature or fix that last bug, another one will pop up soon enough.

Also, as you keep learning, you’ll find better patterns that you want to use, or new standards that you want to implement. If you don’t stop yourself, you’ll quickly go down the rabbit hole, only waking up after you’ve sunk many hours to refactor your whole code base. At some point, you have to let it go and ship anyway, because it’s never going to be perfect.

Good software is like a garden. You can pull all the weeds and clean up, but be quick to congratulate yourself because it will stay neat for approximately a day. After this, new weeds will have grown and you’ll have to start over again. Perfection is fleeting in software and in gardening: the best you can do is making sure it’s not overrun by weeds and bugs.

Likewise, there are new languages, frameworks and tools coming out all the time, and you need to keep learning to stay up to date. You don’t have to jump on every bandwagon: many skills can be learned as you need them. On the other hand, changes like new browsers and OS versions will force you to adapt even if you would have preferred working on a new feature instead.

It’s humbling to let go if you’re a recovering perfectionist. When you started out, small problems could be “solved”, and a class could be “completed”, but real life is more complex than this. Life will throw you curveballs, and you won’t be able to reach inbox zero. It won’t come easy at first, but stay mindful that you’re doing your best, but can’t do it all. You’ll learn to be at peace with it, but even this is always a work in progress.