My Strained Relationship with Software Development

I wrote the original version of this piece, last year on Medium. This is an expanded and less guarded take.

I didn’t want to study software engineering in college. I first wanted to study English literature and drama. That wasn’t an option at home. So, I looked at the other things I had dreamed about since childhood – architecture. I put together a portfolio and applied to Bartlett School of Architecture in London. They hid the rejection letter from me and told me no. So, I fought them and the first compromise was computer-aided product design. I just wanted some art in whatever I studied.

There was none of that. It was all math, physics, and science.

I thought I had to make my compromises. I know now that that was a lie that I believed. I failed my first semester in almost all of my classes. I fought them again and I allowed myself into another compromise, this time it was software engineering.

I dragged my feet through it, learning very little. I graduated with mediocre results and spotty knowledge.

So, from the very beginning, software engineering was an arranged marriage and I hated all of it. I hated myself for thinking I had no agency, those who put the marriage together, and the hapless, innocent spouse who now had to deal with me.

It’s been a slog and struggle from the very first day I had to make sense of Pascal at the labs after lectures. All of my core beliefs about study, life, and this line of work were being formed. This was my death sentence. I decided to act out by sucking at it and making sure it was intentional. I didn’t want to try. I didn’t ask for help. I didn’t look around and find people who could support me through it. I found other ways to deal with the bleakness of my life.

My first job was a webmaster role at one of the schools at my university. The quality of the people at work and the warm working environment softened me. I started liking working with tech. It wasn’t algorithms and software design, and somehow that helped me a lot. HTML and CSS (this was 2004) seemed like it was doable.

And so for the next 5 or 6 years, I just glided from job to job. I never made peace, resolved, or worked through the core issues from before college and after. I gave in, resented myself and others, and then sabotaged them and me, by being mediocre at programming. I just tried to sprint (badly) through it, hoping that the reality of mediocrity of mediocrity would never catch up with me. I also spent a lot of time, during that period, compensating for my weak skills by embarking on never-finished projects and ideas. It was simply easier to do that than to hunker down, resolve the issues, make peace, and accept the situation I was in.

The following 6 years were a time of exploration of the things I had only dreamed about. I dabbled in journalism, film, theatre, writing, performance, improv, and radio. But I was mediocre at all of it. I never put in the hours or pushed myself beyond the initial discomfort of trying something new. I cringed away when it became overwhelming.

My lenses were dirty. I never took out the trash of ideas that were rotting in my mind. I was carrying around all this shit for years, trying to live with the stench by calling it experience and wisdom. Everyone except could smell the stench. In everything, My skills had become shallow.

That brings us to 2016, when I moved to Stockholm to start over. I wrote then this missive because I was angry, self-righteous, and frustrated with the state of my life. My smug bemusement with the essay then changed into a blind panic when I started seeing the truth about myself. The turning point came during the interviews.

That careful narrative I had constructed of career break and exploring my interests and figuring out what I want to do with my life… just felt wrong. It started feeling like excuses, rather than a real narrative. I flew through initial interviews, but then tanked when I reached the technical ones. I had done so much in the last period of my life that the variety had frayed my focus. I felt it especially during one interview; I couldn’t even carry out the basics of problem solving.

I was hiding behind my one-page CV, my gripes, and the injustice of the labour market when it was really that I was in denial about my situation. I was a job-hopper and a mediocre developer. This became obvious as I looked again at my one-page CV. It was a Swiss cheese.

Something had to change. So, I eschewed giving up and espoused trying again. I lunged myself into a flurry of tutorials, side projects, the freeCodeCamp website, and as many YouTube videos about programming as I could take in. It became clearer; I had fallen behind by a lot and now I had to catch up quick.

The hard work of the three months paid off. I landed my current job. I passed the trial period in January, received a good performance review, and negotiated a salary increase that I’m deeply thankful for. I did it all for myself and on my own.

You could say that I have been in career detox since then. Nothing makes you take out your own mental trash like working at a healthy company with a good boss. With every meeting and one-on-one and project ending, I learned that not every workplace and boss is out to screw me over. Some places just want to hire you because you have potential and you want to work there because you see yourself succeeding there.

There is no happy ending to this story because the story is still being written. I am making peace with the past. I am pushing myself to become a better developer. My list of repositories on GitHub is growing and it’s a current goal to have complete projects on there. I am also making art on my own dime and time because it’s important to me, too. I don’t know what the future holds. This moment is enough.

Reinventing yourself is possible if you commit to rigorous honesty about yourself, your situation, and your career, regardless of where you start or what you left behind. And that rigorous honesty is to be tempered with discipline, commitment, and hard work.