I'll be blunt: building a product is difficult, and often, stressful.

If you're either thinking about or currently in the process of building a product, it's likely you've experienced a feeling of absolute dread; uncertain of how you will ever finish.

Even more terrifying is whether or not you'll actually succeed. "Is this thing I'm investing a significant chunk of my life into even going to work?!"

Realize It doesn't matter

This isn't some hippie dippie, roll out your yoga mat, "it's all okay maaaan" sort of pacification. Instead it's a realization built on experience.

What you think is a big deal today will be a tiny blip in the future. That feature you're working on that you're convinced has to be perfect?

It doesn't.

In fact, if this is your first go at building a product, I can guarantee that it won't be perfect.

This is a fundamental truth to understand: the first few times you do this—even with an experienced developer as a sherpa—there will be imperfections galore.

The reason why is that building a product goes far beyond writing code.

You have to understand how all of that code fits together, why it's even necessary in the first place, and how to tweak it to your product's specific needs. That doesn't even factor in the non-code things like branding, marketing, customer support, finance...ahh!!!

Until you understand these things, there will be gaps in what you build: technical gaps, logical gaps, and user experience gaps. Anybody you look up to who does this stuff at an advanced level has gone through this. It's just par for the course.

If you want to produce really great stuff, you have to accept—and not be upset by—the reality that things will not be perfect (or even close to it) when you start.

And that doesn't matter. Why? Because if you're serious, you will know to look at those flaws as opportunities to improve, not reasons to ball up in the corner. You won't magically be able to resolve those things now, so what's the point in worrying about them?

This doesn't mean you should be lazy or purposefully incompetent—quite the opposite.

Instead, you should be looking at each rough edge as a challenge: "okay, this thing doesn't work now—that may be frustrating, but how can I improve it?"

Taking this view of things removes a significant amount of frustration and anxiety. In fact, I'd say it removes a good 80% of it.

Accept that "those days" are unavoidable

Even with this attitude, it doesn't mean you're invincible. There will be days—and many reasons—where things just simply do not go your way.

That package you wanted to implement to make avatar uploads fancy and slick? It took eight hours as opposed to the one you budgeted.

You wanted to write that blog post showing off a new feature you're excited about only to have the "Y" key on your keyboard stop working (true story).

I've been here time and time again and I can promise that you will be too. It happens. That's part of building something big. The universe isn't picking on you, it's just how things go.

"You have power over your mind—not outside events. Realize this, and you will find strength."

— Marcus Aurelius

If you expect that things will go wrong at some point, it's far less easy to get stirred up and stressed out when it happens.

Understand you are not them, they are not you

You may be reading all of this and thinking "how does this guy know all of this?!" The truth?

It's because I'm a nut job.

I'm almost 31 years old now and I started working for myself at 23. Fresh out of college, I hated working under the rule of another human being and—true to my distaste for authority—quit my job and scrambled my way through life as a freelancer and contractor for ~6 years (read: I was able to control how I spent my time leading to more rapid learning).

During that time, too, I've cultivated a discipline for voracious reading and working incessantly (much to the dismay of my personal relationships—don't feel bad; I love what I do and do it intentionally).

"Okay, great, how does that apply to me?"

Well, it applies to you because you're not me. Conversely, I'm not you.

Often, when you're starting out you compare what you're doing to what other people doing. This is a recipe for anxiety.

Your life and your work are unique to your situation. This will never change. Some folks have spouses and kids, some don't. Some people have a hyperactive social calendar, others don't.

Removing the habit of setting your expectations of now against where other people are after years of work is an incredible salve for overwhelm.

It's perfectly fine to want to get there, but don't hold that expectation over your current results.

Learn to chill, duder

If there's one piece of wisdom I can share that I wish I had when I first started it would be to relax and have fun.

That may sound like a trite platitude, but I really mean it.

Looking back, I wasted an insane amount of time stressing out over things that never came to pass. At one point, I even worried myself into the emergency room on the tail end of a panic attack.

Just accept now that the sea will be calm at times and the sea will be choppy at times. You can't predict what's coming, but you can prepare your mind to weather any storm.

A good takeaway: realize and be grateful that you're even in a position where you get to worry about your product idea being successful—some people will never get that opportunity.

Breathe, steady yourself, and strap in for the long-term.