DEV Community

Carl Hembrough
Carl Hembrough

Posted on

When programming was no longer fun

I loved programming. I loved being able to create something out of nothing. Solving the puzzle of the program and seeing it come to life. Constantly learning new things while hours flew by, and better yet I was paid for it.

I went to one of the best universities in the country for computer science. I cruised into my first job after a successful summer placement. I loved my work and I did well. I moved from a junior position to senior position and was recognised for my hard work and contributions.

Somewhere along the line it stopped being fun. Suddenly I hated going to work. Every day I battled with a growing anxiety that would not go away.

What happened?

  • I started comparing myself to other people that were better than me.
  • I started to fear doing things wrong and being a failure.
  • I started to fear not knowing enough and constantly tried to learn everything.
  • I started to feel a crushing weight of responsibility for my job, partner, children, mortgage, and bills
  • I started to fear that I would be exposed as a fake.

What I did not realise then is that I was facing a severe case of impostor syndrome.

Instead of enjoying my work I would constantly be worried that I did not know enough, and that I was not doing enough. That I was not providing enough value. I forgot about my accomplishments and emphasised any mistake I made as a complete failure. I started to seek perfection in a world where it's impossible. Not only did I seek perfection but I expected it of everyone else. It was a recipe for stress and unhappiness.

I remember doing demos of my work in the past. I was confident and happy to do them in front of a number of people. Suddenly I dreaded them. I would become so nervous my voice would tremble as I tried to talk. My thinking was clouded by the dread of saying something stupid, and what others would think of me.

The crushing anxiety was preventing me from enjoying my work and doing well. It was taking its toll on my health. I would feel drained of energy and not sleep well. It was putting strain on my family and relationships. It felt like a ticking time bomb.

It has been stated that up to 70% of people experience impostor syndrome. The trouble is you feel like you're the only one, as you're not aware of anyone else going through it. There is a good chance that one of your co-workers is experiencing it right now, but it may not be obvious that something is wrong. It can manifest itself in different ways, and people are good at covering things up especially in a professional environment.

Some points for anyone experiencing it

  • Recognise what you do know. It's more than you think.
  • Recognise what you have accomplished. You earned it.
  • Take a compliment when you get one. You deserve it.
  • Compare yourself only to yourself.
  • Realise that nobody really knows what they are doing. Everyone is on a learning journey.
  • It's OK to not know everything. Software development is too vast and moves too quickly to know everything.
  • Usually you know just as much as others but in different areas.
  • Teach others, it will help you realise how much you do know.
  • It's OK to fail. In fact it's a necessary and important part of life. Learn from it.
  • It's OK to be wrong. Be open to feedback.
  • You will forget things over time. Go back over things you have not used recently.
  • There will be egos in the workplace that talk down others. Ignore them.
  • Not everything you produce needs to be perfect. Software development is (as is life) about incremental improvements. You are not that piece of code that you put together in a few hours and needs improving.

Assume that everyone else has impostor syndrome. Tell someone when they have done something good. Tell them what they are good at. Tell them it's OK if something goes wrong they did a great job. A small comment can go a long way. Having a team of people doing this for each other will foster a healthy environment. We are all human beings and everyone has fears and doubts. Everyone has problems and hardships they are facing outside of work. This idea often gets lost in the veil of professionalism, and we become ever more disconnected. Once we realise and appreciate this we can move towards a more personal and connected workplace.

I am not sure that the feeling of impostor syndrome will ever completely go away. Though it has faded since understanding and recognising it. Knowing that many others experience it, and that it's quite normal also helps. I am happy to say that I am getting back to a place where programming is fun.

Understand that it can hit you at any time. It may be when you're just getting started in programming, or it may be when you have been doing it for 10 years. It may be when you have a newborn baby at home. It may be when you get made redundant and flunk an interview.

What is most important is an awareness of it. Take it seriously. When it does come knocking you can recognise it and work on it instead of letting it consume you. Connect with people and help them to prevent feeling like an impostor. Hopefully you will get the same in return. Lets work to ensure that programming is always enjoyable.

Top comments (67)

taggervng profile image
tag hatle

Assume that everyone else has impostor syndrome.

This is great advice and a great reminder to look outside ourselves. Anxiety and imposter syndrome can make us too focused on ourselves, I've definitely experienced that! When I go out of my way to do what you mentioned, complimenting people on their work or encouraging them, I benefit too and feel encouraged myself. We need to connect with the people around us and remembering to do that can be a challenge.

carlhembrough profile image
Carl Hembrough

Thanks for your comment. I agree it can be a challenge to think of others when you are struggling yourself.

ben profile image
Ben Halpern

Usually you know just as much as others but in different areas.

Yep. Great point, as are the rest. Nobody is universally skilled or unskilled. We all bring valuable knowledge, background, perspective, and talent.

bigos profile image
Jacek Podkanski

yes, but we do not seem to know what the management wants and thus we are a genuine impostors

carlhembrough profile image
Carl Hembrough

Thanks Ben :)

le_newtype profile image
Nicholas ―M―

I've actually been struggling with this a lot myself for almost a year now, but it's only been recently that I've started to identify the problem to try to fix it. I truly hate waking up every day and thinking "Is today the day everyone figures out I'm awful at everything?," even though 99.99999% of the negativity I face professionally is self-generated.

This was a great read and something I definitely needed to see. Thank you!

carlhembrough profile image
Carl Hembrough

Thanks for your reply. I am glad you liked it :)

hawicaesar profile image
HawiCaesar • Edited

It's OK to fail. In fact it's a necessary and important part of life. Learn from it.

Very important, as Dev's we have days where we fail but we come back stronger. When you lose don't lose the lesson.

I love this post. I feel you have shared a rather sensitive side a lot of people shy away from. Talking about it does help and we also need to connect with those around us.

codemouse92 profile image
Jason C. McDonald

Excellent article! Although I also write and speak on this topic, this is a constant struggle for me too, especially as I just released a whole bunch of code. I find myself worrying that was I wrote isn't good enough, isn't clever enough (or is too clever?), isn't useful enough, etc. This reminder couldn't have been more timely. Thank you!

rachbreeze profile image
Rachel Breeze

Thank you for this article. Imposter syndrome is something that does hit us all, and working in a great and safe team which reminds you of your knowledge and helps you fill in the gaps is part of combating that. We have a "cheers" slack channel at work where we recognise the value each of us bring to the team.

Also run team meetings as a team building/ brainstorming session that helps stop one upmanship - which can lead to feelings of negativity and impostor syndrome.

This is a top tip in your article too:
"Teach others, it will help you realise how much you do know."

It is always recommend. It doesn't have to be teaching at work - eg helping out at a CoderDojo can remind you why you became a developer in the first place.

jlhcoder profile image
James Hood

Great post! I work with a lot of people suffering from this. I definitely went through a phase of self doubt as well. Ironically it was after a very large success. I put pressure on myself that my next project(s) had to be just as successful and it made me afraid to try anything at all for fear of failure.

It's still a work in progress, but for me, embracing failure was a big part of getting through it, as well as studying mindfulness and self-compassion. I wrote a blog post recently about embracing failure. Still need to post it on, but here's the link from my personal blog:

Thanks again for sharing your experience!

carlhembrough profile image
Carl Hembrough

Hi James - I am glad you liked it, and thanks for sharing yours.

pedrootero profile image
Pedro Otero Prada

I think I've been suffering this for a while. But it came from realizing I had not worked hard enough to stay up to date with recent developments in the industry. So I started, as described here, to compare myself with people that were more experienced, some at a younger age than mine. It helped a lot to compare with myself and realize that even though there's a lot to do, I have indeed learned more since I decided it was time to do something about my skills.

carlhembrough profile image
Carl Hembrough

Hi Pedro thanks for contributing. It is easy to start comparing yourself to the younger people who have fresh knowledge on a subject when yours is becoming stale. It is tough to find some balance so that you can keep up, but not let it become a problem.

dhofca profile image
Maciej Owcarz

Story of my life. Thanks for sharing.

mentzel_iudith profile image

Excellent post, and, for sure, only a person who is not an impostor by himself can think so deeply and share it with others.
As a matter of fact, the real impostors do never experience the feeling of not knowing enough, let alone that of admitting it publicly.
For starting to be worried about how much you miss to know, you should really do have to master a lot of knowledge in your own field(s).
Unfortunately, many times in life all that ones misses for knowing more is the chance of doing so. If a person has proven valuable skills in one field, he has no reason of not proving the same in many other fields ... but, usually, not the best ones are those who are given the chance of raising and developing as by what they deserve.
Career fights do matter a lot in one's chances to progress further, and mostly not in a positive and constructive way.

tuxbsd profile image
Josh Stephens

Bookmarked this for reference. I am working on a few of these. Mostly by trying to give more talks at our local python meetup and to start each day by reflecting on where I was yesterday and where I am today. Doesn't always work but it has been a good start.

Wish you the best of luck and please don't give up.

kimpastro profile image
Kim Pastro

Carl, this article warmed my soul. As I'm about to change my job to another one in a different language, I was very concerned about the "fact" that I'm not good enough in that new language and asking myself: what the new team is expecting about my skills? Thanks man.

carlhembrough profile image
Carl Hembrough

Hi Katie thanks for your comment. It is a good point to make that often you are comparing yourself to the public image of others. This is usually a warped view where you think they know much more than you. Especially the public face of people on the internet, as they may be well above the average standard of developer. For every one of them there is probably a thousand developers who do not have that public image and are not as good - and that is fine.

qorrect profile image
charles sanders

This hit home for me to - I have tried to start living by not comparing myself to anyone but myself, and if I can just do one litte thing to better myself, then it's a successful day.

Enjoyed the whole article, kudos.

The rest is sort of unrelated. I have fallen out of love with programming after 17years. I was in love with programming right from the start, I would go over my development books as I was taking other classes. And would code into the night breathlessly waiting to see if I could fix that bug or come up with a feature I wanted.

I'm not sure when it happen, slowly over 2 years. But the things that used to excite me, no longer thrill me anymore, so I decided to make a change.

And that change, to move into a data science or machine learning roll, has been one of the greatest times I can remember in a really long time. Now there are awesome new things to learn, a lot of math I'll need to push myself to get through.

So just my story if someone sees it - is that it also might just be time for a change.

hannah_omu profile image
Hannah Olukoye

Said as it is! Thanks for this.

nickwu007 profile image
Nick Wu

This is a great post Carl, it's something I have been struggling with for the past six months. Even though I have done a fair share of coding, over the last six months I constantly feel that I am nowhere as good as I want to be, and I am not trying hard enough. I feel like in this line of work, which bares a solitude inherently, it is crucial for one to be in a supportive community. Thank you very much for reminding me that. :)

carlhembrough profile image
Carl Hembrough

Hi Nick thanks for sharing. I am glad you liked the post. It is very common for developers to be introverts, which may well amplify the issue.