Since many (many) people have requested this, I've created an all-articles page for my site. It beats the various other ways of looking through all my articles in chronological order.

Careers are tough to plan. Many of us never planned our careers. They just happened.

Hey Dave, how did you choose your college major?

"I always liked computers, so a Computer Science major just made sense."

Well, how did you move into management then?

"I didn't agree with management's decisions, and I decided I wanted to make those decisions. I was eventually given that opportunity when I kept asking."

How did you orchestrate the move to Amazon?

"I saw an opening at Amazon in Seattle, and thought that sounded interesting, so I applied. Just like I applied to dozens of other roles over the years. Then an Amazon recruiter reached out, and told me my resume was bad. They helped me edit it. I then passed the interview, and got the job."

My career wasn't carefully crafted. I fell into CS, management, and a position at Amazon. It worked out amazingly. But I could have easily not ended up in the position I ended up in.

I'm hoping that people reading this article can craft their career a bit more purposefully.

In particular, our college decisions, early career decisions, and later career decisions have different criteria to consider. There are reasons to make certain choices earlier, and different choices later.

I'm going to write down the phases I've seen people follow for outsized career success. In particular, the way I've seen people increase their compensation and the value of their career in specific ways.

Phase 1: Initial skill building

College and pre-college. I'm not going to get into how you can select your general career direction. Good luck, that's a tough one.

But once you've chosen a general direction, I'd recommend not specializing yet.

If you choose Computer Science (for example), that's great! But I wouldn't concern myself yet with specialization. No one cares about a machine learning expert in college. You're not an expert, and you can't be an expert yet. Expertise comes from work experience.

Instead, what you need right now is a bunch of doors to open. You want every possible door open, to give you the best chances of landing somewhere useful.

Imagine there's a super cool job at Anthropic in Machine Learning. But that position would require you to make UX changes.

  1. You can say "Oh, I don't do UX", and keep looking.
  2. Or you can excitedly take the job and the huge opportunity.

Early career opportunities often come from a breadth of learning. No one expects an expert in anything, but they hope that you know a bit (and are open to learn more) about most things.

Absolutely, learn more about the field that excites you. But learn as much as you can about everything else as well.

"Sure, I can do that! I can learn anything!" is the right answer. Always.

Formal education

If you're in computer science courses (for example), try to touch on as many areas as you can. Security, operating systems, various languages, UI and backend.

But also take classes in accounting, writing, marketing, psychology. Because well-rounded people are more valuable. And it's an incredible relief when the marketing team says that our new engineer hire is competent and understands their needs.


Most successful people learned some things outside of school. Take up non-fiction writing, or code on the side, or build some other valuable skill.

Yes, I understand we all want work/life balance, but this is also an investment in your future.

Phase 2: Work experience

That first job is incredibly hard to get.

Using your initial skills (college degree, self-study, whatever), hunt down a good first opportunity.

While you may need to take whatever puts food on the table, if you have options, look for a few specific things.

Right title / position.

If you're interested in becoming a project manager, avoid choosing a UX designer first position if you can. If you're interested in becoming a software engineer, you don't want QA engineer in your title.

You always have room to make small fixes to your title on LinkedIn and on your resume. See this article, step 4. But if you select a wildly different job than your intended career, your work experience won't count as much as it would otherwise.

Stay at least a couple of years.

If you're looking for a new job with 6-months at a company, you'll have an uphill job to explain that you weren't just fired.

Once you've hit 2-years at a company, you have likely contributed value, learned some things, and you're able to look for an upgrade (if that's what you desire).

Room to learn.

If you're going to be limited to a very mechanical set of skills, you won't build skills. You want to grow your mind and abilities.

This means you need to seek companies or positions which would appreciate you stretching. Listen closely to how the job is described. Ask questions about how much they want you to execute on simple tasks, and how much room there is for growth.

Common tools.

If you go to a company, and they're using company-tools, becoming an expert in those tools isn't terribly useful.

If you go to a company, and they're using industry standard tools, it makes you more valuable.

This post is for paying subscribers only

Sign up now and upgrade your account to read the post and get access to the full library of posts for paying subscribers only.

Sign up now Already have an account? Sign in