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 405: Scaled agile pain and top-heavy team


In this episode, Dave and Jamison answer these questions:

  1. One and a half year ago, I joined my current team as a tech lead, in an organisation that uses ‘Scaled Agile’. This was my first time joining an organisation that employed dedicated Scrum masters. In previous organisations, the role of Scrum master would usually fall upon a team member that felt comfortable doing so, and the last couple of years that ended up being me. I feel this worked out well and I managed to create teams that were communicating well and constantly iterating and improving.

    Upon joining the team, I noticed that despite having a dedicated Scrum master, the team was not doing sprint reviews or retrospectives, and it felt like every team member was on an island of their own. In the months that followed I tried to reinstate these and improve teamwork and communication, but often felt blocked by the Scrum master’s inertia.

    Eventually, they were let go and a new Scrum master was hired. This new collaboration did also not work out. They didn’t have enough of a technical background to engage with impediments, were trying to micromanage team members during Standups, and would continually try to skip or shorten retrospectives. If retrospectives were to occur at my insistence, they would try to determine actions without the team’s input, only to not do them and never look back at the outcome.

    Two months ago the new Scrum master was let go and I was asked to take over their duties in the meantime. Ever since, it feels like the team finally owns their own Scrum process. Our collaboration is not perfect, but we’re finally tracking measurements, evaluating retrospective actions, and iterating as a team. However, the organisation wants us to go back to having a dedicated Scrum master. I’m not against this, but I’m afraid the next Scrum master might undo our efforts. How do we as a team navigate this situation to get an optimal outcome?

  2. A listener named Max asks,

    I’ve been working in a Data Engineering department at a mid-size product company for over 5 years. When I joined, we had a well-balanced team in terms of average proficiency - some juniors, some middles, and a few seniors. Over these years, we’ve developed a great internal culture where people can grow to a senior level pretty easily. The company itself is wonderful to work for, and we have a pretty low “churn rate” - most of my colleagues are highly motivated and don’t want to leave.

    As a result, we now have only senior and staff engineers in the team. This is well-deserved - they all are great professionals, highly productive, and invaluable for the company, having domain knowledge and understanding of how all our systems work. Management wants them to take on only senior-plus-level tasks, which are usually larger projects and initiatives that involve a lot of collaboration with other departments, process changes or technical initiatives affecting our engineering practices. They have two reasons for this: 1) management doesn’t want to waste the time of such skilled professionals on smaller tasks; 2) management cares a lot about people’s morale, because losing them would be very harmful for the whole company, so they don’t want people to take on small and boring tasks.

    At the same time, we have a HUGE backlog of tech debt, small improvements and refactoring initiatives. Ideally, we would hire 3-4 additional middle and junior engineers to share all backlogs with them, but we now have a hiring freeze. The amount of tech debt is starting to damage team morale on its own, and I feel like we have an unspoken deadline to deal with this problem, which could be someone’s burnout and departure, or a major outage in some vital services we support caused by ignoring tech debt.

    How would you approach the problem of overseniority? I appreciate any advice, and thanks again for the show.

A smiling speech bubble

Episode 404: Interview comedy and talking pay while new


In this episode, Dave and Jamison answer these questions:

  1. “Hello, Is it considered ok to be a bit funny during an interview? To give more context: In a recent interview, I progressed up to the final cultural-fit round after clearing all technical rounds at a well-known company. One of my interviewer asked how I would deal with conflicts with a peer. In a effort to lighten the mood, I jokingly said I would snitch on them to my manager. I saw the faces go pale on the zoom call. So I backed-up and explained I was just joking and gave them an example of an instance where I had to deal with a conflict. The story didn’t help much to make my case, as there was some “snitching” involved in it. But in all seriousness, if I had a conflict in the past and have reached out to my manager to help diffuse the conflict, is it considered a bad thing. How do I make it sound like a good thing during culture-fit interviews? By the way I didn’t get an offer from them. Can’t help but think I goofed-up the culture interview. Thanks for your time and help.”

  2. I recently started my first full-time job out of college. I earned an engineering degree but took a job with a company in a more management/ business development/ leadership track. Now I’m the only person in a department with an engineering degree.I’ll be here for a couple of years before they move me into the next role in my track.

    In a casual conversation about going back to school, one of my coworkers jokingly mentioned they would get free school at a local university because they made less than X dollars. This threw me off, as I (having started less than 3 weeks ago), make more than X dollars despite us having the same position and them having worked in the department for almost a year.

    Should I say anything, or just assume that the difference in pay is due to the fact that I have a technical degree and am on a leadership track while they are in neither? I’ve been told it’s mutually beneficial to discuss salary with your coworkers, but I’m afraid to shake things up at my very traditionally run company in my first month here. My pay corresponds directly to the starting pay that an engineer in a design role in my company would be making and I think I was given this pay so not to discourage me from taking a role in the company in favor of an engineering job with engineering pay elsewhere.

A smiling speech bubble

Episode 403: Massaging the software and career never-never-land


In this episode, Dave and Jamison answer these questions:

  1. I’m a bootcamp graduate working on a career shift from massage to software development. How much of my previous career should I bring into my résumé? I’ve been building projects in public, and doing open source contribution in a part-time capacity for the past two years, but ultimately have not gotten very many bites on my résumé that resulted in interviews. It’s something like three skill tests and one for roughly 800 applications at the moment? That’s a guess. That’s basically the gist of it.

    Thanks! Curious Coder Tries Tech Transition

  2. Listener Joshua says,

    I’ve done a number of things in my career, from Java to web dev on PHP and Angular/Node to low code development on Ignition SCADA and UIPath RPA .

    Because I love learning technologies and I want to go where the money is, I keep hopping to new teams. This usually comes with a decent pay bump, but it’s a lot of rescue operations and self-teaching.

    This doesn’t feel like a career path, and always being the junior team member sucks. I’m often studying for certs trying to meet the requirements for the job I’m already doing or being the senior dev on the team while still a Junior. I get that I’m relatively new to each team, but I’m also punching above my weight consistently.

    It feels like I’m always having to jump through hoops to get the title and pay for the level of responsibility I take on and it feels like my mixed-up background is the reason why.

    How can I pitch a 10 year career of wearing all the hats all the time to get better results? How can I avoid being on teams where all my coworkers think I’m a guru and I’m building all of the architecture, but my manager goes “gee, I don’t know if you have the years of experience to be a Senior”? I’m looking towards Architecture as a long term goal and I’m wondering if there’s a way to spin this skillset towards that goal. Can you get Architect if you aren’t a certified black belt in highly specific tools but rather a demonstrated improviser? What is a jack-of-all-trades supposed to do?

    Thanks, love the show, your advice and the fun relationship you guys bring to the conversation.