1. Get comfortable with discomfort.
The traditional ladder of success is built on gradual steps. We see that from our first day of school to the way college courses are taught. There’s certainly value in that model, but what structured school environments often overlook is the real-world lesson of taking leaps, being greeted with failure, and not being discouraged by those failures.
I taught myself iOS development in 2009 while I was in high school. I bought two books and completed them. I didn’t really know what to do next. I hadn’t tried to teach myself such a broad and technical topic before.
Instead of continuing to learn at an appropriate pace, I did something that I had never really done before: I threw myself totally outside of my comfort zone and established myself as a freelance developer. At the time, I was an absolute beginner with zero experience in anything other than bookwork, so I was totally out of my depth.
I was paid next to nothing to build my first commercial iPhone app, but I didn’t care. It wasn’t about money, and to this day, it never has been. It will always be about learning and about growth. I had something that really interested me and I wanted to learn more.
The best and quickest way to grow is to make yourself uncomfortable through tasks that scare you. I didn’t wait until I was ready to start professional work; I just did it. I ran into roadblocks every day and felt totally overwhelmed by my lack of knowledge. Giving up would have been the easy way out. When I hit an unsolvable problem in a project, it would have been easier and more comfortable to simply walk away and think, “Well, I gave it a good try.”
But success isn’t built on giving up when you encounter a speed bump–or a brick wall, for that matter. It’s built on putting yourself out there and failing. It was stressful and still is to this day, but the progress was tangible: the lessons I’d learned meant that I’d be better the next time around. The fastest way to learn new skills, to grow as both a programmer and a person, was for me to fail, pick myself back up, and try harder. This was a lesson I encountered a lot.
2. Don’t wait for great ideas.
Running a startup teaches you to embrace failure, and not just failure, but the discomfort and fear that come with it. That’s what I discovered three and a half years ago when I took on that first freelance contract. Without that experience, I wouldn’t be here today.
We all have ideas that range in quality. Of course, the great ones come more infrequently. That’s why you shouldn’t wait until you’re an amazing developer with an incredible idea, because that day may never come. In fact, even if you just wait to feel comfortable with the task at hand, you’ve waited too long. That task could have been done years ago if you were willing to accept failure, fear and discomfort, because all of those things will pass. The only way you become amazing or get an incredible idea is to just start working on something. Start out as a novice developer with an OK idea, and then grow yourself along with your idea as you develop it.
Every sticky situation I’ve been in has required a unique solution. The one thing each solution shares is an understanding that failure is not only acceptable, it’s an essential part of becoming successful.
3. It’s OK if you don’t trust yourself–trust in the process of failure instead.
Running my startup while I was in college gave me the confidence to know that I’d figure it out on my own, even if I felt totally lost at times. Even though I might have no idea how to solve a problem, I had gone through the process of failure-discovery-solution enough to trust in it.
That’s the message I have to pass along to young entrepreneurs. You may not trust in yourself, and that’s a realistic position to be in. How can you trust in yourself when you don’t know the solution? Instead, trust in the process of failure and learning. These will provide the solutions you will eventually discover to be second-hand thinking. Failure is not the end; it is a means to an end–it is the fastest and most effective way to a solution. You just have to be willing to accept the challenge of experiencing it.