How do I get my confidence back?
May 31, 2012 12:51 AM   Subscribe

I've lost all confidence in my (work) abilities. What can I do to get it back?

I do research in practical, applied computer science. Two incident in the last month have had me loose all abilities in myself and I am fighting the urge to drop out of the discipline.

In the first incident I was carrying out a design for an application using a certain data structure and had spent about a month on it before a colleague challenged me and I realised I was using the absolutely wrong approach. What destroyed me about this is that it's a fairly basic mistake that I made and hadn't realised. This really shook me to the core. In the end I had to throw away the design and start from scratch.

In the second incident I realised last week that a patch I sent out to a very popular open-source program a few months ago was poorly coded as it had redundant code and was much more inefficient than it needed to be. The mistake was the kind you'd expect an untalented undergraduate to make.

Throughout my career in research I've struggled with the research side as it doesn't come naturally to me. I'd provide myself solace with the thought that I was a decent engineer and could probably leave and go find a job in industry. However these incidents coupled with the fact that I've realised I haven't been doing very technical (hands on) work for the last two years (I mostly lead students and do design and analysis work) means that I've lost all faith in my ability as an individual. I'm plagued with the thought that I'm neither good at the research nor the technical.

This has led to an ever deepening spiral of self-doubt, comparison with others, general questioning of ability etc. I'm having trouble sleeping, I spend my waking hours in an anxiety heightened state feeling miserable and uncomfortable and I don't feel like socialising or doing anything. I tried to make a proactive response by tackling some hands-on technical work but my state of mind means I'm not getting things done and this is leading to a negative feedback loop.

I'm looking for some advice on how to snap out of this before it actually ends up in me spiralling out of a job. Any advice appreciated.
posted by gadha to Work & Money (15 answers total) 20 users marked this as a favorite
Understand the people make mistakes - we all do, all the time - and that it's fine.

Secondly, it's good that you're doing some hands-on technical work because that will give you confidence (even if it doesn't feel like it now).

What you also need to do is take some time out. Exercise, go for walks, deep relaxation techniques help you focus on something else, help you get out of your head and into your body, and help you to relax. These are all things you need right now.
posted by mleigh at 12:57 AM on May 31, 2012

Whoa. I've been dealing with similar issues over the past several years now. I still haven't really found a great answer yet, though.

Regarding the first and second issue, I think you can avoid this just by interacting with your peers and mentors more frequently.

More specifically:
1) Regarding your data structures design: write up some initial notes before you get too deep in, and bound your idea off of a friend.
2) Before submitting a patch and making it public, perhaps have a friend take a look at it first.

Part of the point of friends, peers, and mentors is to help you make sure that your ideas don't suck, and (gently) point out flaws in your reasoning.
posted by pzad at 1:09 AM on May 31, 2012 [1 favorite]

First of all, everyone, even consummate professionals, makes mistakes. The true test of your professionalism and capabilities is how you handle them. In the first instance, you acknowledged the error, you started from scratch, and I'm guessing you won't make that mistake again. In the second instance, well, redundant and inefficient code won't mean much to the general populace who is actually affected by it. Seriously, for those who do not work in your field, most of it sounds like mysterious goobledy gook and most people assume a single character or missing space would shoot the entire system to hell. So, while your peers would spot it, most folks would shrug it off, even if it was brought to their attention. Again, you've noticed the error and probably won't make it again. Lesson learned and brush that dirt off your shoulder.

As for snapping out of it, you frame these as sloppy mistakes that you wouldn't normally make. Maybe you are disengaged or have other things tugging at you that is diverting your attention from work. To regain your confidence, I'd say be hyper vigilant for a bit, triple check everything you do, and keep reminding yourself of what you have accomplished thus far and which skills you actually bring to the table. If there are distractions in the workplace (noise from other colleagues, well-intentioned but inconvenient visitors), do your best to eliminate them. As for distractions outside of the workplace, that is more difficult, but try to shelve them during the hours you are at work. That may require establishing and reinforcing boundaries with family and friends, which is unpleasant but necessary. If you indicate your job is in jeopardy (even if it isn't really), most people will back off, especially in this economy. Long term, you may not be as focused because this position isn't a good fit for you. Maybe you need more of a challenge or should focus on another aspect of your field. That's a long term issue, however, short term you need to regain your superstar, awesome status and the best way to return to that mindset is focus and diligence, which will manifest in "exceeds expectations" work performance. You probably are better positioned and valued more highly than you think, but everyone can benefit from stepping up their game a bit and making a few adjustments in the name of improving performance. Best of luck!
posted by katemcd at 1:14 AM on May 31, 2012 [4 favorites]

This essay really helps me get over the throes of not being a very good engineer (after all, at that point, I certainly hadn't invested 10000 hours).

You are not your code. You're not your job. And because of that, you can take these setbacks as inputs, learn from them, and become a better engineer, better coder, and better thinker.

You're not static! You're not done! You're awesome! Go forth.
posted by Exonym at 1:25 AM on May 31, 2012 [3 favorites]

Mistakes are par for the course - they are just a fact of life. A lot of people will tell you that it's all about learning from them, but I actually think that it's the ability to cope with the reality of error that is what's important, because fuckups will happen over and over again until you are dead.

Someone at Pixar, which is staffed by awesome animators, deleted Toy Story 2. The "I'm with Mitt" app is actually a really clever and nicely executed app with an epic spelling mistake. And FWIW, huge pieces of the real world's code base looks like shit - Etsy and Twitter are the two examples that spring immediately to mind.
posted by DarlingBri at 1:54 AM on May 31, 2012 [3 favorites]

My friend, you are not alone. I was speaking with a great friend who is a coder in California and he repeated your sentiment near verbatim. "I'm the leader, the mentor, and the teacher. And I see now that I'm just not as good as I used to be."

At times, we all run into these feelings, regardless of what we're doing. It's natural. You think Obama's feeling great about his candidacy? Or the media brow-beating isn't giving Zuckerberg a bit of indigestion?

There are always going to be problems, shortcomings, errors, etc. That is part of life. Really like what @Exonym said You are not your code. You're not your job..

Further, you said it yourself: these incidents coupled with the fact that I've realised I haven't been doing very technical (hands on) work for the last two years

You read implication into that. You haven't been coding because I mostly lead students and do design and analysis work) and what that means is I've lost all faith in my ability as an individual. You ride the escalator of fear right to the top with I'm plagued with the thought that I'm neither good at the research nor the technical.

If you do something daily for ten years and then stop and occasionally go back it over the next two years, you'll not be as efficient as previous. It's like riding a bike. If you ride a bike daily from South London to Primrose Hill, you become part of the ecosystem. You make snap decisions and operate fluidly in dangerous situations. There is no fear, for you are adapted to the thinking and motion required. If you stop for two years and then take the same cycle ride, you may find yourself thinking you're crazy. This is dangerous!

Life is changing and you're adapting. You're becoming more of a leader and mentor than a coder. You are shaping and guiding others who are doing the coding work. Your time on the front lines has more or less passed, and now you have a new identity.

Your fear is common with professors and senior leaders I know in highly-technical fast-moving fields. The identity was formed in excelling at a specific task, and everyone needs a foundation, a root, to their identity.

Leading, managing, mentoring is a strange place to be, because you do not directly control the output. You may not even contribute code at all. You shape, develop, inspire now.

So you gave us two examples of where you had failed. And that is fine. All that means is you're not as good at those tasks as you were before because you're no longer practicing those tasks as much as you were before.

What I would be interested in how you have developed as a mentor over the past years. What are your students doing now that they could not do when you met them? In your design and analysis work, what are you seeing, thinking, and feeling now that you did not see, think, or feel before?

These gains may be less tangible and obvious – not like a patch or raw code – but they are no less impacting or meaningful. Who was more important to the world, Einstein or his teachers? Ha! (There is no answer, we will never know)

Point being, you're freaking out because you see some skills as disappearing. When you openly say that you no longer practice those skills. Thus, now that you know what skills your allowing to fade, perhaps also have a think about what skills are replacing them, and where you can find a new identity that makes you happy and secure.
posted by nickrussell at 3:03 AM on May 31, 2012 [2 favorites]

In the first incident I was carrying out a design for an application using a certain data structure and had spent about a month on it before a colleague challenged me and I realised I was using the absolutely wrong approach.
I realised last week that a patch I sent out to a very popular open-source program a few months ago was poorly coded as it had redundant code and was much more inefficient than it needed to be.
The need for more code review (you and others in walkthrough meetings). And you need to do this review earlier in your work process, not after you've spent 160 hours working alone on it and not after you've sent something out to the public and received negative feedback. Be agile.

Do that and you'll be more confident that you're on the right track.
posted by pracowity at 3:56 AM on May 31, 2012

I've lost all confidence in my (work) abilities. What can I do to get it back?

Regular vigorous exercise and CBT, embraced in that order.
posted by flabdablet at 4:14 AM on May 31, 2012 [2 favorites]

Get back to being productive as soon as you can. The more *good* things you do...the less you dwell on mistakes when they happen. And don't kid yourself, these mistakes are also a good thing, as over time you'll train yourself to spot them earlier on before they reach production. Mistakes are the driving force of self discipline.
posted by samsara at 5:11 AM on May 31, 2012

Particularly at work, it's really easy to frame mistakes as something that really affects other people, and as something you're expected not to do. In reality, the most productive people I know make mistakes pretty regularly because they're more focused on getting shit done, than on perfection.

Also, I printed this amazing, perspective-making comment out and pasted it to my cubicle wall.
posted by mercredi at 6:59 AM on May 31, 2012

Honestly? If you were really crap you wouldn't have understood why these were mistakes in the first place.

Try mapping your design out on paper or having a code walkthrough with a friend in the early stages. This will help you not to go down a rabbit hole.
posted by tel3path at 7:17 AM on May 31, 2012

This happened to me recently and based on conversations with other people with my experience, I found that this is a common occurrence.

After a lot of introspection, I found that I had two steps I could do to improve my confidence:

1. In your field, go back to the basics and start learning all the concepts again. Keep a notebook and write down key things as if you are writing a cheat sheet. Solve a lot of problems. Why this approach? When you work at real-world problems for sometime, our mind starts to think in the same patterns and when a slightly different problem presents itself, we use the old patterns for this solution too. Going back to the basics and solving different types of problems breaks some of these thought patterns

2. Realize that as you grow, your core capability moves from having all the right answers to having all the right questions (so that others can find the right answers). This is a fundamental change and the earlier I internalized it, the faster I recovered

One other thing I understood was that slowing down work outputs for a time and getting the deliverables reviewed before releasing to others increased my confidence *and* also belief of others in me.
posted by theobserver at 9:43 AM on May 31, 2012

tl;dr: Try to cultivate as many small wins as quickly as possible. This means gradually increase the sizes of your self-assigned tasks from supersmall, bite-sized fun to omfg-I-hate-my-life huge until your ego is restored and you're back at your work with full force.
posted by lotusmish at 12:24 PM on May 31, 2012

I've had similar issues, but they stem from my dis-inclination towards communication with others in my field. Pretty much every skill I use in my work, I have taught myself, but I have never really learned to collaborate effectively with other coders (as opposed to designers, scientists, etc., who I collaborate very well with for some reason).

The problem is, programming is a social activity, and constant communication gives you a set of guard rails to keep you on course. Without it, errors that should be obvious (and would be, if you took a step back and considered them from afar), wiggle through the cracks. I don't know if you're like me, but making an effort to make your work more of a social enterprise might help a lot.
posted by klanawa at 12:43 PM on May 31, 2012

I recommend you read "The Pursuit of Perfect," and internalize the fact that mistakes and failures are both unavoidable and utterly necessary for growth.
posted by moira at 8:19 PM on May 31, 2012

« Older An issue without issuu   |   Is creating a compound line graph possible with... Newer »
This thread is closed to new comments.