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 103: Team Dynamics and Bad Code

Download

A listener named Dan talks about ThanksBot, an internal tool at Facebook to support gratitude.

Dave and Jamison answer these questions:

  1. I became an engineer because I loved my programming assignments and CS degree. However, at work I’m struggling to contribute beyond competing the tasks assigned to me. How do I participate more in broader technical solutions, process, etc?
  2. I recently started a new job, and a lot of the existing code is really bad. How can I raise this concern, or make improvements to the code, without offending my teammates who wrote it? Thanks!

Episode 102: Correcting English and Tyranny of the Urgent

Download

Dave and Jamison answer these questions:

  1. A teammate is a great developer but English isn’t their first language. Sometimes this results in bad grammar or spelling mistakes in code comments, variables, and method names. Often I correct it in code review, but I sometimes feel like I’m nit-picking, although I really do want it changed to be correct. It slows down code reviews. And of course, I don’t wish to appear racist or discriminatory. Any ideas for solving this?
  2. This is my first job out of college. Been there for 2.5 years. It feels like my manager is always firefighting and not able to be proactive, trapped by the tyranny of the urgent. It feels like our group is always behind on deadlines trying to catch up and we’ve accrued large amounts of technical debt with little to no time spent on improving our processes or tools. The result is that we produce a worse product and documentation than we should. This causes additional support required down the road further loading down the group. What can I or my manager do to improve this situation? Is this more common than I think?

Read more about the hairy arm principle and the fun memory tricks that game developers pull.

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

Download

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

Download

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

Download

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

Download

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

Download

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.

Hoobastank.

Episode 95: Paying For Help and Scared of Recruiters

Download

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

Download

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

Download

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.