State (of Mind) Machine

Reprinted from issue 28 of The Loop magazine from March 2014, with thanks to Jim Dalrymple

It seems ironic, that despite our invention of near-instantaneous global communication, we are still not the best species on the planet at actually telling each other how we’re feeling. Probably not even in the top five. Instead, many of us actively hide it from those around us. We say what we think we should be feeling, because everybody else around us seems to be perfectly normal, and we don’t want to be seen as the crazy one.

I’ve just come back from two very interesting – and quite different – tech conferences over the last month and a half. NSConference in Leicester, UK, and Úll in Kilkenny, Ireland. I spoke at the first one, and barely slept at the second. I enjoyed them both immensely.

And yet…

Surrounded by some of the best and brightest people in the developer community, I had the nagging feeling that I shouldn’t really be there with them. I’ve had the same feeling at WWDC for years now. As I stood backstage at NSConference, about to give my talk to three hundred people, telling them the story of my professional life, I thought to myself, “I’m just not that important, will people even be interested?”. Right at the moment I walk onstage, it will turn out there had been some horrible misunderstanding about my presence there, and Tim Cook will appear from the wings and tear up my developer agreement in front of everyone.

Later in the conference, I was talking to one of the other speakers, and it turned out that they felt exactly the same way – if perhaps not that specific detail about Tim. That made me wonder how many of them had similar thoughts. Maybe all of them did at some point in their careers. Maybe a significant number of people at both conferences looked around at the other delegates, and thought “I shouldn’t really be here”.

This feeling is common enough to have a name, “Impostor Syndrome”. A highly scientific glance at Wikipedia suggests that “two out of five successful people consider themselves frauds”, but I suspect that number could be even higher in the developer community. We never talk about it, so we think it’s just us. And what if you haven’t had any real success yet? It seems like everybody else has. “Why are you even here?”, their faces seem to be saying.

Logically, I knew, after the twentieth person came up to congratulate me on my talk, that they couldn’t all be in the pay of some shadowy organisation that had the mandate to tell poor speakers that they were better than they actually were, for nefarious reasons unknown. Logically, I knew, my talk probably was pretty good. But even now, I just edited that last sentence from “very good” to “good” to “pretty good”. And then added the “probably” for good measure.

Part of this is an inability to take compliments well. They make me feel vaguely uneasy at best. After a lot of them, I start to not really hear them anymore, and just focus on the negative ones. It’s the same problem of ninety-nine five-star reviews, and the lone one-star review that gets under your skin. Or worse, people not saying anything at all. Of course I have searches set up for the mere mention of my name and my products, and I wonder occasionally if I should create an account on Secret to see what people really think about me. There’s probably nothing there, is the likely answer. Basically, both the presence and absence of comments about me makes me nervous. Even genuine success makes me somewhat anxious, because then you’re more visible and you have further to fall. But I still check the chart position and sales of my apps every morning, even though it often pains me to do so.

These kinds of anxieties are probably some of the things that make me a great developer, because I always want my apps to be better than they are now. And they also prevent me from typing the words “makes me a great developer” into this window without it sounding very wrong and self aggrandising indeed.

A dislike of such self-promotion also makes it quite difficult to write marketing copy. I find it much harder than writing the software in the first place, because you have to basically say “hey, this is really really awesome, you should totally buy this!” instead of “well, I think this is okay, but I could still really improve some parts of it…”, which sends something of a wrong message.

All this got me thinking about the state of mind of the software developer in general. Particularly those of us that work for a small company, maybe as the sole developer or designer. Our work is a direct extension of ourselves.

We want things to be perfect, we’re control freaks, we’re obsessive. We spend a day designing and redesigning a single comma, because it’s just not right yet. And when it’s absolutely perfect, we’ll still keep going a bit longer, because we know there’s a magical place beyond perfection we can get to if we try hard enough. Spoiler alert, there isn’t. And we hate finding out after we’ve shipped it that we’ve missed some blindingly obvious bug because we’ve spent a day looking at a single bloody comma…

If you create anything at all – be it stories, music, drawings, apps, people, or even whole conferences – it’s a part of you. If somebody criticises your work, it can hurt like they are criticising you personally. That’s completely normal. Indeed, I suspect people who don’t have any kind of emotional response to such things just don’t care about their creations, or are, in fact, complete sociopaths.

It seems clear that my own creative abilities are directly linked to my mood, and my mood is directly linked to the success or otherwise of my creative abilities. Now, imagine that instead of it just being an annoying one- star review, or a bitchy email from an entitled teenager, you’re getting sent piles of documents from lawyers, your whole company seems to be in danger, and it sounds like you could lose it all. That happened to me, starting almost exactly three years ago.

A so-called “non-practising entity” threatened, and eventually sued over an alleged patent infringement in PCalc. I’m not going to go into any of the details here, but you’ve probably heard of them. I didn’t write any code for about six months, and considered getting out of the whole business altogether. I know I wasn’t alone – at WWDC that year spirits were pretty low amongst some of the other affected developers. Beer was drunk. Suddenly, our nice world of writing the best apps we could, and hoping that people liked and bought them, had become much more complicated, and real, and unpleasant. In the end, after three years of stress and time that could have been spent writing code, that particular problem was resolved. Not to my satisfaction by any means, but it has gone away now. It was a long and dark road back, and I still blame those events for a lot of things, both personally and professionally.

As I write this, things are looking up. PCalc 4 just came out for the Mac and has been warmly received. I expected something of a backlash, because it was a paid upgrade, but so far there hasn’t been a single complaint. In the process of creating it over the last four months, I’ve learned a lot about writing modern Mac apps, and I can’t wait to add new features to both the Mac and iOS versions as they keep popping into my head. I realised recently that I’m actually enjoying writing code again, and it’s been a while since I could say that. Apple has been featuring PCalc on the front page of the Mac App Store for over three weeks now, and it has forty seven five-star reviews. And one four-star review, but we won’t dwell on that too much.

Anyway, the point I’m trying to make is, if you feel like any of this, you are not alone. In fact, you are probably in the majority. I’d wager that some of the best people in this business have similar thoughts. The links between creativity and certain personality types are well proven – to a certain extent, it’s why we’re so good at this.

I’m a successful developer, I make a living doing this, I’ve worked for Apple, and I’ve been around in the Apple world for a very long time. I have the respect of a lot of people in the industry, and call many of them friends. If I can still feel like a complete outsider when I’m walking around a conference of my peers, then I bet a lot of the other people there do as well.

Once you realise that many of the successful, confident people around you are just faking it, it makes things a little easier.

We’re all the crazy ones, here’s to us.

Author: James Thomson

Indie iOS / Mac developer, maker of PCalc and DragThing. Occasional writer, conference speaker, and podcast pundit.

1 thought on “State (of Mind) Machine”

Comments are closed.