Failure: Fail

I’m struggling mightily with failure this week. Some difficult work challenges, some stressors around home. As a result, every little things feels like a massive failure. A small bug in some code is clear indication of my incompetence. My partner disagreeing with me feels like complete rejection. I feel like a total fraud doing demos at work. Playing music feels the same; I’ve never really been good enough. It creates a vicious cycle because you grow to expect it, you don’t try as hard, you look for reasons for self criticism. And in the ultimate fail, I didn’t recognize how bad it had become.

PS I’m reading Emotional First Aid right now, and will share a few insights on this topic.

Don’t Panic

I’ve been rewriting a bunch of code recently, converting an old btrieve based system to SQL. That may not mean much to non-coders but it is a bit of task. I ran into something that revealed some poorly written code and, while I’ve avoided re-writing most operational code, I had no choice here. It has taken longer than expected. And it turns out that it may not be doing what it was supposed to do in the first place. I realized I was in a bit of a panic. But then I realized that this is really what my job is all about and that improving the code, making it more reliable, more predictable, more maintainable, is what I do. Problems exist so we can solve them. So, tomorrow, I’m going to get back into it, not in a panic, but with a renewed sense of purpose.

At Your Service

Providing acts of service is important to me. It is a big part of how I express love. It is also a reason that I’ve been successful in my career as a software developer. I think it has become a problem though; an addiction – unable to stop saying “yes”, I just keep piling on the work. Clearly it is time for a change in approach. Service does not necessarily mean doing everything for everybody without boundaries or conditions – that’s probably codependency. So letting others figure out their stuff and take responsibility for their own growth, learning, and trouble-shooting is a positive path. Ultimately, helping people find their independence may be the best service I could provide to them and, in doing so, provide some long neglected service to myself.

I Had a Plan

I had a plan this morning to get some tasks off my list. Before I even got to my desk, though, I had accumulated about three hours worth of not-on-my-plan work to do. By the end of the day, I still haven’t done that one thing that I was planning to get done. I’ve discovered I make an error in parsing that outcome; it feels like I haven’t done anything because I didn’t get to put a check mark beside the thing I wanted to do. In fact, I’ve done a lot of stuff. From now on, I get double check boxes for those.

Illogical

Being a programmer, I get in the habit of trying to pare things down to logical “if, then, else” kinds of statements. It is an unconscious habit to think that way, but I really shouldn’t be surprised when problems that are loaded with emotional complexity don’t bend well under the power of logic. Questions of competency, confidence, overwork, and resentment don’t allow for debugging the way a nice chunk of code does.  Good self-care practices such as meditation and exercise will help lead to some acceptance which in turn may reveal the little bits that can be solved.  And there’s the logical part.

What. Even.

I had a customer call me late today who demanded a feature in their software. I explained it would take awhile and they then insisted that it is a feature that should have been there already. As if that would make it magically appear. I explained further that the software has been designed over years with input from numerous people and that this is the first time it had come up. I would look at it but I couldn’t do it in a rush because that would potentially introduce bugs and, right now, I’m too busy with other support and development issues to take that kind of risk. They then told me that it must be really crappy software if I’m that busy and that their boss would be talking to my boss. I’ve been busting my butt for this client for two months – late nights, early mornings, on my own time, accommodating all sorts of things. Maybe I’ve set the bar too high, but, seriously?

PS I’ve found a site for mental health in the tech community. Going to go put my first post up there now.

Is that you, Peter?

I find myself overwhelmed recently, today more than usual. I’m inundated with work. Steadily over the years I’ve been asked to do more and more. Somehow I became the “first choice”, in my boss’s words, to take on all sorts of new tasks without any reduction in the old stuff. And the nature of the new tasks is, if they are successful, that there will be more of the old stuff. I’m finding, as the overwhelm sets in, that it is hard to do the old stuff (which I assume is still my main job) competently due to constant interruptions and demands. And I can’t help asking myself if I’ve just hit that ironic place where I’ve become incompetent by being highly competent.

My Fault…

I have been a bit of a depressed mess recently and I see the smallest problem as being all my fault. As a programmer, I’ve really worked hard to not be a “finger-pointer”. When there is a computer problem, it is usually not safe to assume that it is the user, 3rd party software, the hardware, or the operating system. It is important to keep in mind that, as the developer of a major piece of software, the problem may well be in my code and I should work hard to eliminate that possibility before moving on to other sources. Unfortunately, I’ve integrated the “it is my fault” idea into my identity; so much so that my To-Do list has started looking to me like a list of faults that I need to fix and faults that I’m about to create. Worse, this belief has bled into the rest of my life so that I immediately assume any stressor is my fault and I assume responsibility for fixing it. Because life isn’t a program, the fixes become messily codependent boundary violations and result in self-loathing and a desperate attempt to make myself as small as possible (so as not to introduce new bugs). Ironic, isn’t it, that what has been a positive trait in my career has grown destructive in the rest of my life? Now to go debug it…