Finding Your ‘Why’ as a Programmer

Written By Dustin Ewers

Today, we’re going to tackle the big professional programmer questions: What’s the meaning of life, the universe, and everything? It’s 42.

Kidding. Seriously though, it’s time to start thinking about finding purpose in your work. Why do we do the work we do?

As developers, we are lucky to work in a field that pays well and is in demand. If you’re a reasonably skilled developer who’s willing to move to where the jobs are, the world is your oyster.

That being said, just showing up for the money isn’t going to lead to long-term happiness. Even if you’re being paid well, if you can’t connect your work with purpose, your life will eventually feel hollow.

Not only is this miserable from an emotional standpoint, but your lack of purpose and direction means that you’re eventually going to be stuck in a job that you hate with no easy path out. This is a recipe for burnout.

Because developers are paid so well, when we mention any displeasure with our job to our friends, we often get rebuked. I’ve heard things like, “You have no right to complain—you’re so lucky.”

But in all honesty, as your career progresses, money and status become secondary concerns. You need to find a deeper purpose in your work. Without a connection to your core purpose, planning your career direction is nearly impossible. You need to find your “why” and use it to navigate your way through your career.

Based on my own experiences, I’m going to share several strategies you can use to find purpose in your life. This isn’t some magical path to finding “ultimate meaning” or anything like that. I am not your or anyone else’s guru.

Instead, this is a list of practical strategies you can use to explore yourself and find deeper meaning, resulting in greater happiness in your life and helping you make better decisions in your career as a developer.

Finding Your ‘Why’

Simon Sinek, an author and business consultant, believes that people and companies should always “Start With Why.” He believes that others (or, in this case, you—as someone seeking deeper meaning in your career) resonate with “why” more than “how” and “what.” In his book, Find Your Why, he writes about the method he uses to help others find their core purpose.

This method begins with stories. Think about stories from your past that still resonate with you emotionally. These could be formative experiences in your career or your personal life. Many of these stories could come from your childhood. The goal is to come up with five to ten of these stories and write them down.

After you have your stories, examine them to find common themes. For example, maybe all of your formative experiences revolve around protecting your family or building something amazing. Every developer’s stories are going to be different.

It can be useful to talk with a partner, a trusted friend, or a co-worker to help you find the themes in your stories. They’ll often find things you missed.

After finding your themes, rank them. Your goal is to narrow the list down to the one or two themes that are most emotionally resonant. Once you have your themes, use them to craft a personal “why” statement.

Your “why” statement is an actionable statement that focuses on the effect you have on other people. It’s how you want your work to impact others.

The format is: To [contribution] so that [impact on others].

Here’s an example:

To inspire people to do the things that inspire them so that, together, we can change our world. – Simon Sinek

The advantage of this process is that it’s easy to follow. Find stories, find themes, and craft a statement. If you’re new to introspection, this is a good place to start.

Personally, this was not my favorite exercise. While I did manage to create an emotionally resonant “why” statement, I felt that the result was too squishy. As a developer, I prefer things to be more concrete.

However, if you’re starting off on the path of finding deeper meaning, this may provide you with some insight that you can expand on later.

Off-the-Shelf Purpose

In our modern age of individualism and progress, we tend to want to do everything ourselves. People often toss out old ideas, saying that they no longer apply to our modern world. As developers, we are often charged with blowing away the past and building the future.

While it’s often positive to move away from the past, we may also accidentally throw out things that may help us in our quest to be better people.

The deeper questions of life—including purpose—have been explored by others for millennia. Sometimes, instead of using introspection to find meaning, we can look to these previous thinkers and take meaning from their works. If introspection isn’t your thing, look to your bookshelf for advice.

Wisdom from the past can come in many flavors. There’s no shortage of great works of philosophy, religion, and literature. I’m partial to the Roman Stoics, like Seneca, Epictetus, and Marcus Aurelius. I enjoy the Stoics because of their use of rationality to defuse negative emotions and a negative mindset. Lots of other technical professionals, including famous developers like DHH, are also fans of Stoic philosophy.

Different philosophies work for different people. Keep reading until you find deeper meaning that resonates with you.

Goals Hierarchy

In Grit, author Angela Duckworth talks about how finding a higher purpose helps you gain resilience. People who have a purpose to their work can more readily persevere in the face of adversity. This ability to persevere underlies success in all fields, especially tough fields like software development.

To find purpose, she recommends creating something called a goals hierarchy. To make a goals hierarchy, begin with a list of your goals. There’s no specific number you need, but I’d start with at least five.

Once you have your list, ask yourself why each goal is important to you. As you keep asking why, you’ll find that the reasons for your goals will converge into a handful of categories. Keep working your way backward until you have one to three different, but equally, important goals.

For example, let’s say one of your goals is to get a promotion at work. Ask yourself why. Maybe you want that promotion because you want more money. Ask yourself why once again. Maybe you want more money to provide a great lifestyle for your family, or maybe being a provider is one of your core motivations. If several of your other goals converge on providing a good lifestyle for your family, then this is a core value.

This is a great exercise for developers because we are often encouraged to create lists of goals. Whether it’s in performance reviews where you create objectives for yourself or just a general drive toward personal progress, software developers often have an existing list of goals to analyze. If you’re the type of person who reads a site like Simple Programmer, you’re probably the type of person who has at least a few goals.

I found this exercise to be the most useful of the three. I’ve been keeping lists of goals for years, so it was interesting to take that and create a goals hierarchy. It was much easier to examine my lists than to dig around for stories from my past. I also liked the concrete results this exercise delivered.

Find Some Deeper Meaning

No matter what method you use to find it, finding deeper meaning in our work is vital to maintaining a healthy career.

Software development is a profession where money and jobs are easy to come by. That success comes with the cost of needing to constantly update your skills and grind on the career ladder.

Money is not enough to motivate you to keep pushing forward. In order to have a long and healthy career, you need a deeper meaning to your work. This deeper meaning is going to help you make better choices and motivate you to do your best. Each time you are faced with a career decision, you can ask yourself if it lines up with your own personal “why.”

Take action today. Pick one method from this list and find your purpose.