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 500: Am I the only one not getting raises and firing my whole team

Download

In this episode, Dave and Jamison answer these questions:

  1. I have been with my current organization for 5+ years. I like the company and have generally had a good experience working here. However, the last several years I have not really gotten a raise except for the standard “merit raise”, which does not cover inflation, so effectively the last several years I have made less money than the year before. I brought this up to my EM who said there is no chance of the company increasing the merit raises to meet inflation, unless I get a promotion. However, my EM also said there are no promotions available.

    I don’t know if this means the company knows the job market is tough and they don’t have to pay us as much, or if the company is in dire financial straits and unable to keep salaries up with inflation.

    This job market is tough and I don’t know how long it would take me to find a new job, but certainly I will look. My question is basically, how can I go about getting my manager to help me level up to make myself a more attractive candidate for a future job without necessarily tipping my hand that I am job searching.

    On one hand I assume he knows that I might be looking. On the other hand if the company is in a bad position and we have another round of layoffs (we have had several over the past few years), I don’t want to be first on the chopping block because it looks like I have my foot out the door.

    I’m just wondering how much I should make it clear what my goals are to have my EM work with me, or play it close to the vest.

  2. I am a Software Engineering Manager with about 12 years of experience. I am a few months into a new role at a medium sized private company. The day I joined I found out that all ICs under Staff-level are international contractors! Surprise!

    My team is mostly contracted “Senior developers”. Nobody is anywhere near what I consider “Senior”. The company has a culture of aggressive performance reviews. However, I’m seeing ICs and other Managers around me who are all seriously below the bar compared to other places I’ve worked in the tech industry. I get a lot of vague pressure from the Director/CTO level to “raise the bar” and quickly exit people who aren’t meeting it. I already fired one person for performance and behavior issues, but I feel like I’m between a rock and a hard place.

    If I’m truly going to hold my team accountable to my and the company’s own published performance metrics, I should fire the whole team. That’s probably not good. Alternately, I can pad performance evaluations to convince my boss that everyone is meeting expectations. This also isn’t good, but feels like what everyone else is doing.

    Also, I’m a little queasy doing aggressive firing and performance reviews for contractors. The company treats them as full time employees (after hours on call expectations, etc) and I’m not sure how Earth lawyers would look at this situation.

    Help!

    Final wrinkle - my last two jobs I’ve lasted less than a year. I wasn’t fired but just haven’t been able to find a good fit for a little while. I’m worried that if I just leave this job 6 months in, it’ll start to look suspicious on my resume.

A smiling speech bubble

Episode 499: Should I quit my solo dev job with a sports team and senile seniors

Download

In this episode, Dave and Jamison answer these questions:

  1. I’m a new listener to the podcast and work as the sole developer for a sports team, which is the only company I’ve worked for since graduating from university 8 years ago. I listened to episode 493 while clenching my teeth as you told a listener to absolutely not take the job with the European football club as a solo developer. Yikes! While I feel I have continued to grow my skillset in my role, I’m now feeling vulnerable about having no professional experience working alongside other developers or on large-scale applications.

    I feel very conflicted about leaving my current company. I have a respectable developer salary for the (non-American) low cost of living area I’m in, have a great manager, and have built up a ton of good will and trust within the organization. I get all the freedom I could ask for to make design decisions, implement devops practices, try out new technologies, and make mistakes. I also find the work interesting and there’s always something else to do! I’m a little scared of the horror stories that I hear about the real dev world and don’t want to take my current situation for granted.

    I would really appreciate guidance on what you think I should do. I have clear skill deficits in certain areas, but would have to give up a lot of liberties with a role change.

  2. Listener Brian asks,

    My job is mostly okay, but could be better because of the people in it. I joined a greenfield project a few years ago as my first software engineer role after transitioning from other data work. I grew up with the project and improved my engineering skills. A year ago we hired two new people. They had relevant experience and seemed to know what they were talking about in the interview, and had five & ten years of experience (aka, more than me).

    Onboarding the first few months was whatever, BUT they’ve never really improved afterwards. They turn in work that has clearly not been tested or does not meet the ticket’s requirements, barely review PRs and have never (!) left any comments/feedback, and despite their level (senior+). I don’t really trust them to work on anything more than the smallest, simplest stories.

    I’ve provided specific feedback in PRs and in performance reviews (sometimes very low-level and specific, and sometimes very high-level about guiding questions or principles), but nothing’s changed. I’ve felt frustrated, drained, and confused - why is it such a struggle to get someone with an entire decade of development experience to turn in a straightforward PR? One other teammate has admitted (privately) that some work was sloppily done, which is consoling but otherwise I’m not sure if it’s bothering others as much as it does me.

    They’re offshore so maybe it’s just a communication thing? The rest of the team has been on the project since the beginning so maybe we’re poorly set up for new devs. I have high standards for myself and others and I’ve always been the most junior developer on the team and am new to the senior role.

    Am I just being a perfectionistic jerk? Is that a bad match for (essentially) junior teammates? Should I just reset my expectations and accept that their level and years of experience don’t translate into high performance? Thanks for any insights.

A smiling speech bubble

Episode 498: Testing in big corporations and how to get my first management job

Download

In this episode, Dave and Jamison answer these questions:

  1. Hi Dave and Jamison,

    Internal dev asker from the second half of Episode 441 checking back in. Your “ask what scared the previous dev” advice in particular has paid off handsomely; I now carry around a little book of eldritch warnings and, somehow, people keep bringing me their unknowable monsters to interpret. It’s almost as though the previous dev knew these sorts of things would happen! I didn’t set out to acquire Lovecraftian knowledge, but here we are, still in one piece.

    Today’s puzzle: getting busy humans to test our stuff early, while feedback can still make it into production. We’re trying to build a culture where people will poke at a rough prototype now, instead of filing a Very Concerned Ticket three hours before release. How do we get people to test and provide feedback earlier? Do we stay disarmingly warm, promise tiny time boxes, and make a public show of “you said / we changed” until participation feels like the default? Or do we wave our terminal windows around threateningly on a screen share and promise doom (and minor annoyances) until they comply?

    Thanks for lending sanity to the abyss, —An increasingly arcane internal apps dev

  2. I have been listening to your podcast regularly and am inspired by how the podcast and the community have grown.

    I am a developer with over 10 years of experience and have moved to Sweden from a country outside Europe, with the ambition to build my long-term life and career here.

    For several years, I have tried to take that step myself, but often encounter the same obstacle: I am told I need experience as an engineering manager — but without the role, I can’t get the experience, and without the experience, I can’t get the role.

    I have invested a lot of time and energy in developing myself: learning about leadership, coaching, communication, and team dynamics.

    Despite this, I find it difficult to see a clear path forward. With everything happening in tech right now, I sometimes feel stuck and uncertain how to break this cycle.

    My question is: how did you take your first step? How can one realistically enter an engineering manager role when the door seems closed without prior experience?

    Thank you for creating such an honest and inspiring podcast. It already means a lot to me — and to many others, I am sure.