It takes more than great code
to be a great engineer.

Soft Skills Engineering is a weekly advice podcast for software developers.

The show's hosts are experienced developers who answer your questions about topics like:

  • pay raises
  • hiring and firing developers
  • technical leadership
  • learning new technologies
  • quitting your job
  • getting promoted
  • code review etiquette
  • and much more...

Soft Skills Engineering is made possible through generous donations from listeners. A heart with a striped shadowSupport us on Patreon

A speech bubble

Why should you listen?

Here's what listeners say:

Recent Episodes

Latest Episode

Episode 103: Team Dynamics and Bad Code


A listener named Dan talks about ThanksBot, an internal tool at Facebook to support gratitude.

Dave and Jamison answer these questions:

  1. I became an engineer because I loved my programming assignments and CS degree. However, at work I’m struggling to contribute beyond competing the tasks assigned to me. How do I participate more in broader technical solutions, process, etc?
  2. I recently started a new job, and a lot of the existing code is really bad. How can I raise this concern, or make improvements to the code, without offending my teammates who wrote it? Thanks!
A smiling speech bubble

Episode 102: Correcting English and Tyranny of the Urgent


Dave and Jamison answer these questions:

  1. A teammate is a great developer but English isn’t their first language. Sometimes this results in bad grammar or spelling mistakes in code comments, variables, and method names. Often I correct it in code review, but I sometimes feel like I’m nit-picking, although I really do want it changed to be correct. It slows down code reviews. And of course, I don’t wish to appear racist or discriminatory. Any ideas for solving this?
  2. This is my first job out of college. Been there for 2.5 years. It feels like my manager is always firefighting and not able to be proactive, trapped by the tyranny of the urgent. It feels like our group is always behind on deadlines trying to catch up and we’ve accrued large amounts of technical debt with little to no time spent on improving our processes or tools. The result is that we produce a worse product and documentation than we should. This causes additional support required down the road further loading down the group. What can I or my manager do to improve this situation? Is this more common than I think?

Read more about the hairy arm principle and the fun memory tricks that game developers pull.

A smiling speech bubble

Episode 101: Style In Code Reviews and How To Thank My Manager


Dave and Jamison answer these questions:

  1. A fellow developer submitted a pull request for me to review. The logic was totally fine, but the spacing drove me nuts. We use a linter to enforce some coding style but because this wasn’t a rule in the linter, I wasn’t sure if it was fair game to call him out on it. Was I being petty? I knew if this got into our code I would end up fixing it later myself. I told him I would approve the PR but thought that spacing should be more readable and consistent with the rest of the codebase. What is the proper etiquette here? Mention it and add the rules to the linter later? Don’t care about spacing if the code gets the job done?
  2. How do you express gratitude to your immediate supervisor? My immediate boss, who is lead engineer for our team, does an amazing job. Occasionally I get to peek into his world and see how much work he does. I am amazed at all he does for the team; shielding us from company politics, keeping us updated on relevant info, dealing really well with team drama and even makes time to contribute to code. How do I show gratitude besides building meaningful software?

I recently read a paper on coding style and how it survives even through compilation and optimization!