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 466: Bad performance review and moving in to the caves

Download

In this episode, Dave and Jamison answer these questions:

  1. I had my performance review two months ago where I scored a “Does not meet expectations”, which I definitely understand, and my manager told me that some of my coworkers had been complaining about me. I’ve been working hard on improving ever since and my manager told me that they were really impressed with my progress and told me that some of my coworkers had expressed similar sentiments.

    I have now gotten a really good job offer but I’m reluctant to take it. I’m still working on improving myself with the help of my manager and I don’t want to stop working on this. I would also like some more time to show my coworkers that I really have grown before leaving, feels like that would leave behind a more positive image of me. I’m fairly junior still so contacts seem good to have, and better performance does too, and a better job does too. What should I do? :D

  2. Listener Michael Q asks,

    Hello! I only recently discovered this podcast but it has quickly become a daily ritual in my commute to and from work. Although I am more of a mechanical and data focused engineer, I find the lessons extremely applicable! I work at a midsized biotech company. I have been in my current role for about three years as a product engineer. Because I’m on the commercial side, my contributions have been very visible to the higher ups and have gotten a lot of recognition, which has been great. I am now transitioning to the more hardcore engineering team. Although I admire this team and think they are the most innovative group on site, I think their work goes largely unrecognized as behind the scenes magic. I think they deserve more recognition and accolades for the work they do. How can I bring them into the spotlight? Or am I naive in assuming that just because I am motivated by recognition, everyone else would appreciate it too? Note: I do not want to quit my job.

A smiling speech bubble

Episode 465: Talking to your report's previous manager and how to replace a 30-year-old ticketing system

Download

In this episode, Dave and Jamison answer these questions:

  1. A listener named Mike says,

    To what degree do you think it’s appropriate to talk with your peer managers about people that have moved from their team to yours? How much weight do you give their criticisms of an IC that they used to manage that is working out just fine under your leadership? How do you know if it was mostly due to a conflict in their relationship, or if there’s a nugget of truth you need to look out for?

  2. Hi, thanks for a great show. I’ve listened to 400 episodes in a year - thanks for making my commute fun!

    I’ve been at my current job as a software developer for a year. It’s a great company overall, but we rely on a 30-year-old in-house ticket system that also doubles as a time reporting tool. It lacks many basic features, and project managers often resort to SQL and Excel just to get an overview. As you can imagine, things get forgotten and lost easily. Everyone dislikes it, but the old-timers are used to it.

    They want any replacement to be cheap and also handle time reporting, which really limits our options. I suggested to keep using the old system for time reporting only for now, but the reaction made me feel like I’d suggested going back to pen and paper.

    While the company is old and set in its ways in some areas, it has made big changes in others, so I’m not ready to give up hope just yet. How can I at least nudge the company toward adopting a more modern ticket system to improve visibility and planning? I’ve shown examples that save time and offer better overviews, but it hasn’t made much impact. Where should I focus my efforts—or do I just have to learn to live with it?

    Some more context: This is in Europe and the culture at the company is generally open to feedback and discussions from anyone. I have 10+ years experience and a relatively good influence. My manager is driving change successfully to make the company more modern but I suspect he might have given up on this one.

A smiling speech bubble

Episode 464: Rehiring an overpaid boomerang and AI has taken over my teammate's brain

Download

In this episode, Dave and Jamison answer these questions:

  1. Mr A. N. Onymous says,

    Hi Dave and Jamison,

    Long time listened, second time caller! I wrote a little while back with a common new-manager question about how to handle one of my reports who was at the lower end performance wise, but at the top end on the pay scale. I’d been trying to manage it by getting raises for the rest of the team in order to balance things out a bit (and make the rest of the team happy). I did consider Limogeage but having them on the team was better than a vacancy.

    Fast forward a year or so, and the problem resolved itself when this team member left - or so I thought. We’ve had a few months gap before opening recruitment again, and it turns out this team member wasn’t happy at their new role and has applied to come back. Given they negotiated well with us the first time I’m guessing they’ve had a healthy pay bump at their new role. What should I do?

    On the one hand I know their performance, they do deliver well and I’m happy working with them and managing them. Would it be rude to offer them to come back at their previous salary (assuming they’re the “best” person when we interview)? Will they be offended if we don’t offer them the role?

    We haven’t had interviews yet - so help me Dave and Jamison, you’re my only hope!

  2. AI has taken over my team mate’s brain. HELP!

    I work for a ~10ish or so team building a B2B finances related app for several platforms (mobile, web, backend, etc). On the Web team, there’s only two of us.

    I’ve been on this team for around 4 years now, and during this times I’ve had several coworkers (the previous ones have either left the company voluntarily or involuntarily, moved to other teams, or completely left the field). I’m 100% convinced it’s not because of me, so let’s take that out of the question right away :-). All of this to say is that I tend to be the person that knows the most about our (quite large) codebase.

    We work on a ten-year-old React application with some technical debt, but overall I think it’s pretty good.

    My coworker comes from Android development. While he’s a great developer and has AMAZING soft skills (probably a listener of this podcast!, or maybe not because he has not quit yet?) he’s a little bit lacking on the general “Web Stuff (TM)” knowledge and many of the specifics details of our codebase.

    A bigger problem is that he seems to have totally given up on learning web skills or understanding our codebase and is instead just tab-tab-tab-ing autocompleted AI crap all over the codebase.

    His code works as expected, but when reviewing his PRs I feel like a slave of the AI. I’m not reviewing another human’s work, but just what some AI model is doing. While it works, it’s terrible code for another human to maintain. For example, there’s lots of “inline” crap that we already have utility functions or libraries for, regexes everywhere, custom CSS all over the place instead of using our design system, abuse of the CSS cascade instead of using our CSS-inJS solution, large files with lots of code repeating existing logic that’s already somewhere else, and code comments every 2 lines or so which provide no value, but that’s what AI does to explain things.

    I’m not against AI (I also have explicitly to say this to prevent it killing me in the future). I use it for explaining things to me, writing utility functions, suggesting improvements, or as a google search replacement that saves a lot of time.

    But leaving AI to do your work mindlessly while you sip orange juice and watch how it codes is wrong. We’re not there yet. These PRs work and are difficult to reject because management wants to ship fast. However, they are harming the codebase. We’ll get to the point where only AI will be able to touch it due to the amount of repetition, duplication and overall non-human friendly code.

    How do I tell this person “Please stop doing this and instead learn things properly, and use AI as a tool and stop you being the tool of the AI” without hurting any feelings, and without being seen as the AI grinch?

    Thanks for your help! Love the podcast, and why scroll keeps jumping up when writing on this form? Seems like AI is boycotting me.