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 354: Good at circuits, bad at git and ghosts of team members past

Download

In this episode, Dave and Jamison answer these questions:

  1. I work at a startup that makes embedded devices and the software that runs on them. Everyone on the tech team does both. We recently hired someone to lead the tech team to give the CTO more time for other duties. My new boss is incredibly experienced with hardware design and embedded systems and has been in the industry for a long time (40+ years). However, they are not familiar with modern software practices like version control. They will frequently ask us to do things like delete all copies of a broken version of software. When we try to explain how git works they will ask us to make a new repo with the now working version of the software even if the fix was a 1 line change. How can I politely explain that they just don’t understand how this works and correct them without being rude?

  2. What’s a “normal” rate of performance firings on a team/engineering department? I recently got a new job at a growing startup, and it’s fairly uncomfortable seeing the ghosts, on messaging apps and docs, of like 6 people in the ~25-person department who’ve been fired in the last half year. With that said, the department is continuing to hire, so I don’t think this necessarily means I should be worried. But does that sound like an unusual amount of performance-based firings?

A smiling speech bubble

Episode 353: Easter outage and unethical things

Download

In this episode, Dave and Jamison answer these questions:

  1. I work for a startup with a distributed team. Recently one of our clients experienced a production outage. As a small startup, we do not have an on-call rotation, and teams usually resolve issues during business hours. However, during this particular incident, most of my colleagues were on annual leave due to an Easter break, leaving only 10 out of 70 engineers available to assist. Although none of these 10 engineers were part of the team responsible for the outage, I was familiar with their codebase and knew how to fix the problem. Additionally, I had admin access to our source control system which allowed me to merge the changes required to resolve the issue. This was the first time I had done this, but my changes were successful and the problem was resolved.

    Now that the break is over, the team responsible for the codebase is blaming me for breaking the process that requires each pull request to have at least one approval and for making changes to “their” codebase without their approval. They want to revoke admin access from everyone as a result. However, I disagree with their assessment. While it is true that I made changes to a codebase that was not directly under my responsibility, I was the only engineer available who could resolve the issue at the time. I believe that helping our clients should be the priority, even if it means bending the rules occasionally.

    Did I make a mistake by making changes to a codebase that was owned by another team without their approval? Should I have refrained from getting involved in the issue and adopted a “not my problem” attitude since the responsible team was not available?

    Thanks and I hope I’m not getting fired for helping a paying client!

  2. J Dot Dev asks,

    What’s the worst thing you’ve had to do as a software engineer with direction from your employer?

    Years ago at a webdev shop we had a client who didn’t want to pay for e-commerce set up.

    My boss’ solution was to implement a form that included name, address, and credit card information fields that we would read on form submission and then email all of that information to our client in plain text.

    “Is that really ok?” I asked my boss. “Why wouldn’t it be?” “Isn’t that insecure?” “Only if they have her password. Just make it work so we can be done with them.”

    To top it off, they also had me email the information to myself just in case the email didn’t go through to the client or in case they accidentally deleted it, so I’d have all of this information just hitting my inbox.

A smiling speech bubble

Episode 352: Exploding manager and I hate computers

Download

In this episode, Dave and Jamison answer these questions:

  1. My manager finally exploded. They screamed and insulted our whole team because one teammate had a 4 day delay on a 2 week task.

    Our manager Theo (fake name) was recently promoted and now on top of managing our team of 7 engineers, they also manage 2 other managers with 6 engineers each. I have noticed that Theo is under a lot of stress and as one of the two senior engineers in my team I tried to support him with planning and organization tasks. Sadly, it’s reached a point where if Theo doesn’t calm down, the whole team might implode.

    Last week, after one mid-level engineer in my team surfaced that the two-week project he was working on was going to be delayed by 1 week, Theo called the whole team up for an emergency meeting. There, Theo screamed at us for 15 minutes and insulted us as a team and our work in general. The gist of it was that we are not real professionals if our estimates can’t be trusted and that Theo has given us too much freedom. Theo said that if we keep on behaving like ‘[expletive] children’, then he will start to treat us as such and sit next to us while we do our homework. After their screaming monologue, Theo refused to hear any response and left the meeting.

    Chatting with my team members, no one felt very motivated by Theo’s rant. I would like to approach Theo with some constructive feedback, but I fear he might not be in a very stable state of mind. I’ve never had a boss treat me like this in my 12 years as a SWE. What should I do? Is this HR worthy? Should I document it in some way? Is talking to my skip level an option?

    Thanks

  2. At the age of 36 I am having what feels like a midlife crisis. After grad school, I fell into a well-paying job at a giant Fortune 100 tech company and have been doing well here. I’m a senior engineer on my team and have consistently good performance reviews, but, I have zero passion for the industry. I have never been that into computers and I just don’t care about making them run faster! My spouse and I have enough money saved that I could comfortably afford to not work for a year. I’d really love to take some time off but I’m paranoid that I’ll never be able to regain my earning power. I’m the primary wage-earner in my family and my spouse makes about a third of what I do, so if I never go back to work then it will be a severe lifestyle hit, like having to sell our house and stuff. What do you recommend? Possibly-relevant context is that we had our first child just a few months ago and so I now have much more angst about wasting hours on silly meetings when I could be with my daughter instead.