It takes more than great code to be a great engineer.

Subscribe Now Support us on Patreon

Soft Skills Engineering is a weekly advice podcast for software developers. We answer questions about all the stuff you didn't realize you needed to know about being an engineer:

  • navigating pay raises
  • hiring and interviewing
  • deciding to go into management
  • dealing with annoying co-workers
  • quitting your job
  • managing meeting creep
  • micromanagers
  • installing a ball pit in your office
  • and much much more...

For answers to these and other questions, our hosts Dave Smith and Jamison Dance are here to help.

Why should you listen?

Soft Skills Engineering listeners are awesome. Here's what they are saying about the podcast.

Saad says:

I owe you a lot, listening to Soft Skills has completely shifted my thoughts on what it means to be an engineer. It’s probably one of the more useful things I’ve gained during my time at Amazon. I kind of brushed this stuff off, considering some of it politics, and the rest unimportant, but boy was I wrong. It definitely helped me grow, and I’m totally indebted to you for that.

Recent Episodes:

Episode 101: Style In Code Reviews and How To Thank My Manager


Dave and Jamison answer these questions:

  1. A fellow developer submitted a pull request for me to review. The logic was totally fine, but the spacing drove me nuts. We use a linter to enforce some coding style but because this wasn’t a rule in the linter, I wasn’t sure if it was fair game to call him out on it. Was I being petty? I knew if this got into our code I would end up fixing it later myself. I told him I would approve the PR but thought that spacing should be more readable and consistent with the rest of the codebase. What is the proper etiquette here? Mention it and add the rules to the linter later? Don’t care about spacing if the code gets the job done?”
  2. How do you express gratitude to your immediate supervisor? My immediate boss, who is lead engineer for our team, does an amazing job. Occasionally I get to peek into his world and see how much work he does. I am amazed at all he does for the team; shielding us from company politics, keeping us updated on relevant info, dealing really well with team drama and even makes time to contribute to code. How do I show gratitude besides building meaningful software?

I recently read a paper on coding style and how it survives even through compilation and optimization!

Episode 99: Developer Health and Whiteboard Interviews


Dave and Jamison answer these questions:

  1. Do you have any recommendations for maintaining physical health in a software developer role? For example, strategies to maintain good posture, reduce eye strain, etc.
  2. Is the practice of asking interviewing developers to regurgitate 20 year old algorithms on a whiteboard a recent trend or is this something new? Can you make sense of this madness?

This is a pretty good summary of some of the health effects of sitting.

Here is the tweet Jamison talked about.

Episode 98 (Rerun of Episode 57): Disliking Management and Difficult Co-workers


Dave and Jamison answer these questions:

  1. I’ve been pushed in to doing management tasks I really don’t enjoy. What do I do?
  2. How do I handle a co-worker who I really struggle to get along with?

Episode 97: A Quiet Intern and Hearts and Guts


This week Jamison and Dave answer these questions:

  1. We have a great intern, who is smart and has good ideas but is also very quiet.

    She’s got a great deal of potential, and I want to tell her that being more vocal and assertive can help her greatly, both in her career and in life.

    How can I give her this feedback, without it sounding like a criticism of her personality, or her introverted tendencies?”

  2. Recently a team member was let go. I am the team lead so I played a role in their termination. While they weren’t a good fit for the team, I’d still like to be in touch and help them improve their skills. Should I steer clear of this? My gut says yes but my heart says no.

Episode 96: Teaching Burden and Unknown Unknowns


This week Jamison and Dave answer these questions:

  1. I know that teaching others is important when working on a team so that the team can grow and get better. But what happens when one member of the team, despite being the friendliest person in the world, is missing so many required skills for his job that it becomes impossible for me to do anything besides teach him?
  2. I recently heard the concept of “known unknowns” and “unknown unknowns”. It’s the unknown unknowns that get me. Sometimes I ask a question of a seasoned developer and they seem annoyed because it’s something that I could have looked up. They knew it but I didn’t. Sometimes I ask a question and they are eager to help because the question is interesting and they know it will be good for me to learn. I struggle because I don’t want to waste my time or theirs, but I want to work through things and learn. How do I do this well?

Wikipedia has a whole article on the origin of the phrase “unknown unknowns”.

Also, Gary Bernhardt has a fantastic talk called Ideology about “unknown knowns” - things we believe in software without even realizing we believe them.


Episode 95: Paying For Help and Scared of Recruiters


This week Jamison and Dave answer these questions:

  1. When should asking a developer pal for help go from something that is free because you’re pals to something you should compensate them for in some way?
  2. I’ve never worked with recruiters before. I’ve always found jobs from friends and other connections. Is working with recruiters worth it? What should I watch out for?

I finally found the creepy Jack and the Beanstalk video! It is still horrifying.

Episode 94: Dodging Recommendations and Full Sleeve Tattoos


This week Jamison and Dave answer these questions:

  1. As a “less than ideal” engineer was leaving our team, he asked if he could use me as a job reference. How should I tell them no?
  2. What are your thoughts on having full sleeve tattoos (ie, tattoos that cover the entire arm) within engineering?

Episode 93: Negotiating Annual Raises and Part-Time Work


This week Jamison and Dave answer these questions:

  1. My job doesn’t seem to leave room to negotiate salary or raises for our year-end review. Is this normal? How do I negotiate in this process?
  2. Can working part-time, when it’s possible to work full time, to invest in personal development look bad to a future employer?

This tweet storm by Sarah Mei is good and relevant.

This is the video about making your own font and anagraphs that Jamison mentioned at the end. It is SO GOOD.

This is a funny and enlightening video that people of taste and culture will appreciate. This one is also good. Ok fine, they are all good.

Episode 92: Career Death by Friction and New Job Woes


This week Jamison and Dave answer these questions:

  1. A previous job involved a coworker who, over time, became very difficult to get along with.

    I did my best to talk it through with him, but he would only ever say I needed to “fix my attitude”. I tried to deflect and avoid conflict, but he’d continually impose himself on the situation. (Assign himself to review my code, come into my cube and demand my help, etc.)

    I had good relationships with the rest of the team, and they all agreed that he was out of line. Yet management viewed the situation as simply friction between two devs, with no clear instigator.

    Being a source of team friction is career death, and I’m personally embarrassed that anyone got that impression of me.

    How can I (or other listeners) handle this situation so that I don’t get painted as “part of the problem?”

  2. I’ve started a new job. I’m enjoying the work and the culture slightly less, and I discovered my salary could have been much higher had I negotiated harder. Is it too late to negotiate for a higher salary after I’ve already joined?

    Dave mentions this article on salary negotiation. It’s good!

Episode 91: Job Requirements and Teams of Misfits


This week Jamison and Dave answer these questions:

  1. How often do candidates get hired who don’t match the requirements listed in a job posting? Is it a waste for me to apply to all jobs I come across even though I only have about 1/3 of what they want?
  2. I’ve been moved to a newly formed team. I suspect the team consists of people nobody really wants to work with. What are my options in a situation like this?