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 295: Underleveled at FAANG and lazy tech lead


In this episode, Dave and Jamison answer these questions:

  1. Love the podcast, love the banter and jokes, keep up the great work! Now, for my predicament:

    Good news: I just got my first job at a FAANG! Bad news: I’m coming in at the lowest level of software engineering despite being in my mid-30’s and nearly 10 years of non-FAANG experience.

    Given that it is my first Big Tech™ company, I understand being down-leveled, but I did not expect to be downleveled THIS much. I’m glad to have finally “hit the big leagues”, but I’m not thrilled that I’m on equal footing with a fresh college graduate. Hurt feelings aside, what is the best Soft Skills advice on how to catch up to the mid-30’s engineers who joined a FAANG fresh out of college? My plan is to tell my aspirations to my manager once I start and see how they can help me perform as well as possible in order to promote quickly, but I can see how that might come off as greedy or entitled. What do you think?

  2. Should I do anything about a lazy tech lead?

    Since covid and working from home, my tech lead went from a frantic micromanager to a lazy coaster.

    They seem to do 1-2 hours of work per day. They set their slack status to ‘away’ so you can’t tell if they are at their desk or not. They’ve stopped coding completely, but we have an excellent PM so there isn’t much else for them to do. Sometimes during stand-up you can clearly hear them driving their car. Even asking them for help/advice on slack can mean several hours waiting for a response.

    Management hasn’t noticed because we are a large team who all work really hard, so the feature output is still high.

    My dilemma: do I count myself lucky that they are no longer micromanaging and keep my mouth shut? Better the devil you know etc. Or, do I gather some evidence and tell their boss? I could be learning so much more from an engaged tech lead, and the team might feel less toxic.

    Final doozy: due to some incredible stock market gains I have some heavy golden handcuffs so #1 priority is keeping my own job and not creating an enemy that gets me fired.

A smiling speech bubble

Episode 294: Unqualified internal applicant and speculative specs


In this episode, Dave and Jamison answer these questions:

  1. I work in a squad that has been slow in delivering. Squad leadership (including myself) concluded we need a staff engineer (one level above senior engineer) to help guide tech directions and to support other engineers.

    Unfortunately we have received only a single applicant- senior engineer “Brett” who’s already on the team. Brett is a good engineer and has a lot of great qualities - but falls short of the “staff” level. Our tech lead “Chris” doesn’t think Brett is suitable due to bad technical decisions Brett has made in the past. Chris also thinks Brett should have been discouraged from applying in the first place. (Brett’s manager is outside the team so has less visibility on what’s happening inside the squad)

    We’re suddenly in a bind. If we give Brett the role we are in the same situation as before but having to pay him more.

    If we don’t give him the role we run the risk of losing him in this environment - which would be very bad as he is a good engineer!

    Should our decision be down to how Brett interviews? What could have been done differently?

  2. I recently did some extensive planning for a feature with a back-end engineer where we negotiated what the GraphQL api would look like. As I was finishing up my feature work, I realized that they departed from that plan and didn’t tell me. Now the feature is late. They’re having to make adjustments because the departure from the spec made it impossible for the front-end to handle the data. I’m having to do more work because they used a completely different architecture than what we discussed. What’s even more frustrating is that the end result on the backend is going to be exactly the design that I initially proposed (this is documented), which the backend engineer shot down when I proposed it.

    I feel angry that they dismissed my technical expertise. This has also eroded my faith in collaborating with this person. Retro’s coming up. How would you approach retro? What outcome do I even want here? I don’t think more process is going to be helpful (I spent 6-8 hours on the planning portion of this feature). I am starting to wonder if my perception as a primarily front-end engineer prevents the back-end engineers from lending me credibility.

A smiling speech bubble

Episode 293: Moving TOO fast and following my manager


In this episode, Dave and Jamison answer these questions:

  1. Is it possible to move too fast and do you believe in too much enthusiasm? I am one of the youngest member of the team and am always willing to start new projects and balance a few different things. Is there a point where this can start hurting my career? I’ve gotten bumped in compensation fairly, almost 25% raise since I first started. My career goal is to stay on the programming side but want to become a possible trainer for newer engineers/devs.

  2. Listener Michael asks,

    I’m a backend engineer in an engineering/coding role with a small bit of SRE type work. I love the work as I get to dig deep into tech we use and have become subject a matter expert on databases within the company. I really like my team and my manager in particular, and get to learn a lot every week. My manager is leaving my team to lead a new team within the company that is focused on the company’s SaaS offering and I’ve been given the option of joining this new team if I wish. I like their managerial style and how they have helped me with my career progression so far. However, I’d be doing Site Reliability Engineering (SRE) work. I’m not sure if I’m ready yet to commit to being an SRE and code less/focus more on ensuring the reliability of mission critical production systems. I don’t know how easy it would be to switch back to more of a coding role in a years time or if it would pigeonhole me into that type of role. Have you got any advice?