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 171: Unwilling mentorship and tortoise vs hare DevOps

Download

In this episode, Dave and Jamison answer these questions:

  1. Hey guys, love the show. I’m starting to realize that our QA engineer lacks some skills required to do their job effectively. It’s now starting to affect my work and I can only see it getting worse. I’ve tried approaching them about their work and given them some pointers on how they can improve. I’ve done several pair programming sessions as well. They are a bit stubborn though and I don’t think they will change until things get a lot worse when they realize their mistakes first hand. We are a small team and I’m the only other member of the team with automated testing experience.

    Should I be having a discussion with my manager about this? The company is pushing for more automated testing and if the problems are addressed now it would be easier going forward. I’m hesitant to say anything in case I open up a can of hate worms though or get them fired as they are a nice person.

    P.S. I’ve only been here a couple of months so moving jobs won’t be an answer for me on this one ;D

  2. Greetings from Germany,

    I am coming from the Infrastructure side of things, and we are a team of engineers with 0-3 years of experience getting into DevOps (tm). Often we encounter new tech-stacks that involve a lot of concepts to learn (like AWS, Elastic, CI/CD, System Provisioning). The way we approach these topics leads to some conflicts. Most of my colleagues like to jump into the water and set up production systems based on a mix of trial & error and copy pasting examples form StackOverflow. I on the other hand try to do things a bit slower by learning the basic concepts and applying them together with examples to get a deeper understanding of the system.

    My approach is slower but often leads to more robust and thought out systems. However it leads to my boss and my colleagues often eyerolling me for seemingly “overthinking” it. But I also see the appeal of the other approach, since it allows for fast results and pleases the stakeholders. But I see a lot of issues and often time consuming restructuring projects coming from that.

    Should I just give in and swim with the stream while i suppress my inner nerd cracking down on things?

    Loving your Podcast btw and recommend it to all my fellow tech nerds. :)

A smiling speech bubble

Episode 170: Code rage and code review etiquette

Download

Vote for Soft Skills Engineering on the Hackernoon Noonies awards for best Dev Podcast!

In this episode, Dave and Jamison answer these questions:

  1. How do I stop getting angry at other peoples’ code?

    Often when solving a complicated problem or implementing a feature, I have to modify or at least use systems designed by someone else. Often I find myself thinking ““Why did they do it like this??? This is so dumb!”” and literally getting mad in my chair. This happens no matter who wrote the code, and occasionally I discover that the author of the code was in fact Past Me.

    I know logically that everyone codes the best way they know at the time. So how do I avoid such a visceral reaction? Is this a common problem? Is this why many programmers seem to be Grumpy? My frustration often derails my focus and makes problems take longer to solve than they need to.

  2. What is the right etiquette for a code review for a pull request? I recently had an amazing code review. The reviewer pulled my branch, make a branch for changes he suggested and those changes all led to better and cleaner code. I felt the reviewer really tried to understand my design and test every suggestion before he wrote it. I felt that my code really got respect from the reviewer. However, a lot of my code reviews are just passive aggressive nitpicking like the comment formats are not right, the variable names aren’t clear enough. The worst was when I got a comment saying “this is already implemented” which after hours of figuring out what it meant was a different thing that would not work in my case. It seems like people have different ideas of what code reviews are and the etiquette and the expectations for it. As a reviewer and a reviewee, what should ideally happen in a code review process? Right now most code reviews are exhausting and infuriating experiences.

A smiling speech bubble

Episode 169: Conspiracy theories and flexible schedules

Download

Vote for Soft Skills Engineering on the Hackernoon Noonies awards for best Dev Podcast!

In this episode, Dave and Jamison answer these questions:

  1. One of my co-workers at the software company I currently work on has an ‘uncommon’ set of beliefs that include, among many other things, a strong mistrust of mainstream science. He is currently very concerned about the effect that Wi-Fi signals have on our health and wants the company to make some changes to our Wi-Fi hubs and our devices’ wireless connection usage. I’ve found in the past that it’s not easy to have a conversation with him about this type of topic. How can I be respectful to him and not undermine our work relationship while not giving in to connectivity inconvenience based on fringe-science beliefs?

  2. Hello! I love the show! The humor interjected into real advice (or real advice injected into humor?) makes thinking of boring and scary things like coworker relations or quitting your job sound fun! Everyone should resolve conflict and/or quit!

    I just started a new gig and I’m running into a situation I haven’t before. We have flexible work hours, but, unlike at previous jobs, people actually use them! I am meant to be pairing with another dev who is working quite different hours than me. I have a couple questions.

    1) How do we communicate about this clearly? I tried to set expectations at the onset, but it seems we missed the boat. I asked when he works, told him when I work, and it didn’t seem this far off. But on a day we’re supposed to pair, he’s here an hour and a half after me, which means I’ll leave an hour and a half before him.

    2) How do we make the time together the most effective? How can we turn about six hours of work into something meaningful, given normal distractions of meetings, bathroom breaks, etc?