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 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.

A smiling speech bubble

Episode 351: Senior hoarding and layabout lead dev

Download

In this episode, Dave and Jamison answer these questions:

  1. I’m not a software engineer, so you can stop reading here if you like ;-). I listen to this show every week as the soft skills you discuss are just as applicable to my role as an electronics engineer.

    I have 5 years of experience and in my opinion, the right level of competency to step in to a senior role. I recently started a new job and I’ve been encouraged by my boss to be more proactive in taking on senior work so I can be considered for a senior engineer promotion. The problem is, the existing senior engineers in my team are uninterested in sharing their workload with me. I will try to assist them with their senior-level tasks but it never lasts long as they will carry on with the work themselves after a short while. I’ve also been assigned senior-level tasks by my boss and when I’ve asked for small levels of assistance from the senior engineers they’ve taken it as an invitation to do the rest of the work for me.

    My boss is indifferent to my struggle as he only cares about the output of our team as a whole and not who does what. I know that I’m performing well as I was recently given a good performance review, so I don’t understand why I’m being denied these chances to step up.

    I don’t want to quit as I just started this job and the pay is good. But I also don’t want to just sit idly as a mid-level engineer while everyone I know gets promoted. What can I do?

  2. I am a junior dev and recently accepted a C2H position at a large enterprise company as a junior developer. I work closely with 3 or 4 other devs.

    Over the past couple of months, I have increasingly taken the lead on the project that I am working on, while the Lead Dev (also a C2H from a different agency) has taken a back seat and essentially stopped doing any work. The last time Lead Dev committed any code was over two months ago. Worse yet, Lead Dev is tracking time and marking tasks as “complete” in our work tracking software without actually doing those tasks. Lead Dev also approves all pull requests without reviewing the code, so I have become the de facto code reviewer for the other junior dev’s pull requests. I seem to be the main dev taking initiative on the project and trying to move work forward.

    Our manager is quite oblivious to this situation. They see that work is getting done, so have no reason to put our team under the microscope. I like Lead Dev personally, but I feel like my alacrity is being taken advantage of while Lead Dev kicks back and relaxes, and I feel like I have become a “Senior Junior” developer as a result.

    I think the “right” thing to do is to make our manager aware of the situation, but I don’t know if that’s necessarily the *correct* thing to do. If so, how I should go about doing so; if not, what else should I do? Help?