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 185: Fragile coworkers and soft demotion


In this episode, Dave and Jamison answer these questions:

  1. Hello! I am the only principal architect in my department. In addition to technical and delivery obligations, I am also responsible for mentoring of engineers. Recently, I reviewed some very lackluster customer facing presentation materials drafted by a junior engineer (for which I provided templates and talking points) and informed them this would need to be worked again from scratch. I received verbal confirmation that the effort was indeed lacking, and that they would take a different approach. Imagine my surprise when I was pulled into an HR meeting by my manager, telling me a formal complaint was filed for my being ‘belligerent’. Also mentioned to me was that this engineer would be leaving the company because they couldn’t possibly continue to work with me. Now might be a good time to mention we are a completely remote team and this is the first negative feedback this engineer received from me (due to having only been on the team for 2 weeks at that time). This individual has moved into a different group which I work with often, but now I’m concerned about having someone on the team who cannot handle direct (but professional) criticism. How do I handle this professional relationship going forward? P.S. this engineer is nearly 40 and we are consultants in 100% customer facing roles.

  2. Hi Soft Skills Advisors, I think I may have been ““soft demoted”” at the start-up I work at. I used to be part of the senior management of the company as the most senior technical member of the staff. However, due to a series of unfortunate mistakes on my part (both technical and managerial), I seem to be no longer trusted or included in any discussions or decisions. I feel like I’m demoted from my position in everything but official title. And yet, everyone in the senior management reassures me that they still very much value all my contributions.

    Is it time to take the time-honored soft skills advice and “quit my job”, or am I just being unnecessarily emotional and paranoid here and it will just take some time to rebuild trust?

    (I’m paid a good salary and still have my stock options, etc.)

A smiling speech bubble

Episode 184: Indispensable and IT cold war


In this episode, Dave and Jamison answer these questions:

  1. How do you quit when you’re indispensable to the team?

    I am the lead developer at a startup. I have a small team of 3 developers under me. I am essentially the “person who wrote all the code”. I have an offer from another startup for more money and more percentages of the company and they want me over there asap.

    I’m afraid to quit this startup as I fear that it’s not yet at a place where it could survive without me. I realize that sounds super egotistical but unfortunately I don’t have a successor ATM and none of the other developers are at a level where I could potentially train them to be my successor in the time frame I have with the other offer.

    The other sticky thing is that the current startup probably doesn’t have enough money to hire someone at my level for what they’d actually be worth. I, and the rest of the team, are severely underpaid, as this is a bootstrapped startup. Love your show, would love to hear your guys’ take on this.

  2. I recently interned at a local factory to help clean up some broken 20 year old databases. After remaking them, I quickly became a rising star and word spread fast of my aptitude. I was offered a full time salary position, in which I was able to negotiate for some special privileges and a cool title: software engineer.

    I am having an awesome time building little tools for various departments while learning different languages. I’ve been very fulfilled with the projects and recognition I’ve been getting, there’s just one problem: the IT department absolutely despises me. They see my sole existence as an affront to their entire structure. I am a part of the engineering team and work very closely with product and process engineers, which is apparently hurtful to their ego.

    Lately, IT has been actively obstructing every project I work on and refusing many requests, sometimes with obviously false excuses. I do not have admin privileges, I have limited internet access, I’m not even allowed to have my email password. It’s at a point where I start getting serious anxiety when I need to see IT (e.g. to install a framework or IDE extension).

    How can I navigate these awful encounters without letting it harm my view on the rest of the job? I am feeling like I need to wage war but I want to retain my golden boy status.

A smiling speech bubble

Episode 183: Terrible boss code and peer-to-peer mentorship


In this episode, Dave and Jamison answer these questions:

  1. I work in a small team under 10 people on a new project that should be shipping soon. I have a manager who is leading this project, and I’m the most senior developer on the team.

    My manager tries to help with the project by writing code, but does it rather poorly. When he wants to implement new functionality, he creates a new branch and brews his code in this branch for 2-3 months, constantly complaining how hard it is to write code in our codebase. After he is done, the resulting code is unreadable, unmaintainable and untestable. He doesn’t write unit tests himself (which is weird, considering he was working as a QA before for several years) and usually breaks good portion of already written ones. I always have to go to his branch and refactor his code so it’s at least testable, fix broken unit tests and write new ones for his functionality. He always makes it look like our codebase is hard to work with, though the rest of the team doesn’t have this problem.

    How should I deal with this situation?

    I tried speaking to him directly, but he is pretty stubborn and thinks that he is doing everything perfectly.

    I can’t talk to his manager, since we have a pretty flat company and his manager is the CEO who I don’t have a direct access to.

  2. I work in a digital agency as part of team of 5 front end developers with varying levels of experience. We don’t have a senior / lead / director, it’s pretty flat. I have been told by management that we need to work on peer to peer mentor-ship because each of us have been guilty at some point of spinning our wheels on some problem when we should have reached out. The problem is we all work on different projects, there’s never 2 ““fed””s building the same site, and each site kind of feels like it’s own unique bowl of spaghetti.

    If you have any pointers about breaking out our code bubbles that would be amazing! Love the show, I hadn’t given non technical skills much thought but you’ve opened my brain! Thank you!