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 235: Bus factors and toxic time bomb


In this episode, Dave and Jamison answer these questions:


  1. I work as an IC in a team which owns 3 very different and large parts of the system. Our team is 4 experienced engineers and 1 intern. Historically each person was assigned to a single part and, as you might expect, we have a bus factor problem. With this layout we’re making as much progress as possible and it helps us to compete on the market but creates a dangerous situation if someone would decide to leave (spoiler: I will).

    What would you do if you were IC, team lead or a manager in such a team? We’re already exceeding headcount so it’s not an option.

  2. I am a developer with 1.5 years of experience, and was put on a greenfield project to rapidly develop a new application. We have a contractor that came onboard to help with the process. On the very first day of meeting this person I noticed their propensity to not allow anyone else to talk and interrupt.

    Fast forward several months and this person has really become a micromanager, they’re requesting the source files from our UI contractor, they got another person kicked off the project because they didn’t like the changes they were making interfering in their development process, they have constantly hoarded all the real dev work and work frequently until 9pm.

    I have voiced my concerns to the PM, mainly about the bus-factor, since layoffs are likely coming and this person likely won’t be converted.

    At this point I am just tuning out on this project. I do the scrap issues the contractor basically doesn’t want, but I am seeking learning opportunities elsewhere within the company and have nearly zero interest in the project which I see as a ticking time bomb.

    What would you recommend? I could potentially escalate the issue to the manager of our team but I basically see working with this individual as toxic and the PM as autopiloting to the finish line.

Show Notes–640k–quote-won-t-go-away—-but-did-gates-really-say-it-.html - apparently the bill gates quote is apocryphal

A smiling speech bubble

Episode 234: Job hopping and untenable counter-offers


In this episode, Dave and Jamison answer these questions:


  1. How can I stay at a job for a long period of time?

    I’m on my second job after graduating and as I’m approaching my first year at this company I’m already thinking of moving somewhere else. A similar thing happened at my previous job where I stayed for around 15 months.

    I feel that by switching companies so often I’m hurting both my personal development and future employability. At the same time the easiest way to get a better role or a raise is to switch jobs.

    What should I do? Have I just not been lucky enough to find a company that offers better career progression which would give me a reason to stay? Is the problem with me? How did you deal with this in your own careers? How about when you’re making hiring decisions - are you wary of hiring frequent job switchers?

    Great podcast btw, keep it up

  2. Is firing the new counteroffer?

    A junior dev on my team confronted us with an offer he got from another company. He is already paid at the limit of his range, his upcoming performance review is “not great, not horrible”. The amount offered to him would put him in our lower senior range and there is no justification for that at all.

    He made it clear he is in a complicated financial situation (got his bank account emptied and credits maxed out).

    I don’t see a path to him getting close to the salary he got offered in the next year or even longer. We are not a company that fires people if they do not grow at a certain rate, but given his situation he is probably not going to stick around for long.

    He also made it clear he would like to stay if not for the salary, but now I am thinking it might be the best for the company to fire him, maybe even for him. Is that cruel, which other options am I missing?

    Given your eternal backlog of questions your advice is probably coming late, I would still be interested in it.

    Thanks for all the other advice, it’s both entertaining and very helpful.

    Best from Colombia

A smiling speech bubble

Episode 233: Manual unit testing and WFH demotivation


In this episode, Dave and Jamison answer these questions:


  1. My (very large) company has an alternative definition of “unit testing”. Unit testing at this company refers to when a developer manually tests their code in whatever interface the code is associated with after they write it. An example usage would be a standup status update such as “I finished writing the code for ticket x I am just doing unit testing to make sure my code works”. My concern is that there is very little real unit testing at this company and the I think the misuse of this term makes it harder for real unit testing to become more prevalent. Is this worth speaking up about?

  2. Feeling Isolated and demotivated while working from home. With COVID 19 pandemic we have been working from for more than six months and looks like it will be another six months at least before we get back to work. We are already a geographically distributed team and with work from home the interactions within team have become harder. We do have once week team meeting but there are more than 20 people and it is usually a tech talk. Sometimes I go days without interacting with the team outside of slack/email. I have realized this tends to make me more distracted or demotivated. Interacting with team members and seniors within team gives big picture information, ongoing projects etc. that helps keep me motivated. I have tried proposing virtual happy hours or even meetings within small groups who working closely once a week or so. Understandably not everyone is enthused about virtual happy hours. Do you guys have any other suggestions?

Show Notes