Developer Design Patterns: Architecting Your Career

If you’re reading this, you’re probably a developer of some kind. And if you’re an experienced developer, you’re probably familiar with at least the basics of architecting your software project. You start with defining what you’re building, then build back from there. You figure out what tools you’d need, what systems work, and lay out all the moving components you need in order to accomplish your goal.

This is all well and good. We do this every day. But when was the last time you applied this logical, strategic thinking to your life?

Specifically, have you ever considered the architecture of your career? Have you ever sat back and said: “OK, what is my end goal? Where does all this lead to?” Likely, the answer is no. Most software developers (and for that matter, people) I know choose their jobs based solely on their team, pay, and the tools they’ll use. If they like what they’re building, that’s a factor, too.  The choice is generally just about how good the job will be.  When building your life, your job is just part of the picture. Would you design the architecture of a product around the HTTP server you wanted to use?

As a desirable professional building software, you get a lot of choices to maximize the life part. With your skills, you can pick and choose what you want. You can have it all. You don’t need to sacrifice life for your job.

What do you want to do?

Some examples:

  • Become a Digital Nomad
  • Spend the summers in Spain
  • Never have to be on call
  • Tend to a farm in West Virginia
  • Work from a beach
  • Spend Fridays working in underprivileged communities
  • Start your own tech-enabled non-profit

I can’t answer this question for you. Think back: what’s on the bucket list? What do you want to accomplish? What do you want to look back on and be proud of? What’s the lifestyle you’ve always wanted? Great. What kind of job do you need to do that?  Find that path. Write it down. Create a timeline. You can be wrong. It may take longer than you expect. You’ll most likely change it. But that direction is 90 percent of the battle. You can’t refactor the code you don’t write.

Now you’re thinking, but what if I don’t like the lifestyle I picked? Shouldn’t I just tread water until I figure that out? I don’t want to waste time.

But you’re already wasting time. If you don’t go after what you want now, you probably never will.  You’re allowed to change your mind. You can change the product requirements for your life and simply pivot. If you decide you don’t want to work from a beach in the south of France, that’s okay. You’ll never regret trying.

The best part of being software developer is that regardless of what kind of software development you’re doing, the type of team you’re on, or if you’re on a beach or in an office, you’re learning and improving as a developer all the same. You are just as valuable after working hard in an office for two years as you would be working from a beach.

Go figure out what your path is. Not just your job or what technology to use. Figure out how you want your life to be, and find the job that makes that happen.

Leave a Reply

Your email address will not be published. Required fields are marked *