Coding Blocks

We’re living through the tail end, maybe?, of the Great Resignation, so we dig into how that might impact software engineering careers while Allen is very somber, Joe’s years are … different, and Michael pronounces each hump.

The full show notes for this episode are available at


  • Mergify – Save time by automating your pull requests and securing the code merge using a merge queue.

Survey Says

What's most important to you when you're looking for another job?

Take the survey at:


Thanks for the review Chuck Rugged (or is it Rugged?).

What is “the great resignation”?

  • The Great Resignation is an ongoing economic trend where a lot of people started quitting their jobs in 2021 and peaked at 3% unemployment (up roughly 50% from the pre-COVID unemployment average).
  • Primarily, but not exclusively, in the US, but also trended in Europe, China, India, Australia as well.
  • Some interesting factors:
    • High worker demand and labor shortages.
    • High unemployment.
    • Employees between 30 and 45 years old have had the greatest increase in resignation rates, with an average increase of more than 20% between 2020 and 2021.
    • Resignation rates actually dropped for people in their 20s.
    • Tech and healthcare led the trend, 4.5% for US, 3.6% for healthcare.
    • Reasons cited included stagnant wages and working conditions.

Why is this a big deal?

  • Hiring is expensive! Think of thinks like referral fees, recruiter’s percentage, takes a while for people to become productive, onboarding, etc.
  • What does this mean for working conditions? More remote, better compensation, more flexibility, etc.?
  • Why do people change jobs?
    • Promotion,
    • Work life balance,
    • Compensation,
    • Flexibility,
    • Leaving a bad environment, and/or
    • Better company

What can you gain?

  • Salary bands, FAANG vs local vs remote vs startup
  • The “TC” (total compensation) Trap
    • Restricted Stock Units vs Options
  • Top paying companies, by level (
  • Comparing levels across orgs (

About those levels

  • Senior engineers are senior developers who may specialize in a specific area, oversee projects, and manage junior developers.
  • Principal Engineer is a highly experienced engineer who oversees a variety of projects from start to finish.
  • Staff engineer is a senior, individual contributor role in a software engineering organization. There is no “one” kind of staff engineer and many fall into one of four archetypes: Tech Lead, Architect, Solver, and Right Hand. (
  • Is there a hiring level cap? What does that mean?

What can you lose?

  • The people,
  • The grass isn’t always greener,
  • Seniority (don’t be the “At X we …” person), and/or
  • Comfort

Resources we Like

  • Great Resignation (Wikipedia)
  • The Great Resignation: Data and analysis show it’s not as great as screaming headlines suggest (
  • The Great Resignation is here. What does that mean for developers? (
  • Who Is Driving the Great Resignation? (
  • What Do Software Developers Want Out of Their Next Job? (
  • How the Government Measures Unemployment (
  • Salary comparisons (

Tip of the Week

  • Did you know you can expand or collapse all the files in a pull request on GitHub? Press Alt + Click on any file chevron in the pull request to collapse or expand them all! (
  • Kotlin code for using Google Cloud! (
  • Thanks to Dave Follett for sharing How to securely erase your hard drive or SSD! (
  • Thanks to Fuzzy Muffin for sharing Nvchad, a nice face for Neovim (Nvim) that adds some nice features, like directory access and tabs. (
  • How do you merge two Git repositories? (Stack Overflow)
  • Use git-sizer to get various statistics about your repository. (GitHub)
  • How to find/identify large commits in git history? (Stack Overflow)
  • Then forget about BFG and filter-branchgit filter-repo is the way to remove large files from your Git repo (GitHub)
  • Use --shallow-exclude to exclude commits found in the supplied ref in either (or both) your git clone ( or git fetch operations. (
  • Limit your git push operation “up to” a commit by using the format git push <remote name> <commit ID>:refs/heads/<branch name>. (If the <branch name> already exists on the <remote name>, you can leave off the refs/heads/ portion. (
Direct download: coding-blocks-episode-180.mp3
Category:Software Development -- posted at: 8:39pm EDT