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:

Soft Skills Engineering is made possible through generous donations from listeners. Support us on Patreon

A speech bubble

Why should you listen?

Here's what listeners say:

Recent Episodes

Latest Episode

Episode 536: Mentoring and how to help my team not lose their soul to AI?

Download

In this episode, Dave and Jamison answer these questions:

  1. Dave and Jamison, long time listener first time caller. I appreciate everything you do, I look forward to my Monday morning commute because of this podcast.

    I’ve been a software developer for about 4 years. I’m a career changer and graduated from a boot camp. I was fortunate enough to earn a junior developer position at a non software company and have been promoted during my tenure. I work on a small team and enjoy what I do and the level of impact I have. I am one of the most senior developers. My only concern is that I do not receive direct mentorship from more experienced developers.

    Am I limiting my future prospects by not job hopping? When is the right time to leave a company and seek new opportunities?

  2. Hello Mr. 💃 and Mr. Smith. I’ve been working in software ~6 years. In the same company (don’t judge). And about a year ago I advanced in the position of a team lead of 4 developers. I would actually like to attribute this advancement, at least partially, to listening to your podcast. Although luck was involved as well. ANYWAY. There were quite a few questions on how to keep your soul intact while working with Claude. And your advice was to focus on product side, and\or to focus on improving the processes. Now my question is - how can I help my teammates to not lose their soul? How can I help them to not turn into meat proxies? We work in the startup, so tasks are not defined in details. Which does give them some agency over whatever they are building. But I don’t think it’s enough anymore. I think one specific teammate leans toward copying the task description, throwing it at Claude and making a PR out of it. With very few iteration over the quality of the code. Can i blame them? Not really. But how can I help? It’s like the ownership of the code was taken from them. And from me, but at least i can do other stuff. For the context - I am reviewing the PRs manually. Please spam me with idea. Saying to the team - just don’t use AI is not an option, because the speed will go down. A lot. Plus we all are 100% addicted.

    PS Most of my developers have experience of +2 years in the field. One is completely fresh and started half a year ago. Maybe for him the approach should be different? He is pretty good at not generating complete slop. But I think for him it’s even harder to learn and to read all this code.

A smiling speech bubble

Episode 535: Manager externalities and should I fight stupid processes

Download

In this episode, Dave and Jamison answer these questions:

  1. Listener Random Listener asks,

    You guys talk a lot about externalities, which helped me understand a lot about how my manager works. He wants to do things fast, but he does not follow good and standardized processes, even the ones he tries to push onto us. This adds a lot of work for us because now his mess becomes our mess. How can I give him this feedback in way he will both understand and not feel resentment? Thanks

  2. Hello. I am individual contributor and have been with this team for 2 years.

    About a year ago a manager and a lead joined the team to fill in the growing positions. They came in with their preferences for code design, architecture, and ideologies.

    But they were all different from how we worked before. Their ways are not bad, but they add unnecessary complexities, taking away energy from just doing my pick-up - code - ship way.

    I shared my concerns, but they never get accepted as they just want to exercise their manager and lead powers. My teammates share similar opinions as me.

    Is it a worthy fight showing resistance to these changes or should I just suck it up adapt to their preferences?

    Each time I show any bit of resistance, it is being taken by them personally to their ego and discussions go on for tens of minutes and ends with either of us pissed off.

    Won’t quit my job for these petty people. Should I just say yes, adapt my work for good or bad and blame them when things don’t work? Do I even need to care about these workflow and operational changes as an individual contributor? Would there be any benefit resisting bad decisions at the cost of my mental peace?

    Thanks. You guys make me look forward to Mondays.

A smiling speech bubble

Episode 534: I'm so bad at my job and I've inherited a huge slop pile

Download

In this episode, Dave and Jamison answer these questions:

  1. Hi Soft Skills Engineering, I’m a senior software engineer with over 20 years of experience. I’m hoping you can help with with a problem where I’m dumb, weird and bad at my job!

    There is a recurring problem where, despite all my experience and graybearding, despite my big words, I sometimes just miss very important details, and ways that are very consequential and cause time and feature gaps.

    Sometimes I make a faulty assumption and gloss over initial errors, and later I get big errors that require big fixes. For example, sometimes I just miss random lines from a product spec or whole parts of the UI, like a blind spot, or like a Mandela situation where I could’ve sworn it was different where I read it. Sometimes, I read the docs on some library but didn’t really *read* the docs and missed the important line that I needed before things get broken.

    It’s a soft skill, sorta, because it’s about how I go about my work, and I don’t know what I can do about it. It’s almost an intrinsic trait, isn’t it? But I’d love any idea about how I can improve or how I can adjust how I can work to compensate. Or possibly here how this is normal and it’s a process issue - but I don’t need excuses and am willing to improve.

    Thanks for your great wisdom and advice!

  2. So it has happened, a massive codebase written entirely by Claude via prompts from my non-technical PM.

    And now I’m tasked with “make it work, integrate it into all these other services and tools we have. Thanks!”

    How do I even begin approaching a massive codebase written entirely by AI with no actual software engineer validating/overlooking it at any point until it became this monster and now it’s my problem? I am also an L2 engineer that got prematurely promoted to L3 and now I just want to prove myself and work on a cool project (10000s of requests, many bottlenecks that need to be fixed, scaled, design docs put together… the whole shabang#)

    Help. Urgent. 911. I want to cry.

    Thank you, love the podcast!