Originally posted on geekyboy.com
Yesterday I was approached by a developer, apprentice, friend, and sometimes mentor, who was having some personal issues. I consider this person to be very strong, and capable of great things. I’ve watched over some years, and I’m really impressed with their progress personally as well as professionally. However, these facts only increased the shock of what they revealed to me, and must have been very difficult for them to share.
During the conversation it was revealed how they’re experiencing HUGE anxiety, complete with panic attacks, and are even consulting a physician who prescribed medication for it. As this person spoke I could see the anxiety levels grow within through their body language , and witnessed the “deer caught in headlights” look as they wrestled on the precipice of going into another panic attack. Though I had someplace I needed to be, I knew I couldn’t leave this person alone to struggle as I had so often in the past. So I lingered, and we talked until the ebb had calmed.
My heart went out to my friend because I’ve dealt with the same feelings and problems, and had always done it alone. (Except for a few trips to the ER in past years to ensure it wasn’t really a heart attack.) Oh, how well I can recall the feelings of fear and doubt. Not knowing when my body will randomly boost my adrenalin to extreme levels that push me over the edge, fighting for my next breath until my chest loosens again.
Yes, I know I “seem” different in person as I talking loudly and laughing at conferences. It has taken me many years to get to that point. And yes, inside I’m constantly forcing down the roiling anxiety that never truly subsides. So don’t get caught up in the stereotypical idea that someone with anxiety is this lonely person crying while huddled in a ball in the corner. That is not me. My stress and anxiety doesn’t come from being around people (unless they’re stupid), or from public speaking and such things. I’m fairly social, but stress by other things such as deadlines, lack of requirements, distractions, fear of failure, and bad code, can be just as damaging.
Another common misconception is that anxiety is caused by the stress of the moment, which is simply not true. A doctor I consulted with in the past informed me that anxiety can be caused by stresses from as long as six month ago. So moving to a new home may seem OK at the time, but up to 6 months from now we suffer from the effects of the stress. So, by the time we have an anxiety attack it’s too late to fix it. All we can do is deal with the anxiety and push through it somehow.
For each of us the cause is slightly different, because we each struggle with our own problems and/or OCDs. For my friend it was developer related stresses that many of us deal with:
Some advice I gave, based on how I handle things:
I don’t really have the answers, nobody does. But felt I should create this post and put it out there. Perhaps others will read it and realize they’re not alone. And sometimes just knowing that can help lessen the stress levels.
How do you handle the stress?
NOTE: I received permission from my friend to share this story, so it wouldn’t cause any more stress and anxiety by sharing it without their knowing.
Adam Culp (GeekyBoy) is a PHP 5.3 certified engineer and serves on the Zend Certification Advisory Board, and currently works as a Senior Professional Services Consultant with Zend Technologies. He is passionate about the PHP community and organizes the South Florida PHP Users Group (SoFloPHP), as well as the SunshinePHP Developer Conference in Miami.
Why yes, we do have a Facebook page now. Perhaps you would see fit to "like" it, as the kids say.
It's been quite a while, but I wanted to give everyone an update on Open Sourcing Mental Illness.
I've recorded nearly all of the talks I've given as video or audio. All the recordings are available at the OSMI page on my web site, so you can watch each one and share it (everything is CC-licensed). I think the latest one I gave at the Seattle PHP Users Group was particularly good.
I've started a new site, OSMIhelp.org, where I am posting articles and resources about mental health for developers and tech types. You can keep up with it here:
Because of your contributions, I was able to give the talk several times throughout 2013. Since then, Engine Yard has been covering my travel and lodging expenses for other speaking engagements, as part of their Prompt campaign. I would not be able to still be giving these talks without their help.
If you're interested in having me speak at a conference, user group, or workplace, let me know! Email me at email@example.com.
Thank you so much for your support.
[Let me start this piece with a caveat: This is not a #slatepitches-style article arguing that Impostor Syndrome is a good thing or that people with it are better off keeping it. It has profound negative effects and plays very neatly into the self-defeating internal narratives that major depression can give you. Depressives in particular don't need another excuse to tell themselves they suck; most of us are really good at that already. Read this first if you need to learn about Impostor Syndrome, the harm it can do, and how to start overcoming it.]
At the last DCPHP meeting, Sean Prunka talked about Impostor Syndrome during his talk on dealing with distractions. At the end, I asked the group how many suffered from it, and the vast majority of hands went up. So clearly, a lot of the type of programmers who read blogs and go to user group meetings are the type who also think they’re a misstep away from being “found out” as not really deserving of the position/title/place they hold.
It got me thinking about why really good programmers paradoxically suffer from the feeling that they are the really crappy ones and have gotten where they are by sheer luck. Knowing that many programmers who give talks nonetheless feel like frauds gave me some new things to listen for, and I think I’ve distilled some good habits that shouldn’t go away with the crippling and unrealistic self-doubt as you fight these feelings within yourself.
There is some evidence that depressives perceive things (apart from themselves and their own worth) more clearly than those who don’t suffer from the disease. (The theory is called Depressive Realism.) Similarly, self-doubt can give programmers some good habits of mind along with the bad habits that make it a problem. Here are some I think are related to my impostor syndrome:
Pessimistic estimation: If you assume you don’t know what you’re doing, you tend not to assume everything will go well as you attempt any task. In my case, it’s made me a better estimator, because I’m able to identify rosy assumptions and allow for the very real possibility that those assumptions will be wrong. It could be my memory of how much pain working with a given module causes and not assuming that this time it will be different. It could be assuming that the client won’t come through with the required design in time, and I won’t be able to just “make it happen” by the deadline. It could be realizing I haven’t completely mastered a given technology and using it will require research to address a specific problem. All of these things enable me to be a pretty good estimator because I naturally assume that things won’t just “go my way.”
Research first, coding second: With a nod to Donald Rumsfeld, Impostor Syndrome makes you keenly aware of the known unknowns as well as wary of the unknown unknowns. Being aware of the limitations of my knowledge encourages me to research a problem before tackling it. A common junior developer mistake is to take a half-understood requirement and immediately begin building a new framework to solve an entire class of problems like the one they’re given instead of simply searching to see that there’s an existing plugin that can solve the problem in minutes. Another frequent problem is assuming a component will solve your problem based on the general description without looking into the specifics of its implementation. Some of this is experience, but I’ve seen senior developers fall prey to cheery assumptions. Knowing I don’t know a new component inside and out makes me look into it more deeply before committing to using it to solve a problem.
Continuing education: One reason I suspect many hands went up in the room at a programming meetup was that we are a self-selected bunch. Those of us who don’t think we know everything are motivated to learn more. Even as you realize you’re a better programmer than you give yourself credit for, don’t lose the drive to chip away at your ignorance. Programming is as much of a craft as it is a science, and crafts take continual mastery.
Teaching and mentoring: Having felt adrift in a sea of acronyms and reading conversations where it felt like everybody in the room had singlehandedly built Facebook equivalents except me gives me a lot of empathy for the new or developing programmer. It’s really intimidating at first, and that’s one of the reasons I’ve become excited about what we do at php[architect] and what the community has done through its mentoring program. mojoLive was an attempt to encourage people to continually develop their skills, and I support PHP Women because they help lots of people deal with the learning curve and Impostor Syndrome. So my career has become as much about enabling other people to do great things. Perhaps self-doubt has kept me from tackling some of those problems, but it has given me the push to help others to develop their own career. I think feeling that dread at learning yet another technology has inspired many in the community to share their findings with others to spare them the pain. To Impostor Syndrome sufferers it can be more than just the pain of coaxing aging neurons to form new connections; it’s also the pain of “can I do this yet again or did I just get lucky last time?” each time we approach something new. That empathy helps push us to give a hand so the next person doesn’t suffer. We also appreciate those who have spared us the pain in the past.
That crippling self-doubt is more of a hindrance than a help, and Impostor Syndrome is something to be fought. But appreciating the good things it has driven me to do has helped me realize I have actually learned things along the way…and that I’m not an impostor at a programming conference.
Sandy Smith has been developing websites in PHP for 14 years. Starting in government, he endured the Dot Com bubble before working with nonprofits for over a decade and managing a team of developers. Finding a love of mentoring developers, he worked at the career management startup mojoLive before co-founding musketeers.me and taking on php[architect]'s training services.