Skip to content

Part 5: Thousands of “wrong!”s do make a right, after all.

Learning programming was exciting and exhausting and frustrating and scary for me, but I don’t think the technical particulars make for much of a story. What can I tell you? I studied for days, weeks, months. I steeped myself in it. I remember attending a coding workshop at one point and impressing a fellow student with my progress. He asked me which books I was reading, which online programs I was working through.

“But how do you do all of that and still make time for friends?” he asked. “I’ve found that balance so hard.”

I’m sure my stare was completely blank. Friends? Were people really still trying to have those?

I slept fitfully, like my entire body was changing instead of just my brain, a milder unfolding of the sort that you see in vampire movies.

I dreamed in code all night long. It would often just scroll past, not making any sense, but sometimes I had beautiful dreams of maneuvering forking streams of conditional statements in a canoe, all Pocahontas-style, or of being truly free to move around inside a program as a piece of data. I sleep with a fat little pork chop of a cat in the crook of my arm, and he was perhaps the most taken aback by all of this, considering how often I tried to call him as a method or patted him anxiously to figure out which instance of a Cat he was.

I dragged myself through bewildering tutorials while fighting the sometimes chest-crushing urge to give up. I would struggle, and struggle, and occasionally break through into 15 minutes of sheer euphoria when something clicked and I could feel myself leveling up.

That feeling of embiggening … my God, there’s nothing like it. It can become your religion. I don’t know why I spent so much time on romance in my twenties. Forget that shit, ladies. Passion fades. Infatuation fades. Invest in something you get to keep.

At its core, this era of my life wasn’t really about programming. It was about the same heartbreaking realizations I made as a coach: The human intolerance, and perhaps especially the feminine intolerance, of imperfection steals away so much of what we could become. As a coach, I would watch women give up, even though they loved their teammates, even though playing roller derby had brought a happiness to their lives that they had never before experienced. They would give up, tearfully, because they just couldn’t stand it. They couldn’t stand feeling small, inferior, stupid, or foolish, and those are feelings you must somehow reckon with if you want to grow. Some of them knew they were being irrational — they knew they were getting better all the time, and logically understood that they would without a doubt continue to get better if they kept going.

But they simply could not keep going. The doubt and humiliation and frustration were too hard to cope with, so I would watch them leave something they loved behind. Because that is the cost of leaving those tough feelings behind: you leave your potential behind, too, along with the joy of accomplishment and the sheer wonder of watching yourself do more than you have ever previously been capable of.

As long as your goal even remotely suits you, as long as it isn’t something completely absurd, as long as you can see logically both point A and point B and how you might get from one to the next, you just have to keep going. That’s all.

It should be easy, but it’s the opposite of easy. It’s wildly uncomfortable. I don’t think I’ve ever had to face down my ego like this before. I hated feeling stupid. I hated not understanding what I was reading. I wanted to throw the books across the room half the time, and why?

Because I didn’t perfectly comprehend everything right away. What a ridiculous, suffocating, paralyzing standard to live with.

I shouldn’t have had to cling quite so desperately to the knowledge that if I kept going, if I fell asleep every night knowing a little more than I had when I woke up (no matter how much of it I hadn’t absorbed), I would get there. But if I’m being truthful, I probably had to remind myself a hundred times a day.

There were setbacks. Rough ones. I got rejected from bootcamp-style coding schools I applied to, for instance. I got rejected for one apprenticeship I had my heart set on, and that rejection showed up in my inbox almost before I’d even left the building. I felt some very big feelings and I ate some very big sandwiches.

But ultimately, it comes down to having faith in the most basic, obvious tenets of cause and effect, the ones we want to ignore in order to keep ourselves safely off the hook. Either programming is dark magic and a human like you couldn’t possibly ever learn it, or it’s just something that takes time and effort to learn, just like a lot of other subjects and disciplines that could possibly wildly enhance your career or your personal life. Either I learned how because I am an amazing human being whom you have no hope of emulating, or I learned how simply because I kept going, because I believed deep down that it is downright impossible to invest lots and lots of time in something and not eventually become better at it.

I also have had to come to accept that programming is such a broad field that I will die feeling ignorant about it. No one knows everything in programming anymore. And that’s okay. It can even be an exciting way to live, knowing there’s always something more out there to learn. You just have to get over yourself first, that’s all.

It’s funny, how often people reassure me (or just themselves) these days that I learned to program because I am special. I’m not saying I’m not intelligent, and my quick reading abilities certainly helped. But if you are waiting for someone exactly like you to accomplish something, just to make sure you won’t personally be wasting your time, you will be waiting for the rest of your life.

There is no one exactly like you. You are the only person alive who can prove that someone just like you can do it. And if you want to, you can keep on exonerating yourself from the responsibility of personal accomplishment by pointing out all of the differences between you and the people in your life who make their dreams come true.

That would make you full of shit, though, just so you know. We all have our limitations and shortcomings, and I am not denying that, but to have been born with the inability to grow, you would have to be far more incapacitated than anyone capable of reading these words.

I regretted giving up programming for twenty years. Along the way, I had multiple opportunities to redeem the situation, and I didn’t, because I thought it would take too long.

But, as my mother is fond of saying in these situations, “That time is going to go by anyway.” And it is. It did. It always does.

In the end, once I decided to fix it, I only had to spend most of my time wanting to cry (and the rest of the time wanting to shout joyously from the rooftops because I had finally found the missing comma that had been ruining my code) for a few months. Those first few months, when you don’t know how to debug your code or get yourself unstuck, are by far the hardest. I still get stuck these days, of course, but it’s no longer the three-day hair-pulling ordeal it once was.

I accepted a job offer as a software engineer in April, a title that may never stop seeming surreal. (Anytime anyone asks me what I’m up to at work, I want to say, “Oh, you know, just ENGINEERING some SOFTWARE.” What.)

And, in a plot twist that surprised even me, it’s also every bit as fantastic as I thought it would be. I did not know it was possible to love a job this much while simultaneously getting paid this much to do it, but here we are.

If you are a creative person who is good with English and grammar, you can learn to program. The idea that you need excellent math skills to do any sort of programming is completely antiquated; expressions in many programming languages these days more closely resemble grammatical sentences than mathematical equations. You do need excellent logic skills (if A, then B, and so forth), but many of the best editors and writers are in possession of those.

Mainly, above all else, you need to be stubborn as all get out, and you need to be prepared to keep going. If you do, you might be less than a year from programming for a living. Only 227 days passed between my first leap and my first day of work.

They were the most challenging and imperfect 227 days of my life. They were also the most empowering 227 days of my life. Inconveniently for humankind in general, that’s not a coincidence.

I recently got in trouble for accepting too many projects. But how can I not? Every time someone runs an idea by me, I want to start building it right that moment, because, twenty years later, I finally know exactly how.

If you regret something, you should fix it if you can, even if it will take a while. I’m with my mom on this one: That time is going to go by anyway.


  1. Jim wrote:

    “Nothing in this world can take the place of persistence. Talent will not; nothing is more common than unsuccessful people with talent. Genius will not; unrewarded genius is almost a proverb. Education will not; the world is full of educated derelicts. Persistence and determination alone are omnipotent. The slogan “press on” has solved and always will solve the problems of the human race” ~ Calvin Coolidge”

    Monday, June 10, 2013 at 3:08 am | Permalink
  2. Bethany wrote:

    So, so tremendously happy for you–and inspired for me, although not quite sure why, or about what just yet, but I think I will soon enough. Wishing you all the best in your new career.

    Monday, June 10, 2013 at 3:52 am | Permalink
  3. Pamela wrote:

    Been reading for awhile now, do they still call us lurkers? And EVERY. SINGLE. TIME. I’m excited and moved by your writing and exactly what I need to hear right then.
    “The human intolerance, and perhaps especially the feminine intolerance, of imperfection steals away so much of what we could become” this yes…
    I’ve spent most of my life (and honey I can’t even call myself middle-aged) putting aside things I wasn’t perfect at before I even began and yes I realize this makes no sense. Photography has been this for me and I’m at place where I want to get to the next level and this is where I usually give up only to start all over again in a few years. But now when I feel discouraged I’ll read this post again and again and again.

    Monday, June 10, 2013 at 7:39 am | Permalink
  4. M. wrote:

    If you ever give up programming, you should be a life coach. For serious. I quit hard things all the time for exactly the reasons you describe. I’m going to read this again and again for inspiration.

    Monday, June 10, 2013 at 8:48 am | Permalink
  5. Brenna wrote:

    My mom’s version of “That time is going to go by anyway.” is thus: “A year from now, you’ll wish you’d started today.”

    Monday, June 10, 2013 at 9:26 am | Permalink
  6. Reading this series has made me happy.

    Monday, June 10, 2013 at 12:08 pm | Permalink
  7. Francina wrote:

    I have loveloveloved this series. It’s amazing to hear of how you have pushed yourself so consciously and intentionally toward happiness. It’s beautiful.

    Monday, June 10, 2013 at 6:35 pm | Permalink
  8. Mei wrote:

    I identified soo much with a lot of this. Not the GOING INTO coding part so much, since I’m already in the field but the realization that just because it is more challenging than what I am used to doesn’t mean I’m BAD at it and just.. Coming to terms with the fact that just because I didn’t do it before doesn’t mean I cannot do it NOW.

    Tuesday, June 11, 2013 at 6:26 am | Permalink
  9. Kerri Anne wrote:

    I still maintain you are an amazing human being whom I have no hope of emulating.

    Proud of (and ridiculously psyched for) you, friend.

    Tuesday, June 11, 2013 at 3:36 pm | Permalink
  10. Courtney wrote:

    here’s a random coincidence: I was at a bar a while back talking about my job (editing, more or less) with a stranger who was a programmer. we were discussing the ways in which computer code was more unforgiving than human language–since one can usually discern the meaning of anything that’s not completely incoherent, however “wrong” it is, whereas one extra space or missed character can completely destroy a program.

    but then I pointed out that in certain contexts–a grant proposal, a cover letter, etc.–even a tiny typo has the potential to cast a pall over the whole piece & undermine the author’s credibility. it’s still intelligible, sure, but that mistake prevents it from accomplishing its desired task.

    …there aren’t many people with the capacity to appreciate a good “writing/editing is more like programming than you’d think” story, so I figured I had to share in light of your new career path. (& also, by the way, congratulations!)

    Thursday, June 13, 2013 at 8:58 am | Permalink
  11. Sir wrote:

    This series was spectacular. I transitioned from a computer science masters degree into a biochemistry PhD, because I was told that there is a desperate need for people who understand both sides of the ever-expanding fence of computational biology. I also did it because I’m a masochist who always sucked at chemistry, so it was admittedly equal parts curiosity and dare.

    I’ll be wrapping up the PhD in the Fall. I sell this achievement along with most of my other ones short primarily, I think, because of how close I am to it all. I do feel, however, that if I ever needed motivation to start blogging again, your outstanding example of sharing the benefits of giving our ego the finger and pressing forward into uncertainty is all I’ll need. The thought of sharing that kind of wisdom with others and having it potentially make a difference to them strikes me as a good deal more rewarding than being handed a hunk of parchment and given a firm handshake.

    I will say, however, that despite my love of biomedical research and the acquired ability to use chemicals and electricity to manipulate DNA and play God, I do desperately miss sitting and coding the livng shit out of stuff. In a lab, you might have to wait days/weeks/months for feedback from an experiement, but compiler will report your inadequacy immediately and I appreciate that kind of efficiency.

    Congratulations on your success and thanks so much for sharing it.

    Sunday, June 16, 2013 at 9:04 pm | Permalink
  12. SF wrote:

    You must realize you are writing an analogy for business, for life’s lessons. Keep going, just put one foot in front of the other, every single day. Realize those visions. Figure it out. That’s life. Our differences, our uniqueness, are what make us successful, and keep us dreaming. Very well done, and much appreciated.

    Saturday, July 6, 2013 at 6:28 pm | Permalink
  13. Colleen wrote:

    Thank you for this. I will keep it close in order to share it with my daughters (ages 8 and 6). And if I’m honest, I will use it to remind myself that I need to continue to seek and join places and situations that may seem overwhelming but will be impactful.

    Monday, July 15, 2013 at 12:31 pm | Permalink
  14. Theresa wrote:

    You couldn’t have described me better if you had done it on purpose. “If you are a creative person who is good with English and grammar…” and “Mainly, above all else, you need to be stubborn as all get out…” fit me to a T! I’m glad I stumbled upon the one line of work where my stubbornness is an asset, not a hindrance :)

    Friday, July 26, 2013 at 5:46 am | Permalink