Published on

What I learned from failure


“Failure free operations require continuous experience with failure” — How Complex Systems Fail


Getting fired isn’t easy, searching for a job isn’t fun, breaking up hurts, being told no over and over again gets in your head. Responding to failure is challenging. Until recently, I’ve been failing at failing.

failing at failing definition: making the same failures multiple times

The context of rejection matters. Embrace it as a learning experience, or let it bring you down. I’ve done both, leaning into rejection has proven to be positive. It’s opened me up to feedback, reflection, and change. The narrative is changed from I’m not good enough to, how can I change what I’m doing to get the outcome I want? What needs to change to get the outcome that the person who rejected me wants? How can I move the needle in a positive direction now that I know what failure is?

This is my favorite song.

It covers the lifecycle of rejection, failure and change well. I strongly believe that failure makes success that much sweeter. What is achieving your goals without the long road it took you to get there?

Additionally, the album that the song Turn the Season is off of (David Comes To Life) is one of my favorites.

Damian Abraham (Singer of the Band) called the songs on David Comes to Life the most personal ones yet.

Lyrics from ‘Turn the Season’ are in ()

(Things Go Up Then They Go Down ) - A humble brag, literally

I was a poor student throughout my academic career. I never liked school or reading which deflated my confidence. I was in remedial classes and never produced good grades. This was a destructive cycle. Reinforcing feelings of inadequacy produced just what you think it would, more sub-par results and a bad attitude.

The funny thing was I loved learning, I could watch the History Channel for hours on end, any educational content I loved. Science Channel and How It’s Made are my jam. How many 9 year olds were watching CNBC on Saturday mornings?

The learning was the fun part, the content delivery was missing in my specific case.

I love working, making other people happy and getting praise from my peers. I just haven’t taken the time to internalize the feedback and change my approach.

I was failing at failing.

(Chase A Smile With A Frown ) — A Journey Into Programming

My first taste of programming was sitting next to a talented and kind engineer at my first job. He told me I didn’t have to be a Columbia Physics grad to get into it (even though he was a Columbia Physics grad). He was right about software.

I had no idea what the h*ck I was doing. I didn’t know what success or failure were. I didn’t know what I should or shouldn’t focus on. What did I do? I read and built the sample application in the Rails Book about four or five times. I even managed to land an unpaid internship. There was only one problem. I had no clue what I was doing.

I ended up landing in project management land as an intern. I thought I wasn’t smart enough to be an engineer. A self-inflicted a hard pill to swallow. While I wasn’t happy, at that point I was living with my grandmother rent free, paying 750 a month in minimum payment for student loans with 500 left in my bank account. I was working in a cookie factory then a liquor store before this internship. To say I was thankful for the opportunity is an understatement. That internship was my first step into technology and changed my life for the better, forever. Thank you Blue State Digital.

I found a real project management job shortly after. Let’s just say it wasn’t a culture fit, after 9-months of project management I knew I wanted to be an engineer. I signed up for an engineering bootcamp. As someone with ~65kofdebtat 1065k of debt at ~10% interest in serious student loans, paying an additional 15k for an education was daunting. This could’ve been the right move for me, but the financial pressure put me in the wrong mindset. I didn’t get the outcome I desired. I left after 3 weeks. Leaving was the right move. I didn’t have that PMA (Positive Mental Attitude), yet.

I’m not criticizing boot camps. I know a lot of great engineers who’ve done them and have landed great jobs. It just wasn’t the right path for me at that time.

(He Knows That His Joy Will Stop) — Going Back To Project Management

I didn’t touch a computer for a week after leaving the bootcamp. I took a minute and realized it just wasn’t the right time for me. A week after that I enrolled in CS50. I got through some problems. Others, I looked at the solutions. The difference was, I was engaged this time around. The course was free so I didn’t have to worry about money. The video instruction was from literally the best in the world (CS50). It was basically How It’s Made, software edition.

I didn’t finish the course and could probably use writing a quicksort or two. This was progress. I enjoyed programming, again.

(Waiting For The Other Shoe To Drop) — If You Expect Bad Things To Happen They Will

I still had bills to pay. I got another job. I was better at it, but I still wanted to be an engineer. This was a failure because I could’ve gotten so much more out of the project management experience at this job if I would’ve seen the value. I did get some value, it’s all about attitude and what mindset you’re in.

I was going to make the switch to engineering at that organization. My work fell off, I didn’t communicate well, new management came in, my team left and there was an acquisition. I got fired, again.

The person who fired me gave me some really great advice while he was giving me the news. Thankfully I took it to heart. I’m so glad I did.

“There are only two things you can do to be successful. Prepare as much as possible and have a good attitude” — Anonymous Manager Who Fired Me

(He’s a ship on the sea, setting sail to perfidy )— Still failing at the same thing, again

I got into The Recurse Center. I didn’t understand the weight of my acceptance and the massive door RC opened. What this opportunity at RC really was. I strongly suggest to anyone looking to program, have fun, make new friends and join a global community of engineers to apply.

In their own words:

“The Recurse Center is a self-directed, community-driven educational retreat for programmers in New York City. We believe people learn best when they take control of their own education and are free to explore what they’re interested in. RC is heavily influenced by unschooling.”

In my words:

I’ve been digging into React source code looking to make an open-source contribution. While reading their docs, the React team referenced Dan Luu. I was sitting in-front of Dan while I was reading those docs. These are the core contributors of the most popular front-end library on the web at Facebook referencing Dan.

RC is full of folks like Dan who love to learn and push themselves to become dramatically better programmers.

One of my friends who applied described RC as “The best-kept secret in programming”

Additionally, I still have my Golden Ticket. Reach out, if you think it’ll help, I’d love to refer you.

More on Golden Tickets:

A Golden Ticket is a fast track through the RC interview process. With a Golden Ticket, someone applying to RC gets to start the process with a pair programming interview, skipping application review and the conversational interview. Every year you get one Golden Ticket to give to someone you think would be a great member of the RC community.

I completely and utterly face-planted. Trump got elected the second day of my batch, I couldn’t focus, I beat myself up badly when I got stuck. The comfort of the self-destructive cycle started yet again. I was in a downward spiral. I wanted to quit programming once and for all.

I spent most of the three months at RC being upset about things that weren’t in my control, like the election, how other people were progressing ahead of me, anything and everything. The outcome was the exact opposite of what I wanted.

I wanted a programming job. I wanted to be an engineer. I wanted to become a dramatically better engineer

Freaking out didn’t get me to my goal

(Try to think of the healing that comes out of the pain )— Lean In, Focus, Be Kind to Yourself

I took another week break from programming, again. This was now one of those shit or get off the pot situations. I’m either going to do this or I need to close the programming door and open a different one.

I did just that. I worked from home. I worked on a tutorial, then I implemented something on top of it. I did a freeCodeCamp project, I added something else on top of it. I built the next thing, I paired on Conway’s Game of Life with another RC’er (Alec Barrett) remotely using git. I paired again with a buddy, my buddy (as per the buddy system specification, Stanley Zheng) on a P5 animation. I worked on a real project with Chris Roth.

This is what I should have been doing the whole time I was in RC. I like to call this my batch++. For that month I did what I should have been doing during my batch.

(I have never been as happy as I am today

But then the seasons turned and the darkness came)

RC has its own internal recruiting agency, this is how they keep the lights on. Based off of my work and attitude they couldn’t work with me. I was heartbroken. This was a very large door that closed at the time. I have no professional experience in programming and now need to find a job on my own.

Hindsight is 20/20. RC’s decision makes a lot of sense. They charge a high fee to place folks in their network at top-tier companies. I wasn’t where I needed to be where they could help me.

Rejection hurts, I wouldn’t have worked with me either at that time. This gave me something valuable.

I like to call this, going into Taylor Hall mode. Taylor was a 1st overall pick in the 2010 NHL draft. He got traded to the New Jersey Devils for to him what seemed like a 6-pack of Molson and $30 bucks (Canadian). He was getting injured in Edmonton and underperforming.

Taylor carried the Devils on his back this season. He was voted the leagues MVP. He was out to show the world he’s a world-class player.

Last season the New Jersey Devils had 27 more points than the previous season (13 more wins in 82 games or 17% more points). This brought the New Jersey Devils into the playoffs for the first time since ’12.

I was out to prove to myself that I could meet this challenge if I wanted to. Just like Taylor and The Devils.

It was a team effort, thanks again to everyone who’s helped me along the way.

(He’s been weak and he’s been brave, he’s been to heaven and he’s been to hell)

I got a job! They saw RC on my resume, it opened a door. I took the code test, in-person interviewed, and got an offer. It didn’t feel real. It felt like a dream. Their ChatBot product is pretty sweet too.

Dexter’s engineering team turned me into an engineer. I can’t express enough gratitude to them. The engineering values, attention to deal and high standards of quality they’ve instilled in me will stay with me for the rest of my life. Not so much of a learn x or y thing, but think about this problem this way or go read this documentation and think about why they’re doing it that way.

I still didn’t learn how to fail the way I should have. I leaned on my teammates too much. I didn’t dig into problems the way I should have. I made careless mistakes too much.

But, this was progress. I got a lot better. I learned a lot. I did my best. I just didn’t know how to fail, yet.

(I don’t know him anymore, he isn’t like he was before) — Learning How To Fail

I truly believe this was the tough love I needed. This was the kick in the ass that opened my eyes. I took time to reflect. I took the time to learn, explore and build.

I started learning about unit tests, I built my own D3 components from scratch, wrote some authentication. I started thinking more about interfaces in general. I picked up this book, which really is just a glorified manual for human interfaces.

(Like the spinning of a wheel, he’ll be hurt but he will heal) — Gaining context and putting it all together

A couple of really important things happened to me within a few weeks.

  • Time is finite: I was on the subway, a guy who was mentally ill pulled a gun and started to wave it around. I called 911 and told them no shots were fired. The NYPD came down ready to go. They were told shots were fired. I didn’t want anyone with a gun to kill me that night via miscommunication or from a lack of mental awareness.
  • Life is short and fragile: After having dinner with my mother, while walking home we heard a big thump. A guy was drunk and walked into oncoming traffic.
  • I never worked harder or was more detail-oriented in my life: It paid off. People listened and respected what I had to say at my new job. I leaned into my work, followed up, communicated well, and stressed the details. I was the first one in and usually the last one out. This is the fella who wrote (Nicholas C. Zakas) ESlint.

(The Sun Will Shine After the Rain)

  • People notice hard work: Other people who I wanted to notice saw it too. It was for a Senior Remote Front-End role that on paper I probably shouldn’t have been able to interview for. Their CTO told me he didn’t know if he should hire me or wait for an engineer with 10-years of experience to walk in the door. I’ve never been given such a kind compliment in my life for my work. I didn’t get an offer, but I did force him to make a very hard decision which was one of my goals.
  • Success and a positive attitude are addictive: I lost 30 pounds. I couldn’t do a single pull-up in January, I can do 10 in a row now. I walk in with a smile and the world smiles back. Life is sweet, enjoy it. Just like negativity, positivity is a self-fulfilling prophecy too.

Stay Positive

(Just wipe away the tears and try again)

Failure is the best. Use it as a debugger and your stack trace. Gain context into your failure. Realize you're coming from a different place than other folks.

I was chatting with an RC co-founder (David) about this post. He told me he felt the same way when starting RC and attending YCombinator. He was struggling while others were progressing. The same way I felt during my batch when other programmers were learning more and building incredible things while I wasn’t.

David gained a bit more context. Those folks had previously started companies and raised money before. They had built up steam and momentum way before YCombinator; that’s why they were moving so fast.

When you fail and you’re upset, don’t worry about those folks. Learn from them. Try again, take a break, read the stack trace. Figure out where the failure is and fix it. Embrace failure, it’ll pay off. It did for me.