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 424: Bragging without ego and how to predict layoffs

Download

In this episode, Dave and Jamison answer these questions:

  1. Listener Billy Bob Taco asks,

    I work at a small-medium startup, as a member of a very small team (read: just me). I work on infrastructure and APIs that support every other team, such as mobile and web clients, as well as other services. I’m relatively junior, and had to work hard to prove myself in this role. I do 100% of the system design and maintenance as well as feature development. I’ve been told on job interviews that I came across as a “little egotistical” when describing the role and the impact its had, but I don’t really know how to soften it! It’s my experience that I’m talking about when trying to share my ability and potential to fill a role. Help?

  2. Listener TimeDisplacementBox says,

    Great show, your future episodes just keep getting better and better. I have a question about avoiding lay offs. In this timeline I recently joined a large company out of college. I worked hard and surpassed goals set by my manager, getting very positive feedback at review time.

    However, a few weeks ago I started hearing that the company was over budget in engineering, huge changes started happening in upper management, and less work started flowing to our team. The concern was grounded in reality as one morning the company disbanded the team and laid off some of the newer hires including me.

    Aside from additional time travel, are there any questions I can ask during interviews to help ensure I am getting into a team that is safe from lay offs? And on the job, can you directly ask your manager if lay offs are in the future, or do you just need to watch out for the signs?

Show Notes

https://www.explainxkcd.com/wiki/index.php/2347:_Dependency

A smiling speech bubble

Episode 423: freedom from deadlines and Actual firefighting to software firefighting

Download

In this episode, Dave and Jamison answer these questions:

  1. Thank you hosting this show. This show has given me a lot of insight on nuisances of engineering that isn’t mentioned anywhere. Having some experience in industry for a while, I always find in this position where I want some autonomy but I am bounded by the deadline. What do you think should be the way to start a career that gives autonomy while having that sweet benefits from the industry?

  2. I used to be a senior manager of an operations team for a fire fighting service in Australia. I managed all of our physical operational assets - for example radio towers, mobile communications e.g. 5g, 4g technologies, mobile data terminals e.g. laptops in fire fighting appliances “fire trucks ;) “, data centers, networking so on…

    A restructuring means my team has grown to include in-house software development. While i am excited for this opportunity and on board with the changes, it is a very big shift from the physical and electrical engineering side to software development.

    The C level staff thinks the team lacks focus and there are “problems” to address.

    I have been meeting the new team and working through the changes. They are very nervous and are skeptical about how I’ll understand their world, which is fair.

    How can I best support this team? What are cultural things I should be aware of? What are key metrics I can measure that will fairly represent their hard work to the executive team? Any thoughts on what things a manager or managers can do to be supportive as the new drop in from across the room from a entirely different engineering discipline? Coding in my world is scripting and hacking about to make things work (telecommunication engineer)

A smiling speech bubble

Episode 422: Moving in to big tech and building support

Download

In this episode, Dave and Jamison answer these questions:

  1. A listener named Maria says,

    Hey guys! I am a software engineer working in web development at a small/mid-sized SaaS company. I come from a non-traditional background (self-taught, no CS degree) and I currently have 6 years of experience under my belt, the last 2 years of which I have been tech lead of a small team.

    I want to move into big(ger) tech, but I’ve not worked on any large scale systems so far. The biggest thing I’ve worked far had a user base of ~100k users and traffic would typically max out at ~2k concurrent users at peak times. Due to the nature of the work I’ve been doing at smaller companies (and also thanks to this podcast!) my soft skills are strong - I am good at working with lots of different people, I can deliver broad/vague projects, and I’m comfortable tackling ambiguous problems. I think my technical skills are probably decent, I’ve spent time learning system design and best practices, and I’ve put in the work to study CS fundamentals. Thing is, I would have absolutely no clue how to maintain an API that needs to handle 100k requests per second. My hands-on experience of concurrency and threading is basically just simple ol’ async/await.

    Grinding Leetcode aside, what can I do to make myself a stronger candidate for breaking into big tech? How can I be competitive against folks who already have big tech experience? Are there any projects I could do that would sway you as a hiring manager? I know it’s terrible market timing, I am just planning ahead.

    Love the show, thank you for making me a better engineer! :)

  2. Hi! I have been working at my fully remote company with around 100 people in the engineering department for over a year now. While I see a lot of really smart people here, the code quality is lacking. We’re moving from a monolith powered using an opinionated framework to small services powered by a lightweight library, so there are fewer guardrails.

    I have many ideas on how to structure the code, add layering, etc., so the code is easier to understand and maintain. However, the company is very hierarchical, and despite being at a senior level, I don’t talk much to anyone higher than my lead. There are no staff or principal roles. There are also hardly any meetings, and the only ones I attend are within my small team of five people. Most of slack channels for teams are private, and I don’t ever see company-wide ideas like that thrown in the “general” channel.

    I initially wanted to present this to my team first, but I am afraid that if they don’t like it for some reason, it will be awkward to take it to higher management afterward. How can I share my ideas with a wider audience and ideally get this approved as part of my work so I don’t have to work on it in my free time?