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 312: Nit-picking and Promo raises

Download

In this episode, Dave and Jamison answer these questions:

  1. I’m on a team of two. My manager/teammate is young (under 30, less than 5 years total work experience), minimally experienced with anything other than writing code, and has an inflated self-assessment of their own coding skills.

    They have a habit of either asking for (or simply changing on their own) every little thing to be their own way. This can be as unimportant as renaming all the variables to a different word with the same meaning (think $largeCar instead of $bigCar) or as bad as - after a discussion between two techniques for a feature in which their preferred method wasn’t chosen, - going in later and changing the code to how they wanted to do things.

    I’m feeling burnt out by the lack of control over my work and feeling like what I’m doing doesn’t make a difference..

    Where and how should you draw lines in order to balance writing good software with showing respect for your team members? How do you deal with people who think their actions are justifiable because they are “improving” the code but really can only defend this by claiming it is “more readable” or some other subjective measure?

  2. I work at a well-funded startup and am likely going to be promoted (into another IC engineering role) in the next few months. I’m pretty clear on the leverage I have when negotiating salary before accepting a job offer, but I’m wondering how I should approach negotiation and raise expectations when it comes to receiving a promotion. Obviously, my company wants to retain me, otherwise I wouldn’t be getting promoted, but I don’t feel confident in negotiating when I’m already being given a raise and my only alternative to accepting it would be to leave and find another job.

    Additionally, I’m on great terms with my company and manager and I would not leave over a 5-10k difference in raise expectations. Just want to better prepare myself for the offer. My manager has also told me that when/if I receive a raise, I can negotiate (it’s not too late). That came up because I told him I assumed raises and promotions are long processes that need to be decided way in advance, but that is not the case at my company.

Show Notes

Tweet about engineers’ puzzle obsession: https://twitter.com/ryanflorence/status/1534951668214771721

A smiling speech bubble

Episode 311: (rerun of 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?

A smiling speech bubble

Episode 310: Flip flop and architecture astronaut

Download

In this episode, Dave and Jamison answer these questions:

  1. Hey guys! Love the show!

    I’ve worked for 8 years as a Software Engineer for a large aircraft company, and while I had a great time there, I left because I was tired of working with old tech and wanted to learn new stuff.

    I joined a medium-size company, working with lots of fun new tech, but after 8 months I got the opportunity to get my dream job as a Software Engineer at a specific Big Tech company.

    The problem is that after I started on my dream job, I “crashed” really hard. The people and org are great, but the job revolves around working with a large legacy product, using mostly old/basic tech, and overall I’ve been feeling really unmotivated since joining.

    After 4 months there, I was called by my previous fun job, and they offered me twice as much as I’m making at this Big Tech company to come back.

    I’m very tempted, but I’m afraid of screwing my resume by leaving so early. Should I toughen up and stick with my new fancy job, or go back and make more money and maybe be happier?

  2. Hello Dave & Jamison,

    First time, long time - I am 6 months into my first engineering job and loving it! (until recently…) my large team split into smaller teams. On my old team, we had lots of work to do and it was fun. My new team, however, is suffering from “spin-up time.” My tasks have shifted from clearly defined individual contributor type tasks, to amorphous research tasks on large architectural decisions. After about 3 months of this, it feels like this spin-up time is never going to end and we just don’t actually have much work coming our way.

    On the one hand, these are more senior engineering type tasks and I could probably learn a lot if I stay to see these through.

    On the other hand, I am certainly not at a senior engineer level and I miss spending my time coding. It was fun and I was learning a lot from that too. I fear that I may be atrophying as I haven’t done much coding for multiple months.

    On the third hand (I have three hands), I could definitely be making more money elsewhere.

    Should I stay and be patient, or is it time to take the magical SSE advice? is the economy crashing? I need help!!!

    Thanks, you guys are the best, Johnny Threehands

Show Notes

Architecture Astronaut: https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/