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 515: My junior team member won't listen to me and will I be the dumbest employee at a quantum computer company?

Download

In this episode, Dave and Jamison answer these questions:

  1. Hi from a long-time listener and first-time caller. I need some advice on a toxic workplace situation.

    I’m currently unhappy with my job due to a difficult dynamic with a colleague. My manager put us on the same team, meaning we share responsibility for our output. Although this colleague is technically a level below me, they act as though they have seniority. This creates significant friction: they’re resistant to advice, insist they’re always right, and refuse to accept reality even when they can’t deliver what’s required. They’re incredibly stubborn, and arguing with them about what’s feasible takes an excessive amount of effort.

    The situation is particularly frustrating because I’m held accountable for the shared results. If I weren’t responsible for the final outcome, I could probably just ignore their behaviour. Instead, they frequently talk a big game while contributing very little actual work. People unfamiliar with our domain are easily misled by their confidence, even though they are incompetent. Consequently, I’m forced to clean up their mess; otherwise, I’d be the one bearing the blame for the failure.

    I tried discussing this with my manager, but unfortunately, it made me look bad rather than resolving the issue. If I were the manager, I’d fire this person immediately, but my manager is clearly one of those people who get fooled by their smooth talk. I’m very close to handing in my notice, and let the manager know how incompetent this person is. But I’m furious that I feel I have to give up a role I enjoy just because of someone who makes my life miserable.

    My question is: Should I stick it out and try to navigate this politics-heavy environment, or is walking away the only option left? How do I leave without burning bridges or letting them win?

  2. Hello gentlemen, long time listener of the show and finally getting around to asking my first question (how exciting!)

    I’m going to be joining a new company in a few months and am wondering how to best handle the transition in order to make an excellent first impression and maybe set myself up for career growth… while not biting off more than I can chew.

    For context: I’m joining a company that builds QUANTUM COMPUTERS 🤯 after a background in working in completely different, non-scientific fields. To be fair I’m just joining as a Senior Software Engineer on the Cloud team, I won’t be building the actual computers.

    I have some experience in leadership, but not nearly as much as I wish I had, this is something I’d love to try and get into a little bit more (and couldn’t at my last company which was too small). I’m also a little intimidated at the idea of stepping into the “big leagues”, but want to use this opportunity to show that, I too, can ball.

    However, I am worried that everyone is going to be waaay smarter than me and that I’ve actually been playing in the ball pit for years.

    I’m a little scared of attempting to ball too hard and fumbling, causing dissapointment on their end, and impostor syndrome on mine.

    How would you go about joining a new company with the excitement of a new start and the drive to be the best I can be, while also remaining humble and grounded in reality?

    Should I “fake it t’ill I make it” and be super confident? Or take a more reserved approach?

    In France we call this a “rich person problem”, everything is great because I have a cool new job, but I don’t want to mess it up! HELP!

A smiling speech bubble

Episode 514: Trust issues and underperformers and my coworker resents me for being faster

Download

In this episode, Dave and Jamison answer these questions:

  1. My parent organization has trust issues: we registered on a recent survey as one of the lowest across the bigger software org (thousands of employees).

    There are two groups: functional, trustworthy people who get stuff done, and people who are behind, stuck, or just not working. Those struggling say they need better emotional support, but there is consistent, documented evidence that they cannot keep up.

    I’m perpetually frustrated that there are only two or three people in an org of 30 who can effectively complete tasks and manage the insane workload. I am biased: those in whom I have no trust have repeatedly demonstrated that they cannot be trusted. I believe that the organization would be able to go faster without them.

    Whats the right answer here? Should I start my own company to abandon this mess? Do we cut scope super aggressively to allow underperformers to be reasonable contributors?

    One example: one of these contributors was walked through the process, given written documentation of the process, verbally confirmed an understanding of the process, and committed to starting that day. And then two days later identified they hadn’t started for those two days because they were blocked by something that was explicitly captured in the document and discussed in the recorded meeting. They do not raise this until they were asked for their progress multiple days beyond the critical start date.

  2. Hi Dave and Jamison,

    First, thank you for the podcast. As someone on the spectrum, it really helps me analyze social situations I struggle with.

    My question: I work at a software company where management is pushing the use of LLMs for coding, and my team recently started using Spec-Driven Development. SDD often requires strong upfront planning, which has quietly split my small team between developers who plan well and those who get lost in “vibe-coding” loops.

    One of those people is a close coworker I consider a friend (we hang out after work and have honest chats about everything). He’s not strong at planning, so I end up explaining each ticket to him in detail. But he’s really great in other ways: communicative, asks a lot of questions in refinement sessions that set a good example for others, does thorough handoffs with the QA team, always responsive in chat, always trying to help. He’s also one of the rare people who actually pay attention to alerts.

    Since we started using SDD, the gap in our speed and output quality has become very visible. One of our tech directors noticed and asked me to teach him planning. We spent several days drawing schemas and working through small features together, and it was clearly painful for him. The TD also had his own sessions with him, but eventually gave up because my friend seemed so discouraged, and the TD decided to “stop the torture” and leave him alone. The hard part is that after all these teaching sessions, he actually seems even slower than before and also more discouraged and down.

    Since then, our friendship has changed. He stopped talking to me outside work, and I think he now feels jealous or bothered by the difference in our performance. I’m okay with continuing to explain tickets and outlining detailed execution plans for him, but I worry that I’m keeping him in his comfort zone and not really helping his career. And I also miss how things used to be between us 💔

    What should I do?

    P.S. I’m not an LLM fan or enthusiast, I take a practical approach to using them. But I hate how they’re taking jobs away from devs who really love coding but are weak at planning or not interested in it. It doesn’t feel fair.

A smiling speech bubble

Episode 513: Forgotten employee and what skills actually matter in the AI world

Download

In this episode, Dave and Jamison answer these questions:

  1. How long until I am ethically obligated to let my company know I’m doing no work? There was a big re-org at the company I recently joined. It’s a huge financial company, so there’s a lot of bureaucracy. Somehow in this mess I was kicked off the first team I joined so that I was pending re-assignment. It’s been a month and I haven’t been re-assigned. Instead of being in between jobs not working, I am currently in between teams, but still getting paid! This feels unintentional on the part of the company as no one has followed up with me. I’ve been happily using the time to catch up on hobbies, but I’m starting to get concerned about what will happen when the other shoe drops. At what point do I start to venture into irreversible reputational harm? For some added context, teams at this company are about 6 people and the manager handles several teams, so I’ve never talked to my manager since I joined. I got the message about the re-org from a screenshot of an email that my scrum master shared in my last stand-up.

  2. AI changes how software is build. Actual coding is mostly done by LLMs now (I hate it, but it is what it is). What do you think should I focus on learning now to not become obsolete in 1-2 years? I am a senior dev with 13yoe, and loved coding, but now I find it hard what my role will be in the next years (still have 30+ before retirement). I do not want to go to the EM track, at least not in the near future. So is it more architecture knowledge, security, AI internals, …? What do you think?