I don’t fail often. Maybe I don’t try things that stretch my limits. Maybe I just have high limits.

But recently I failed. I didn’t get what I wanted and it hurt. The what the hell am I doing with my life kind of hurt.

I think I learned something from it, and since I can’t very well share my pain, I’ll share this: the way you define yourself directly affects your happiness.

So if you define yourself as a software engineer, but you aren’t very good at memory management or pointers confuse you or those sorts of things just bore you, then you shouldn’t define yourself that way.1

So how do I define myself now? I’m a guy that is good at making useful things. If I have to copy code that I don’t fully understand right at this moment to create something useful right now, then that is what I’m going to do.

And defining myself that way, I set myself up for success.

  1. Not being a software engineer doesn’t mean that you can’t create great software. Really, it can help you make better software.