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 265 (rerun of 216): One-on-ones and inter-team power struggles

Download

In this episode, Dave and Jamison answer these questions:

Questions

  1. I have a weekly one-on-one with my manager. What should I talk about in them? Things like feedback and career goals become old and repetitive real soon, and I end up discussing current work items. I understand that a one-on-one is my time to ask questions and don’t want it to be a longer daily-standup.

  2. My front-end team mates are in a power struggle with my back-end team mates and my design team mates. They’re intentionally making technical decisions that artificially constrain the choices of other teams.

    For example, design wants a certain interaction for a new feature, and my team says “nope, it can’t work that way, cause the components we built don’t allow that”. Or, they make tickets for the back-end team as in “endpoints have to work this or that way, because our components assume that structure”. This often seems detrimental and confusing to other teams.

    When I push back against my team they are angry. When I defend my team other people are angry. When I try to strike a compromise I feel gross because I usually think my team is wrong. I’ve tried talking with other teams and managers about the problem. I feel gross about that too because I don’t want to point fingers or throw my team mates under the bus. Where should I even start?

A smiling speech bubble

Episode 264: Finger pointing and getting recognition

Download

In this episode, Dave and Jamison answer these questions:

Questions

  1. Hi Mr.Smith and Mr.Dance,

    I’m a software engineer at a big software company. I recently learned to self-evaluate and found that I’m really bad at being finger pointed. I am normally an easy-going team player with an open mind. I accept that I can be flawed sometimes, and I would never blame anyone. But whenever someone points their finger at me and says “this bug is caused by YOU!” or more commonly “this bug is caused by YOUR systems!” (sometimes with facepalm emojis or this emoji 🤷), I suddenly become super defensive and frantically try to find counter evidence to prove that it is indeed THEIR system that is at fault, or at least some OTHER systems that is at fault, but definitely NOT MINE. After I cool down for a few days, I regain my composure and realize that what I have done was wrong and not useful to the discussion. This is specifically in the context of informal issue debugging between teams, not strictly a blameless postmortem meeting.

    I think blaming others is not a good behavior and makes the workplace toxic and unproductive. I would like to improve myself (and others). Any suggestions and recommendations?

  2. First of all I have to say a big THANK YOU to the work you’ve been developing, it’s helping me a lot to set my expectations and pave my career path. So, to the question…

    I’m currently working for a large Brazilian fintech and I’m starting to get a little bit annoyed by the lack of acknowledgement. I’ve already made it clear to my managers a couple of times and I always received great feedbacks and always performed “above the expectations” for my level. But in the last 1:1 we had I was a little bit more insistent about it and the explanation they gave me was “we know that our developers are above the average, we know that a Junior here can easily get Mid-level or even Senior in other companies, but we want to be a tech reference in the country and we don’t want to spoil the devs by promoting them a couple of times in the same year”. I understand this ambition but it got me a little bit frustrated. Of course I don’t want to be a mercenary nor a mediocre developer, but if this is the objective they’re aiming they should at least pay a competitive salary. This conversation really demotivated me, it seems to me they just want a high specialized work-force for a cheap price. I really appreciate everything I’m able to learn inside the company, for sure everyone is above average and being there is like being in school and it’s been really cool. But I’m starting to question if this “trade-off” of low pay and high learning makes sense once you’re already in the Mid-level corporate world. I’m pretty sure I can double my salary in the next month if I wanted to - a couple o recruiters contacted me in linkedin and I also made some interviews -, but this “tech reference and always learning” thing keeps bothering me and I wonder how much of it really makes a difference in the long run.

A smiling speech bubble

Episode 263: Why am I bored and ver-boss-ity

Download

In this episode, Dave and Jamison answer these questions:

Questions

  1. I’m feeling bored and disengaged with my job lately, but I’m pretty sure it’s one of the best jobs I can find: my manager and teammate are great, my compensation is very high for my area, worklife balance/benefits etc are excellent, and the mission and product the company make are awesome and help the world! On top of all that I think the work is technically interesting! But still I’m bored and disengaged :(

    I can’t tell if I’m just burned out from the pandemic and this is how it’s manifesting, or if I just have a serious case of “the grass is always greener” and now that I’ve been on this team for 2 years I’m ready just for a change of scenery. I want to fall back in love with this job, but how can I do that? Do you have any advice? Changing teams isn’t a great fit as this is a small office for the company in a ““satellite”” site, with only one other team that I’m not super interested in.

    I could of course take the patented advice and find a new job that might be equally great, but what else can I do?

  2. Listener Very Verbose asks,

    Love the show! I’m rapidly working my way through the backlog and dread the day that I reach the end and have to wait a whole week for the next one! :)

    Whenever I write a message to a coworker I tend to start with a huge wall of text, then revise it down to something smaller and hit send. I do this with emails, slack messages, code review feedback, you name it. Even this question I’ve re-written a few times!

    I feel like I’m over-thinking things, and trying to make sure there is no misunderstanding in what I’ve written. For example, a relatively small piece of feedback for a code review might be re-written many times, because I’m concerned that I will come across as overly negative or condescending if I just send through my first draft.

    Often, the feedback is positive and they agree with the points that I’ve raised. But they’re only seeing 2 points, when I probably started with 10 and deleted 8 of them that I later deemed to be ‘too nitpicky’ before sending it through!

    Naturally, all of this takes time and I’m often wasting more than 20 mins, only to end up sending 2-3 sentences at the end of it. Do you have any tips for helping me get to the point, so that I can be more productive and move on with other work? Do I just need to care less about what they think of me? Should I just skim over the code, say “LGTM”, and suppress the fear that I may have just approved a critical bug to go to production?

    Appreciate any advice you can give. Unfortunately, I don’t think inventing a time machine to go back 18 minutes after spending 20 minutes writing a message is a reasonable option :) It would take me several decades to be happy with the time machine before I turn it on!