It takes more than great code to be a great engineer.

Subscribe Now Support us on Patreon

Soft Skills Engineering is a weekly advice podcast for software developers. We answer questions about all the stuff you didn't realize you needed to know about being an engineer:

  • pay raises
  • hiring
  • going into management
  • annoying co-workers
  • quitting your job
  • meetings
  • micromanagers
  • installing a ball pit in your office
  • and much much more...

For answers to these and other questions, our hosts Dave Smith and Jamison Dance are here to help.

Why should you listen?

Soft Skills Engineering listeners are awesome. Here's what they are saying about the podcast.

Jack says:

Not only did Soft Skills Engineering help me land my first gig, I also used your advice to negotiate a $10,000 raise! I love your podcast and will continue to heartily recommend you to everyone I know!

Hdennen says:

Facing a 9 hour drive, I grabbed a bunch of podcasts to listen to. I don't even know what the other ones are. Seriously, this podcast is full of massively helpful and relevant content from two people who are experienced, funny, and insightful.

Saad says:

Listening to Soft Skills Engineering has completely shifted my thoughts on what it means to be an engineer. It’s probably one of the more useful things I’ve gained during my time at Amazon. It definitely helped me grow, and I’m totally indebted to you for that.

Follow the show

Follow the show on social media for the latest news:

Facebook: https://www.facebook.com/SoftSkillsEng/

Twitter: https://twitter.com/SoftSkillsEng/

Recent Episodes:

Episode 154: Why am I terrible at picking candidates and how soon can I quit my job?

Download

This episode is sponsored by the O’Reilly Velocity conference. Register today and use discount code SKILLS for a 20% discount: http://velocityconf.com/skills.

In this episode, Dave and Jamison answer these questions:

  1. I keep getting asked to interview new candidates. But my interview feedback history is pretty bad. I’ve said yes to hiring:

    • Someone who’s super smart, but drives me absolutely crazy with constant argument and may cause me to take the time-honored Soft Skills advice and quit my job.
    • My boss at my former company, who DID drive me to quit my job.
    • My first (and only) hire back when I was a people manager, who turned out to be terrible, but I was told I had to keep him around because “it would look bad” to fire my first hire.

    What should I do? Is it acceptable to just keep turning down interview requests? I’ve wandered into a tech lead position, so I suspect I can’t dodge them forever. But I don’t want to keep suggesting bad hires just for the sake of getting more interview practice.

    Thanks for all the advice and the laughs! I’ve been a regular listener for a couple years.

  2. How long do I need to wait before bailing on a new job I don’t like? More than a month? It’s not totally miserable: the people are nice and the company has good prospects. But the technical decisions of the team lead to daily frustrations for me.

Episode 153: Informal Leadership and Dealing With Burnout (rerun of episode 71)

Download

This episode is a rerun of episode 71 from August 2017.

In this episode, Dave and Jamison answer these questions:

  1. I’m sometimes an informal lead on project teams. How do I help the team get stuff done as a peer?
  2. How do I deal with burnout after an extended period of crunch time?

Jamison mentions the blog post by Jamis Buck called To Smile Again where he talks about his experiences with burnout.

Episode 152: How to pair program as an introvert and being mistreated as a contractor?

Download

In this episode, Dave and Jamison answer these questions:

  1. Hi guys! Big fan of the show. Here’s a question: What to do if I hate working in pairs?

    I’m in a tricky situation. I work on a great project in a team of great people We try to implement all the good programming practices. Retrospectives, cross-review, working in pairs..

    I hate working in pairs. I am a typical introvert-programmer and the thing I like the most about programming is that you can sit all day digging around the code and NOT communicate with the people. Or at least not all day. But how can I say that to my teammates? “Hey, I would rather work alone than talk to you guys.. By the way, love y’all!”

    It seems impossible to communicate that to my co-workers without hurting them. And moreover, this is a good practice. Which makes me feel horrible because I feel super-tired after whole day of talking to people. Plus I also feel like somehow I take up their worst qualities: if the person is slower, I become slow too, or start making mistakes. Help!!

  2. Hey guys, big fan of the show here. Thanks for your advice and time.

    The company that I work for provides “tech teams” for hire. In other words, American companies that want to outsource part or all of their tech team to a cheaper location can hire us and get developers and PMs at a fraction of what it costs in the US.

    I ended up working with an established fitness company based in NY. Their management insists that we are “regular” engineers in their tech team and we should participate in their technical discussions, agile meetings and so on. However, their engineers seem to be on a completely different page and treat us like monkeys that can write some code.

    For the most part, I can deal with their condescending treatment and everything else they might throw my way. The problem is that the company is currently in a very intense project and they are all “stressed” which seem to provide them license to be extra rude BUT ONLY TO CONTRACTORS. Their managers brush everything under the excuse of stress but I’m sure that wouldn’t fly if we were “regular” team members.

    How would you handle this situation? Any advice before I lose my temper? I’m also afraid that getting rid of a contractor is much much easier than firing an actual employee.

Episode 151: Where are all the old developers and Do I not ask enough questions?

Download

In this episode, Dave and Jamison answer these questions:

  1. I have a lot of software developer colleagues who are 20 - 35 years old but none 50+. At what age does a software engineer’s career end?

  2. Hi Dave and Jamison, thanks for the great podcast.

    I recently started a new position on a small remote team.

    The co-founders are increasingly dismayed by my lack of Slack-question-asking, although I have reassured them that I’m not too shy and I will ask when I’m stuck. I have daily one-on-one meetings with one co-founder, where I do ask questions about the code base, story requirements, potential side effects of my solutions etc. It’s an open-source project with comprehensive and Googable developer docs, so between those and my debugger I can figure everything else out with a bit of research.

    A co-founder told me that he expects to see me asking one or two questions per hour, and strongly implied that I need to do this if I want to survive my probation period. I was actually let go from my last job at the end of my probation period due to “brisk communication style” and “not asking enough questions”, so I’m freaking out now.

    I don’t want to annoy my colleagues with a constant stream of inane RTFM-style questions, but I’m stumped on how else to hit my question target! Can you help me come up with ideas? Is there some big picture reason for this obsession with question-asking that I’m missing?

Episode 150: How to fight imposter syndrome as a technical lead and Getting in to meetups

Download

In this episode, Dave and Jamison answer these questions:

  1. I worked for four years doing web development for a company while I got my degree, and loved it. I eventually became the lead developer because I had been on the team the longest.

    I thought it was really cool. I worked with the team to make organizational tech decisions, trained new hires, held regular meetings to discuss projects. After about 6 months, though, imposter syndrome started sneaking in and I felt like I was making things worse, not better. I figured the team needed someone who actually had senior level experience, and the pressure was getting to me. So I bailed.

    I’ve since had a few people approach me and say they want me to join their early-stage startup in a technical leadership position. I haven’t outright declined, but I’m nervous about being put in a position where the stakes are even higher.

    My question is if the pressure of being responsible for everything ever lessens. Is it something that gets better as you get more experience? Is everyone in technical leadership feeling this pressure and doing a good job to hide it? What can I do to gain the confidence to eventually lead another team?

  2. How do you step into the meetup scene? I have not attended one before, but the idea of them is interesting. However, there is this feeling that I would not fit in due to inexperience.

Episode 149: How to get my engineering career back on track and how to thrive in a heavy process environment

Download

Joining us this episode is special guest Nedda Amini!

In this episode, Nedda, Dave, and Jamison answer these questions:

  1. My engineering career started out pretty promising. But along the way, I took a couple of unfortunate decisions and jobs, that instead of helping me grow as an engineer, were a big setback. When you career takes a few too many bad turns, how do you steer it back to where you want it to go?

  2. I work on product development with ~25 other developers, and management recently had us all embark on a journey to gain some level of CMMI appraisal. The goal is to deliver higher quality software at a more predictable pace. In practice this means that we got more processes to follow, more meetings to attend and more time-tracking fuss.

    I’m trying to keep an open mind because I, as a programmer, also have high standards for the product and it’s development. I’m scared that programmers are being turned in to factory workers stripped of any autonomy. These new processes don’t allow me to do anything without my product owner’s approval. I’m afraid that it will limit my creativity and ultimately cause my work and the product to suffer.

    In this kind of scenario, what’s your advice for a programmer who often gets inspired to remove tech debt, tinker with our dev environment, and otherwise make small improvements and refactorings that shouldn’t require management approval?

    What’s your opinion on the level of freedom that programmers should be provided in order to do their job well?

Episode 148: In the orbit of a Rock Star Programmer and Should I share my salary with my coworkers?

Download

In this episode, Dave and Jamison answer these questions:

  1. I’ve been an engineer for about 5 years and in the last two jobs, rock-star programmers have made my life very difficult. I define rock star programmers as ones with ability to produce lots of code and implement features at a pace that dwarfs my own. In my last job, the RSP would constantly rewrite core libraries and I would have to figure out his design and rewrite my code to adapt to the new design multiple times.

    In the current job, the RSP is very uncommunicative but with his sheer productivity steers the project into wild directions that are always coming as a surprise. Half the time my work then becomes throw-away because I was working based on the previous design. Am I a slowpoke and I’m seeing a normal programmer as a rock star or are these programmers just slightly above normal programmers but creating lots of work for everyone else?

    Managers are completely starry eyed at RSP and so talking to managers seems like a bad idea. What should I do?

  2. How do you feel about sharing salaries amongst your co-workers? I’m about to have my yearly review and I get the sense that my raise (which has already been promised to me) will be underwhelming given how stingy the company has been previously. That is simply a hunch based on previous experience and the fact that our team budgets have tightened up in the past 6 months. Recently a co-worker let it slip what his salary is, and though I don’t like playing the comparison game, it made me feel underappreciated. I discovered that he was making the same salary I was, but for lower quality of work and less contributions to the team. I’ve heard some devs in other companies advocate for sharing salaries amongst their peers, but I’m not sure if it’s a good idea. Will sharing my salary and encouraging my co-workers to do the same, allow for myself and my co-workers to better understand our value and help us negotiate raises? Or will it simply foster resentment and division?

Episode 147: How to grow in a flat organization and how to get references when job hunting in stealth mode?

Download

In this episode, Dave and Jamison answer these questions:

  1. I work in a flat organization. There aren’t really any titles, and very few managers. There is no common “climbing the ladder” here. What are options for career growth that will help me feel confident that I am progressing in my career?

  2. How do references work? I’m starting to look for a new job which means potential employers are going to be asking me for references. I’m not ready to let my boss know I’m thinking of leaving and aside from my current coworkers I don’t know who would attest to my ability as an engineer. I work for a small company (under 50) in an even smaller firmware department (about half a dozen). What am I to do?

Episode 146: What to do with sick co-workers who come into the office and dealing with weird performance review feedback

Download

In this episode, Dave and Jamison answer these questions:

  1. Hi guys! I was faced with quite a dilemma recently.

    A few days ago one of my co-workers said he was sick and worked from home. But the next day he came to office, constantly sneezing and looking terrible, and for some reason finished the day in the office. The same happened the day after that. I didn’t want to be rude and I felt for this guy, but I didn’t want to get sick either cause I have some important tasks this week.

    What could have I done? I could not just tell him “go home you fool, you’re contagious!” I could say “Hey! I noticed you’re not feeling very well, why don’t you come to the manager and ask to work from home this week?” But I didn’t have the guts to do this. Besides, what if he couldn’t work from home for some reason?

    I solved this by lying to my manager that I’m ill too, and worked from home. What is the best solution here?

  2. Hi, I recently went through my company’s annual review process. The review went pretty much as expected, with things that I was doing well and things that I could improve on. However, I received some negative feedback which I disagreed with. I asked for additional detail and examples of this, but neither my manager, or his manager (our site lead) could give me any concrete examples.

    After some further discussion they agreed to remove the comment from my review, but I’m now left wondering why this feedback was added in the first place if there were no examples they could give me. Their explanation for this was that it was feedback for our team, am I wrong or is an annual performance review the wrong place for that kind of feedback?

    Should I be concerned that they actually do have feedback for me, but were unwilling to do so given my reaction? Is this enough of a red flag to maybe consider looking for a new job?

Episode 145: What to do with a bad manager who is loved by upper management and should I include detecting major security vulnerabilities on my resume?

Download

In this episode, Dave and Jamison answer these questions:

  1. How do I deal with the manager on my team who is both not very technical and positions himself as the “boss” spending almost no time with the team (except dragging everyone into more and more meetings! 😡) .

    My manager upsets and demotivates the team but not upper management and is clearly trying to climb the career ladders as fast as possible.

    Obviously everyone wants the team to succeed but the friction is growing. Some team members already left with (maybe too subtle) hints at the problem.

    Should one stage a coup and take over? Silently manipulate people to go to into “the right” direction? Switch teams/jobs and see it burn from the sidelines 🍿?

  2. While testing my system at work, I was shocked how little security there was. Two issues exposed the entire system’s data by just changing the query string. Also every API call had no backend check on the user making the call. These are just two examples of many.

    This is at a gigantic multi billion dollar institution handling hundreds of thousands of people’s data, some of it incredibly sensitive. This fact will be known on my resume.

    This leads to my question: I am looking for a new job now, and wondering how much detail about these security issues is appropriate to share on a resume? I feel this helps me stand out as a newer dev, but would this be frowned upon by prospective employers that may worry I might overshare their own security issues?

    Thanks for all your help!