Writing about failure is particularly interesting to me right now because you don’t hear about it very often. And when you hear about it, especially in the technology space, it’s always spun into a life lesson For Great Prosperity. This post is a little different. It’s not advice so much as an empathetic shrug for anyone who happens to share my woes.
I’m okay with being a failure right now. That’s how I feel; how I feel is the Truth; and the Truth needs to be said, especially if it’s one of those rare truths that no one talks about. One such truth is admitting to being less than a spectacular employee; it’s horribly taboo. But not everyone is amazing at everything, and employers see through the posturing, anyway. I would prefer that we stayed honest: people are, on the whole, average. That’s what the word means. In a lot of ways, I am interchangeable as an employee. I’d do about as well at anything as anyone else would. And in terms of being an engineer, I feel like I’ve been less than successful.
Not only does failure feel bad, it negatively affects your ability to portray yourself in a positive light, which is a crucial element of making an impression on employers in order to make a living wage. For instance, I have a rather negative outlook on my career as a Ruby developer right now, so this is probably how I’d summarize it:
- Lucked into a web development internship where I did nothing.
- Spent several grand on a course where I learned about Rails routes and then taught myself the rest.
- Happened to know someone who let me work on his startup where we duct taped things together.
- Started working at a well-funded, but dying company doing more CRUD stuff and APIs.
- Freelanced at a company and grossly underestimated the timeline and cost of the project.
Can you imagine what I’d be like in an interview right now? It would probably look like this. On the other hand, here’s how an employer would want to hear me talk about it:
- Meticulously tracked my practice in Rails, which convinced the head of the IT department at a large fund to take me on as a web development intern.
- Jumped into a Ruby on Rails bootcamp to accelerate my learning and make connections.
- As a junior developer at an early stage startup, upgraded the backend API for a push-notification platform for stock advisors with features like uploading to the Amazon S3 CDN, email templates, job queues, and front-end customizations.
- Joined a major newspaper to work on their Hypermedia REST API, the front-end Rails engines that consumed that API, and WYSIWIG tools. I integrated third party libraries like Google Analytics, AdStream, and many others. We used continuous deployment to Amazon EC2 and S3 with Jenkins and tested at all levels (unit, feature, integration) with Rspec.
- Developed a mobile API for art from the ground up with test-driven development, deployed to Linode with Ansible and Capistrano.
The truth lies somewhere in between the two. But composing the latter seems like too much effort in order to get another job that I probably won’t appreciate and won’t do well in.
I’ve received the advice that I should do what I’m passionate about for essentially all my life, but what do you do when your passion falls through? When you discover that what you are isn’t what you thought you were? Taking into mind the advice to be “so good they can’t ignore you,” have I mistaken “being passionate” for being attention deficit all these years? Should I double down on algorithms, data structures, and the latest frameworks so that I can be competitive in a job market that I don’t care for? Is it the job that I don’t care for, or where I am in my proficiency level? Or is it the people? Or the lack of a mentor?
I went to a friend’s art show on Saturday. In our conversations, I’d been calling this my “problem with capitalism” – that is, my inability to coerce myself into doing things I don’t like in exchange for currency, not caring about money in general, and the failure mentality. Regarding the last, he mentioned that everyone thinks that the way architecture works is the model of the lone genius architect who cannot fail, when in fact it’s the opposite. Architecture and art, he said, were about failing faster in order to learn. This is a common refrain in startups and technology, but there is a tension between that and being a 10x engineer, the programmer’s version of the lone genius. It stratifies egos, and even if it is imaginary (1, 2), it is reflective of a fixed growth mindset. People are not biologically born to be 1x, 3.14x, or 10x employees at a certain job. Their varying skills are varyingly effective in different contexts, and their motivation and ability to learn are dependent on environment and task, as well.
Long story short, it’s okay to be a failure. In my case, it’s okay not to be an engineer. It reminds me of what I think of when I read the quote “winners never quit and quitters never win” – but what about comparative advantage? I could spend years training to dunk on an NBA regulation height basketball hoop so I could be an NBA player. At 5’7″, there’s a slim chance that I could do it. But it would be a waste of time. If I were to stick with my goal of being an NBA player, quitting from that particular avenue is probably a smart idea. Better yet, quitting the basketball avocation would probably be much more worth my time in terms of probable payoff.
Tiger Woods is said to have completely reworked his golf swing over and over. George Carlin was known for throwing out all his comedy material on a regular basis. I’m not dead, so I get another chance. It’s almost forced on me, actually. I’m grateful to be alive, for my friends, for my family, for the opportunities I’ve had, and the future ahead. It’s just that, on some level, I have to scrap everything and start over again. The end of one thing is the beginning of another. It just takes beginner’s mind.
Which leaves me with one question: now what?
I have two pieces of the puzzle: Stay alive. Krav Maga.