In my many years of being a software developer there’s one thing that I’ve seemed to have experienced on and off throughout this time: Fear.
- Not knowing the latest language/framework/architecture
- Falling “behind” everyone else
- Not being the best
- Not being as good as others
- Being wrong
- Making mistakes
- Looking stupid
- Not being able to learn future technology X
This list could go on…
I’m not alone in these feelings. I have been told the same by, or seen this trait in, other developers I’ve worked with over the years.
We don’t have to be super heroes
So what can we do as a community of developers for us all to feel happier and more fulfilled?
I think if we want to make our professional community better we can start by learning to gives ourselves a break.
Here’s five ways we might be able to do this, feel free to disagree or add your own ideas in the comments section.
1. You Don’t Have To Wear A Cape
We don’t have to be super heroes.
There are some crazy-smart and talented people in our profession, I’m talking about (among many, many others) people like Martin Fowler, Uncle Bob Martin, Kent Beck, and Scott Hanselman.
It’s ok to be you
We should absolutely allow ourselves to be inspired by these kinds of people and aspire to be all we can be, but we shouldn’t feel that we need to “equal” them.
If we play sport as a weekend social pastime, we don’t expect to be equal to those sporting-greats that have also played that sport. I run (badly) for exercise and I don’t expect that I should be able to run a marathon in record time, but I get better at it (very) slowly.
We all have our unique blend of abilities. We’ve all had different life-paths, different opportunities and different challenges.
While I’m certainly not suggesting that complete apathy is the way to go here, more that (at the risk of sounding like a self help book) that: it’s ok to be you.
2. Back To Basics
Technology changes all the time. Even the rate of change seems to be increasing year-on-year. So we really can’t “know” everything in the world of software development today.
Feeling bad about yourself for not having used X or never having implement Y is not productive and not good for your self-esteem or happiness.
We can tend to focus on all the technologies we haven’t learned or used yet. This can give rise to the fear of a failed career and future employment doubts.
Take 20 minutes somewhere quiet, maybe your lunch break and write a list of all the things you know and have used; you may already have a partial list on your CV. If you try and compare this list to all the possible things you could know, you will always fall flat. So don’t.
One thing we can do us focus or re-learn some basics things such as the SOLID principals of OO design, or ER modelling. Perhaps go and read or re-read books like Code Complete or The Mythical Man Month. The point is to focus on some of the foundational things that underlie a wide range of technologies.
This list is from 2007 but is still probably a decent place to start. Otherwise.
Perhaps by re-laying our foundations we can see these fundamental things in action when we need to learn new things, and in doing so to feel more “grounded” and able to learn?
3. Go Public
I know many developers who don’t blog or who don’t even have a Twitter account. I don’t think this is intrinsically a bad thing, but if the only comparisons you make are to the other developers in your company then you’re not comparing yourself to a big enough sample size.
Should we even be comparing ourselves to other developers? It’s useful to be aware of how our skills relate to other people’s skills in that it can inform us of potential learning opportunities I guess…
The point I think I’m trying to make is that by starting a blog (however humble) or getting on board Twitter you get access to a greater, wider, more diverse group of other developers to interact with. By “putting yourself out there” you can see the great and varied group of people that make up our professional community.
4. Teach Someone Something
I love helping other people learn stuff. It makes me feel good.
There are people that don’t actively “teach” and also (unfortunately) those that actively withhold knowledge from their fellow developers.
If you think you have something to teach another developer, then teach. You’ll be helping another developer on their professional journey, and you’ll feel good. Teaching someone something (even if it’s relatively a humble thing) can help alleviate fear that you’re falling behind everyone else.
5. Be Kind
Try to be kind and compassionate to others. Also to yourself.
Compassion is a key attribute in Buddhism, and in religions around the world. In practice it can be a hard thing to practice in the light of a mean-sounding comment on Twitter or from a fellow worker.
We developers are keenly intellectual, sometimes at the expense of emotional considerations. As a quick test, how many fellow developers have you worked with that have ever mentioned “kindness” or “compassion”? Perhaps one of the ways we can give ourselves a break is by giving others a break too.