skip to content
Raheel's Blog

How to Eat Dirt

/ 3 min read

Last Updated:

I’m always looking for ways to do less while delivering more to increase my value. But how do I do that while learning new skills and tools in a rapidly changing industry? The answer is that I try to fail hard (fall on my ass) by intentionally putting myself in challenging, unfamiliar, and uncomfortable situations where I’m likely to make mistakes and learn from them. This does not mean I intentionally try to fail. It means I set myself up in situations where failure is a possibility.

But Why?

When I fail, I have the opportunity to examine what went wrong, make adjustments, and usually: try again.

Learning More

If I fall on my ass, I’m more likely to remember what I did wrong and how to fix it, much like failing a test in high school (unless I’m not told what I did wrong, in which case, screw the teacher). For me, frustrating and embarrassing mistakes are seared into my memory, so I intentionally “learn the hard way” whenever possible.

I also expose myself to new information and experiences that challenge my existing knowledge and assumptions. This is the case when I take on an ambitious project outside my comfort zone and make a lot of mistakes. Each one highlights areas I misunderstood or neglected and gives me the opportunity to fill those gaps.

Personal Growth

After making an error, I increase resilience and grit for coping with failure while learning to embrace feedback and criticism as opportunities for improvement.

That last sentence sounded like something from a resume.


It’s also about experimentation. With this mindset, I’m free to try anything without fear of “looking dumb,” a big reason people avoid failure or don’t ask questions. If I’m willing to take risks and try new things, I’m more likely to stumble upon a solution that I wouldn’t have found otherwise. I think the expression for this is: fail fast.

The Catch

For this to work, I have to be humble, honest and open about my mistakes and failures. For those who know me, that’s easier said than done.

After making a mistake, I also have to ask for help, feedback, and guidance from others who are more experienced/knowledgeable so that my mistakes don’t repeat themselves.

Wrapping it up

Failing fast has been a key part of my learning and growth as a software developer. By intentionally putting myself in situations where failure is likely, I’ve been able to learn faster, experiment more, and come up with innovative solutions that I wouldn’t have found otherwise.

Of course, this approach isn’t for everyone. Not everyone is comfortable with the idea of failure, and some people would rather stick with what they know works (“absorbing resources” and whatnot).

Go ahead and count how many times I said the word “you” in this post. This may not work for you, and that’s okay.