It takes more than great code to be a great engineer. Soft Skills Engineering is a weekly advice podcast for software developers about the non-technical stuff that goes into being a great software developer.
Similar Podcasts

Thinking Elixir Podcast
The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community.

Rocket
Countdown to excitement! Every week Christina Warren, Brianna Wu and Simone de Rochefort have accelerated geek conversation. Tech, comics, movies, games and books, no galaxy is off limits! Hosted by Christina Warren, Brianna Wu, and Simone De Rochefort.

The Infinite Monkey Cage
Brian Cox and Robin Ince host a witty, irreverent look at the world through scientists' eyes.
Episode 163: Sounding a warning and negative Glassdoor reviews
In this episode, Dave and Jamison answer these questions: 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? 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
In this episode, Dave and Jamison answer these questions: 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. 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?
Episode 161: Trapped as a QA engineer and trapped as a generalist
In this episode, Dave and Jamison answer these questions: Hey guys, I’ve graduated with a CS degree 8 years ago, but due to circumstances I accepted a QA job because I wasn’t getting any other offers. Well 8 years later, I’m still stuck in QA and would love to move into development. I tried transferring within companies and applying to developer jobs, but the QA brand is holding me back. Any advice on how I can become a developer when I’m pigeon-holed in QA? Hi folks! I need your wisdom! Please help. TLDR: Senior as a Programmer, Junior as a Mobile developer. When I first came to my job as an intern, my manager asked me what I wanted to do more - backend stuff, testing, or mobile development. I went randomly and chose the latter. It became my profile and I’ve grown to really like it. Over the years, life has thrown me back and forth, I’ve been on multiple different projects not related to mobile, so now I can do… everything? Or rather, nothing. I know a little bit about .NET, a little about web development, writing Visual Studio extensions, IoT, machine learning, Unity game dev.. This is good because I can now quickly learn new things, know a lot of tricky stuff, know how to communicate with customers. I have a decent salary and good feedback. But the huge downside to that is that I stayed exactly at the same level of mobile development as I was 3 years ago. I know basic stuff, a little bit of advanced stuff, but I have zero experience in all the ““hot”” things like RxJava, Dagger, Kotlin. All the job vacancies I’ve seen require a strong knowledge of something particular: be it Android or iOS development, backend or frontend. I’m suffering from a huge imposter syndrom - yes, I have all the ““good”” programmer qualities, I’m smart, but I have no advanced or even medium knowledge in anything. What can you advise me? Huge thanks and… love the show! ❤
Episode 160: Non-manager 1:1s and throwing away dev learning
In this episode, Dave and Jamison answer these questions: Is it weird to have 1-1s but not with my ‘manager’? Management is planning to start holding ‘1-1s’ every 6-8 weeks for the development team. The purpose of these 1-1s: ~ ‘So you can talk about non-technical things, any issues with the team or things that are making you unhappy.’ But these 1-1s be with someone who is nominally ‘HR’, not our manager. Since it’s a tiny company, their responsibilities cover things like accounting and sales support. This person doesn’t have any people management or software product development experience, nor any experience in our product domain, and won’t really be our ‘manager’ going forward. Maybe I should just 🎶 quit my job 🎶 🕺. Then I’ll have new and unfamiliar problems to worry about 😅 Hello Jamison and Dave, I have a question on career progression, tech skills and moving into a new role. I’m a career switcher who has spent the last four years studying to move into a developer role. Over the last year I’ve been working on a technical project that has been delivered on time, under budget and ahead of schedule, a huge win for me and the team. However, now that it’s done my manager’s manager is looking at how the team is structured and who we need to hire. He has come to me and my manager to ask if I would like to move in to more of a Project Manager / Business Analyst role as I have done such a good job of the project roll out this year. I’m good at that kind of work, I do get a kick out of it, but if I don’t push forward to move into a developer role have I wasted the last four years retraining? Should I take the role and continue to push to be a full time developer on the team, or accept my fate but use the skills I’ve gained to be a better BA?
Episode 159: Rejecting candidates and corporate image obsession
In this episode, Dave and Jamison answer these questions: I’m a hiring manager and sometimes have to say no to candidates who interview with us. How do I reject them kindly? In my current company, they only care about reputation of the company. They don’t care about their employees or values, they prefer to invest in other things. One time the CEO asked everyone in the company to create fake accounts in order to vote for the company for an Award. By the way, we received the award. But I don’t know how to feel about this company non-existing values.
Episode 158: I accepted a counter-offer and stayed and dealing with engineers who exaggerate their contributions
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: I was unhappy at my job despite having a great manager, so I started interviewing around. Then my manager helped improve things considerably, but I ended up getting a job offer that was for a much higher amount than I’m currently paid. My company gave me a counter offer that I accepted, but now I feel like I somehow betrayed my manager and don’t know how to stop feeling guilty. How do I come back from a touchy salary negotiation incident like this and make things feel like they’re normal again? Compared to a smaller company which I used to work at, this new big company I’m working at seems to require more storytelling around the work that I do. I see people getting rewarded for exaggerating the effects of their work and being excused for their missed deadlines when they complain and blame the codebase. I hate to play this kind of game and would rather divert my energy on improving as an engineer and getting more code written. </rant> With all that said, I do understand the need for this and think it’s a valuable skill.
Episode 157: How to deal with a consistent low performer and my architect wants me to switch from Ruby to Java
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: I became a manager a year go. I took over someone as my direct report who was not performing well at the time. On my first day, I gave a motivational chat to welcome him again to the team and continued to motivate him. But after 1 year, he is not improving at all. I give him clear feedback and set expectations but he just doesn’t change. This got to a point where it is stressful for both of us. And since I spent so much time on just for this issue, I fear that it adds to the stress and may affect my decisions. What should I do? I’ve just join the company as a Ruby/RoR developer. After half a year the architect presented new way of developing the product and said that from now all new features will be writen in Java/Spring Boot and we switch to micriservice architecture. But I don’t like Java, don’t want to switch (I have 6 year expirience with Ruby), what should I do?
Episode 156: How to move from web development into other software engineering roles and dealing with slow code review processes
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: Hey! I love your podcast, you have definitely helped me improve my soft skills in my career. I am a full stack web developer and I have been pretty much loving it. Web development was not my original career plan though, I graduated with a Bachelor’s in Computational Mathematics & Computer Science, and I knew I wanted to be a software dev since working with robotics in middle school. I kinda fell into Web Development from my IT work study job in college. I have been doing this for 4 years, and I am ready to transition over to applying for Software Engineering jobs. How do I get over this scary feeling of leaving my safety net? How can I encourage myself that I can make this new career transition? There will be jobs I see posted, and I just wanna go for it, but I always get scared at the thought of leaving since it’s just so intimidating, especially coding interviews and interacting with new people, new workplace, etc. What if I end up regretting my choice? Any advice is appreciated! Thanks guys! I always look forward to your episodes every week - I share your podcast with my fellow nerd friends! I work at a bureaucratic company where we move fairly slow. Recently, I’ve been getting more and more frustrated with our code review process, but I’m not sure if this has to do with my quality of code. It can take weeks for one of my pull requests to actually get merged. Someone will review my work, I will make some changes, then they will come back some days later with a new truckload of very nitpicky details that they want changed. This makes me long for the days of me working at a startup where we had no code review, and no testing process, and it’s making me sad. How do you draw the line over what is reasonable code review and what is too much?
Episode 155: What do you think about employee monitoring software and how do I get un-demotivated after losing interest in software dev?
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: Hello! Thank you for the show! What do you think about employee monitoring software? I received a message from a company about a job position and they use such software. It seems weird for me to make screenshots on my computer and to see what software I’ve use and what websites I’ve open. How do you feel about it? I’m a software engineer with about 2 years of professional experience. When I started working, I was motivated to learn all the things. I consumed technical blogs and podcasts in my personal time and proactively identified and solved problems for the team. Things recently changed. I can’t bring myself to care about work anymore. Curiosity used to come naturally to me but I can no longer summon curiosity about anything related to software development. A few things lead to this. 1) I got a lower than expected rating on my performance review due to an issue with my soft skills. I thought the feedback was valuable but didn’t think such a rating was warranted, considering my overall contributions. 2) Our team has spent the past few months writing code that didn’t ship. 3) I took the Soft Skills Engineering advice and got a new job. In order to do that, I spent many mornings and weekends preparing for technical interviews. After accepting the offer, I felt totally burned out. I very much want to be back to my previous, curious self by the time I start my new job. Unfortunately, I can’t take a long break before the start date. How can I get to a place where I feel motivated again?
Episode 154: Why am I terrible at picking candidates and how soon can I quit my job?
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: 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. 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)
This episode is a rerun of episode 71 from August 2017. In this episode, Dave and Jamison answer these questions: I’m sometimes an informal lead on project teams. How do I help the team get stuff done as a peer? 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?
In this episode, Dave and Jamison answer these questions: 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!! 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?
In this episode, Dave and Jamison answer these questions: 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? 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
In this episode, Dave and Jamison answer these questions: 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? 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
Joining us this episode is special guest Nedda Amini! In this episode, Nedda, Dave, and Jamison answer these questions: 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? 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?