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 171: Unwilling mentorship and tortoise vs hare DevOps

Download

In this episode, Dave and Jamison answer these questions:

  1. Hey guys, love the show. I’m starting to realize that our QA engineer lacks some skills required to do their job effectively. It’s now starting to affect my work and I can only see it getting worse. I’ve tried approaching them about their work and given them some pointers on how they can improve. I’ve done several pair programming sessions as well. They are a bit stubborn though and I don’t think they will change until things get a lot worse when they realize their mistakes first hand. We are a small team and I’m the only other member of the team with automated testing experience.

    Should I be having a discussion with my manager about this? The company is pushing for more automated testing and if the problems are addressed now it would be easier going forward. I’m hesitant to say anything in case I open up a can of hate worms though or get them fired as they are a nice person.

    P.S. I’ve only been here a couple of months so moving jobs won’t be an answer for me on this one ;D

  2. Greetings from Germany,

    I am coming from the Infrastructure side of things, and we are a team of engineers with 0-3 years of experience getting into DevOps (tm). Often we encounter new tech-stacks that involve a lot of concepts to learn (like AWS, Elastic, CI/CD, System Provisioning). The way we approach these topics leads to some conflicts. Most of my colleagues like to jump into the water and set up production systems based on a mix of trial & error and copy pasting examples form StackOverflow. I on the other hand try to do things a bit slower by learning the basic concepts and applying them together with examples to get a deeper understanding of the system.

    My approach is slower but often leads to more robust and thought out systems. However it leads to my boss and my colleagues often eyerolling me for seemingly “overthinking” it. But I also see the appeal of the other approach, since it allows for fast results and pleases the stakeholders. But I see a lot of issues and often time consuming restructuring projects coming from that.

    Should I just give in and swim with the stream while i suppress my inner nerd cracking down on things?

    Loving your Podcast btw and recommend it to all my fellow tech nerds. :)

Episode 170: Code rage and code review etiquette

Download

Vote for Soft Skills Engineering on the Hackernoon Noonies awards for best Dev Podcast!

In this episode, Dave and Jamison answer these questions:

  1. How do I stop getting angry at other peoples’ code?

    Often when solving a complicated problem or implementing a feature, I have to modify or at least use systems designed by someone else. Often I find myself thinking ““Why did they do it like this??? This is so dumb!”” and literally getting mad in my chair. This happens no matter who wrote the code, and occasionally I discover that the author of the code was in fact Past Me.

    I know logically that everyone codes the best way they know at the time. So how do I avoid such a visceral reaction? Is this a common problem? Is this why many programmers seem to be Grumpy? My frustration often derails my focus and makes problems take longer to solve than they need to.

  2. What is the right etiquette for a code review for a pull request? I recently had an amazing code review. The reviewer pulled my branch, make a branch for changes he suggested and those changes all led to better and cleaner code. I felt the reviewer really tried to understand my design and test every suggestion before he wrote it. I felt that my code really got respect from the reviewer. However, a lot of my code reviews are just passive aggressive nitpicking like the comment formats are not right, the variable names aren’t clear enough. The worst was when I got a comment saying “this is already implemented” which after hours of figuring out what it meant was a different thing that would not work in my case. It seems like people have different ideas of what code reviews are and the etiquette and the expectations for it. As a reviewer and a reviewee, what should ideally happen in a code review process? Right now most code reviews are exhausting and infuriating experiences.

Episode 169: Conspiracy theories and flexible schedules

Download

Vote for Soft Skills Engineering on the Hackernoon Noonies awards for best Dev Podcast!

In this episode, Dave and Jamison answer these questions:

  1. One of my co-workers at the software company I currently work on has an ‘uncommon’ set of beliefs that include, among many other things, a strong mistrust of mainstream science. He is currently very concerned about the effect that Wi-Fi signals have on our health and wants the company to make some changes to our Wi-Fi hubs and our devices’ wireless connection usage. I’ve found in the past that it’s not easy to have a conversation with him about this type of topic. How can I be respectful to him and not undermine our work relationship while not giving in to connectivity inconvenience based on fringe-science beliefs?

  2. Hello! I love the show! The humor interjected into real advice (or real advice injected into humor?) makes thinking of boring and scary things like coworker relations or quitting your job sound fun! Everyone should resolve conflict and/or quit!

    I just started a new gig and I’m running into a situation I haven’t before. We have flexible work hours, but, unlike at previous jobs, people actually use them! I am meant to be pairing with another dev who is working quite different hours than me. I have a couple questions.

    1) How do we communicate about this clearly? I tried to set expectations at the onset, but it seems we missed the boat. I asked when he works, told him when I work, and it didn’t seem this far off. But on a day we’re supposed to pair, he’s here an hour and a half after me, which means I’ll leave an hour and a half before him.

    2) How do we make the time together the most effective? How can we turn about six hours of work into something meaningful, given normal distractions of meetings, bathroom breaks, etc?

Episode 168: Self-snooping and work from home jeopardy

Download

In this episode, Dave and Jamison answer these questions:

  1. Hey there.

    I don’t program I administrate in IT but you’re my favorite podcast, awesome job, never stop.

    I ran into a crazy situation that is WAY above my soft skills ability to deal with so I am seeking wisdom.

    I was working with someone from HR on a OneNote syncing problem. I asked someone to log in and let me look at the notebook in question that was causing an issue. I saw what I needed and then randomly clicked on another notebook so the problem notebook wasn’t open as I was trying to fix it.

    Later I approached the HR person to show me how they do something in OneNote. They opened OneNote and the page that opened up was MY employee records! OneNote syncs which page was opened last, which means the page I randomly clicked on when they were logged in on my computer was my employee record, and they knew it!

    They confronted me about it (not making too huge a deal about it). I tried to explain how I just clicked randomly and I wasn’t snooping, but it felt like everything I said only dug me deeper. I’m having trouble staying in the same room with them because of the shame (entirely internal) and I’m worried if I ever need to look at their PC again they will want full visibility to make sure I’m not snooping (not ideal). I want to make this right, but all I can come up with is honor based suicide rituals. What do I do?

    Your faithful listener,

    Stefan

  2. I’m an engineer in a small start-up. I work half of each week remotely, half in-person, as do the other engys. One of the other engineers is exceptionally skilled and experienced, way more so than I, but they are not very communicative when working remotely. The leader (understandably) becomes quite nervous as a result, especially since minor health issues have kept this engineer from working full throttle for a couple of weeks.

    What, if anything, can I do to help the leader trust this engy who doesn’t like to chatter on slack? I think they whole-heartedly deserve trust, and their work is already the backbone of this product.

    Part of the reason this matters to me is that the leader has expressed wanting to reduce work from home days to alleviate this issue. I love my wfh days, and I have been told that I communicate plenty well when working remote.

    How can I help alleviate the leader’s fears to protect another engineer’s independence and protect my precious precious remote time?

Episode 167: Foosball culture and giving feedback to geniuses

Download

In this episode, Dave and Jamison answer these questions:

  1. We’ve all been on that tour of that local startup that is showing you around their office pointing out all of the amenities. “Over there? That’s our foosball table!” You notice no one is playing it and the table and players all look very new and haven’t seen much action. You get down to the interview and at the end they ask you if you have any questions for them. “What is the company culture like?” to which they respond: “Did Derek show you our foosball table?”

    My question is what are the ways to ask this question without actually asking it? No one will respond to a direct inquiry saying: “Culture? Our culture is pretty garbage. You actually probably don’t want to work here at all, if I’m honest…” I’ve yet to find a good way to ask this question and wondering if you have any suggestions here. Love the show - keep up the good work!

  2. I have been lucky to have leadership opportunities in the past where I was responsible for the career growth, engagement, mentoring of a handful of team members. I recently started a new job where I am outranked by a recently promoted employee who is brilliant, but lacks some leadership qualities. To make things more awkward, this person does not take feedback well. However, I think I may be able to provide some feedback to help this person grow as a leader. Have you ever been in a similar situation? How would you approach this?

Episode 166: Not the intern and fighting at work

Download

In this episode, Dave and Jamison answer these questions:

  1. I’m so glad I discovered your podcast last week! You guys are hilarious (I laugh to myself in the car) and you talk about issues that I have thought about since coming into the “adult world”.

    I’m a new CS grad and have started as a new hire at the company I interned with last summer. I’m on my third week of full-time employment but I still feel like an intern. One of my supervisors even jokes and calls me an intern. I know it is a joke, but I feel degraded. I’m the youngest (at 22) and the only woman on my team surrounded by people who have been on the program for 5+ years. The people around me are VERY technical.

    I have slowly been getting information about what the program does, but it still isn’t clicking as fast as I want it to (compared to what I had experienced in my time at university). I have no experience in and have not learned any of the concepts they have been talking about. I feel that my CS degree does not matter and I feel that I am not competent enough and don’t deserve my place at this company; I’m not as technical as the other employees.

    I feel that since I have said I have my degree in CS, people expect me to learn fast and be “technical”. Am I setting myself up with unreasonable expectations? How can I prove to myself and to others that I deserve to be a part of the team and the program as a full-time employee?

  2. My team works closely with another team, and the manager of that team is…difficult. Most of my interactions with him have resulted in him getting defensive and frustrated, and nearly become arguments. I try pretty hard to remain polite, but we usually don’t accomplish anything.

    I’m not sure that I want to mention this to my manager, or to his, because I’m worried that word will reach him that I ““tattled””, which will just make things worse. He’s also more senior than me and has been at the company longer, so if this conflict does escalate, I feel the company would probably take his side.

    I otherwise really like this job, so the age old advice of quitting is not an option here. Besides just trying to avoid any interactions with him, what can I do?

    Thanks for much for the help.

Episode 165: I don't play videogames and quarter-career burnout

Download

In this episode, Dave and Jamison answer these questions:

  1. I recently joined a startup. After joining I realized most of the engineers are gamers. They play games during the lunch hour, and if we end up having lunch together, everyone is talking about the game that they are playing or some news in the gaming circle.

    As a non-gamer and introvert, I find it different to join in their conversation. How can I join in, or bring the talk back to something else?

  2. I’ve been working as an Android Engineer for 7 years from the beginning of my career. I loved my profession but things started to go not so well with reaching of the senior level.

    Coding tasks became boring because I knew how to solve them before starting. Most of the time I was helping less senior engineers but it didn’t give me satisfaction.

    I tried to solve the problem by quitting my job. I joined a company with a team of only senior engineers hoping that it meant more challenging tasks.

    Things did not improve. Tasks are still boring and I don’t learn anything new from my colleagues because they are around the same tech level as me.

    I don’t think I’m burned out because I still enjoy programming when I need to use my brain for solving a problem.

    I don’t want to move to management because I like coding more than people.

    I don’t want to switch to another tech stack because it means a pay cut and I think that I’ll get bored again in a year or so.

    Is it some kind of quarter-career crisis? Is there a way to be an expert at the field and still like your job?

Episode 164: Fear of firing and disengaged teammates

Download

In this episode, Dave and Jamison answer these questions:

  1. Hello,

    First of all, I love the show, thank you so much for the amazing work!

    I always think I’m going to be fired.

    I’m an extremely anxious person so I feel the need for constant feedback and for someone to tell me everything is alright. Minor problems send me into absolute despair. How can I deal with such anxiety?

    I frequently ask my manager during 1x1s if everything is alright and how I’m performing and he almost always says things are going well.

    In our 6-month performance reviews I get more detailed feedback on what I’m doing well and what I can improve. This makes me feel less anxious because I know exactly what my boss is thinking. Even if something has to be improved, at least I know it.

    Are there any indicators I can use to tell if I’m about to be fired or if my manager is happy with my work? I’ve told my manager about my anxiety and that I’d like constant feedback. That has helped, but I was hoping to get more detailed feedback. Preferably this feedback would make me able to tell, in a scale from 0 to 100, how well I’m performing.

    Thank you very much!

  2. Hey Dave and Jamison, love the show your insight.

    I have been having a problem on my team that I hope you can help with.

    We are a team of engineers that have internal customers. It’s a bit of a back end of the back end role.

    The problem is NONE of the other engineers are customer focused. They don’t engage with the real needs of our customer teams. Tickets come in, they do what’s in the ticket as it reads exactly and we end up with requirements getting lost, tickets needing to be reopened and our reputation going down the tubes.

    I have taken it on myself to engage with the customer and help them out. BUT, now I have become a glorified customer service rep and I can’t do much of my own work because I’m passing messages back and forth between engineers who don’t like to talk to their customers.

    My manager says the team needs training and he is going to work on it with them, but this has been going on for months. Should I take the Soft Skills advice of ‘Quit your Job’, or continue being a middleman?”

Episode 163: Sounding a warning and negative Glassdoor reviews

Download

In this episode, Dave and Jamison answer these questions:

  1. I recently joined a new team to help rewrite a batch job whose source code has long been lost. After taking some time to learn the tech stack and the business problem, I realized that the current approach will not let us meet our nightly deadline. Even a very generous back of the envelope estimate suggests that we’ll miss it by two orders of magnitude. I have some ideas on how to maybe fix this… buuuttt…

    I brought my concerns and calculations to the lead project engineer who dismissed them outright. They did not offer an explanation for why I was wrong, even when I asked for one. I started a proof of concept to illustrate my point, but there were some weird conversations that suggested that I should just drop the issue.

    I know how to make a technical argument about my concerns, but apparently that isn’t enough.

    How can I get fellow engineers to at least take my concerns seriously, not just for this project, but generally? I’m only 3.5 years into my career, so is it just a seniority thing?

  2. Hi! I’m a software engineer and I’m currently looking for my next job. It will be my second-ever job, so this means this will be my first time putting the Soft Skill Engineering advice (““quit your job””) in practice. Woo-hoo! Anyway… Browsing the job offerings I often check Glassdoor to see what people are saying about the given company, and I found a lot of negative reviews. I imagine sites like Glassdoor are negatively-biased, but these reviews left me wondering if there is any way I can investigate how good or bad working for the company would be. Maybe through some questions during the interviews? Any idea? By the way, I love the show, keep up the great work!

Episode 162 (rerun of episode 113): Quitting Your First Job and Too Many Responsibilities

Download

In this episode, Dave and Jamison answer these questions:

  1. How do I quit my first job if I’m working with a manager I love?

    I started my first full-time job about two years ago and I’m starting to think about looking for a new job, both because I am ready for new challenges and I’m ready to move to a new city.

    I have a great working relationship with my boss, so a part of me wants to tell her about my interest in finding a new job, both so that I could use her for a reference and also so that I can be honest with her about my intentions. She’s been a great boss and mentor to me, so there’s a part of me that doesn’t want to jeopardize our working relationship. But another part of me feels like I might be jeopardizing my presence in my current office if I make it clear that I am looking to move on, especially if my job hunt doesn’t go as smoothly as I hope.

  2. How do you deal effectively with rapidly increasing work responsibilities?

    My technical lead was recently promoted to management. Being both ambitious and the only Sr. Engineer without retirement plans in the next 4 months, I immediately stepped into the power vacuum and inverted a binary tree faster than all my coworkers to establish my position as new tech lead. After a few months the other senior engineer on my team retired, and I’ve ended up holding the bag for my new job responsibilities, my old responsibilities as a Sr. Engineer, AND the departed Sr. Engineer’s responsibilities.

    I told my manager how much was on my plate and that I was afraid my work output would suffer, and her response was to throw money hand over fist at me and promise to backfill both Senior positions within the next 12 months.

    How do I get through the next 18 months without losing all my hair? Are there any strategies to make sure the team doesn’t go up in flames when I forget about a key deadline? Or at least position myself so that nobody can tell it is my fault until I can make a subtle getaway in the brand new Ferrari I’m going to buy?