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 209: Glue and Covid ghost job

Download

In this episode, Dave and Jamison answer these questions:

  1. Is a “glue person” valuable on a software team? Someone who isn’t the strongest developer but is liked by teammates and builds a cohesive team dynamic.

  2. A while ago I interviewed with a big company. Right after completing a code challenge, covid-19 got out of hand in my country and they sent me an email saying they are putting the process on hold.

    Weeks have passed and I came across a job opportunity posted recently by the company for the position I was applying to. I felt betrayed. I emailed the recruiter asking for follow-up and she said that they are sorry about the situation and that they wanted to schedule a meeting.

    The question is, should I let them know I was displeased by this or is this really a non-issue? Do I risk my chances by doing so? Am I acting like a jealous teenager? Thanks a lot and love the podcast, stay safe!!

A smiling speech bubble

Episode 208: Toe-stepper-on-er and high leverage work

Download

In this episode, Dave and Jamison answer these questions:

  1. Hi Dave and Jamison, my name is Bob Marley. I am a senior software engineer at a tech company. How do I deal with a chronic toe-stepper-onner?

    I have a coworker named Jimi Hendrix - also a senior software engineer - who has a habit of getting involved in and trying to manage my projects. He joins meetings and slack channels, uninvited, and starts asking people for status updates and questions them why things are done a certain way (and not the other), what’s taking so long on unfinished tasks, etc. Jimi basically feels that my projects are his to oversee and manage.

    So far, my response has only been passive aggressive - e.g. taking discussions to a different slack channel or thread, or meeting the team members offline when he is not around. This is obviously not working out and it is not sustainable so I’m looking for some advice on how to deal with it.

    It’s not hindering the project so I don’t have a strong reason to complain. Other than the fact that it drives me nuts when Jimi gets involved and asks for a status update on a project which I have fully under control.

    Should I just do nothing and wait for the problem to go away due to him getting moved to a different project? But how do I keep my sanity until then? And what if even then he finds a way to step on my toes? Have you guys experienced this kind of situation? Is there a permanent solution to it? And no, I don’t want to quit my job. Please help!

    Yours truly, Bob Marley

  2. Hi Dave and Jamison. Love the show. I have been gathering informal peer feedback from my team. I was told I am doing well, and I should be doing “more high leverage work”. I interpret that as coming up with design patterns, best practices, and mentoring other developers. I mentioned that to my manager, and while he agrees, he also said there is no additional head count for the coming year, and knowing that there is a backlog full of features, my concern is that I will be the primary person tasked with writing those features. How could I negotiate/convince my manager to let me do more tech lead work instead?

A smiling speech bubble

Episode 207: Unclear career goals and garbage code

Download

In this episode, Dave and Jamison answer these questions:

  1. I’m a senior software engineer at a fast growing software startup. In the past year and a half that I’ve been with the company I’ve gone through 5 reorgs and have had 5 different managers in 4 different teams. Each time I sit down to do a 1 on 1 with a new manager they ask about my career goals and aspirations.

    Initially, when I joined the company I was a weak and feeble non-senior software engineer. When I was asked this question then, my answer was “to learn and grow, and have more authority and autonomy over the systems that I build, and be considered a senior software engineer”. Over the past year and half I have proven my worth and paid my dues and got the title of senior software engineer, along with the pay raise that came with it.

    My career development horizon has not been very broad. I didn’t even know there were levels beyond senior software engineer for a long time.

    I feel like I’m missing out on growth opportunities by not having a clear answer to this question. Please help!

    Love your show, keep it up.

  2. I career switched via a coding bootcamp 3 years ago and have been at my current company ever since.

    The bugs created by my garbage code from the early days made me a big believer in clean code practices — I now feel strongly about using descriptive variable names, avoiding duplicate code, etc.

    However, my boss/CTO is on the opposite end of the spectrum. As long as the code works, he doesn’t care what it look like.

    I want to stay at this company because I strongly believe in the product and I love the flexibility of a small start-up, but my boss and I keep bumping heads.

    For example, we recently switched over to PRs, and each PR my boss has made included blatant violations of the coding standards document we created together (!). When I request changes on the PR, he says he’ll do it but it isn’t a good use of our time to rewrite it when the code works.

    My question is two-fold:

    (1) As the most senior engineer on the software team, how can I go about promoting a quality-driven approach when the CTO doesn’t see the value in it?

    (2) If all else fails, I’m open to quitting, but I don’t want to end up the same boat. During interviews, what questions can I ask to find out if the company truly values code quality?