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.

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:

I owe you a lot, listening to Soft Skills 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. I kind of brushed this stuff off, considering some of it politics, and the rest unimportant, but boy was I wrong. It definitely helped me grow, and I’m totally indebted to you for that.

Recent Episodes:

Episode 124: Pair Programming Pain and Side Hustle CEO

Download

In this episode, Dave and Jamison answer these questions:

  1. I joined a new team that has a different way of working, which has exposed a lot of my shortcomings.

    On my previous team, collaboration was limited to discussions around architecture and strategy; after reaching consensus, we’d implement the components independently. I was very comfortable with this because I don’t have good intuition for how to interact with others.

    On the new team, we pair-program. Teammates have pointed out mistakes I’ve made while pairing, such as trying to control the mouse when they are in the middle of doing something or investigating something on my own computer without communicating what I’m doing. On this team, we are also expected to be much more engaged in group decision-making. As a result, I’ve made tons of mistakes in how or when I pose questions. Each time I make a mistake, it increases my self-loathing. I tried telling myself that I didn’t have bad intent when I made the mistake and the only way to grow is to make mistakes. I also told myself that this self-loathing doesn’t do anything for the team. I also do a personal post-mortem on each of my mistakes because I thought that would help me move on. These approaches didn’t work and my confidence has dropped substantially. I know it’s essential for me to learn how to work effectively with others instead of staying in my comfort zone of heads-down coding. Do you have suggestions for how to get through this learning process without letting it affect my self esteem and motivation?

  2. Hey Soft Skills Engineering,

    Love the podcast! You’ve helped me understand so much about the software engineering career field that I probably would have otherwise learned the hard way.

    I’ve been working at my current job for almost 4 years. The pay is very much below market (it’s a non-profit), the work is too easy, I can finish any task in a couple of hours, but we are given an automatic 1 week+ deadline to finish anything, and I’m much more technical than any of my co-workers, to the point where I can’t even have nerdy conversations with anyone at work.

    However, I’ve stuck around because the job is pretty much stress-free, I don’t have to think about work at all outside of work hours, and all the free time allows me to take on side-projects and learn new technologies, including every level of software development.

    With all this free time, I’ve started a company. In the last few months, I’ve managed developers, designed a system using blockchain tech, designed and implemented a database, learned the ins and outs of AWS management and server-less development, built a REST API from scratch, developed a full front-end in React/Redux, and learned a ton of other things.

    Since I’m in the prototype phase, my startup hasn’t gotten any revenue, and I’m aware it might take awhile to get any revenue if it ever does. I need to pay bills, and I need to start thinking about my financial stability. So I think it’s time to get a new job, even if it means not having as much freedom to work on the startup.

    I’m not sure on how to approach my next step. I want to continue working on the startup after I get a new job, but I’m aware that employers might not be fond of “CEO” on my resume when there’s no end-date on the position, because I might leave at any time if my company grows. If I don’t put anything about my company on my resume, then it seems like I have nothing to show for all the technical skills I claim I have (since all the learning, management and implementation has all been for my company).

    Do I put anything about the startup I’m working on in my resume? If not, then how would I showcase all the experience and skills I’ve gained by beginning this startup? Should I just keep getting by paycheck to paycheck while I build the company?

    Thanks

Episode 123: Salary Promise Fail and Slacker Coworkers

Download

In this episode, Dave and Jamison answer these questions:

  1. Great podcast! Love what you guys are doing and very happy that you are doing this for such a long time! Here’s the question.

    I started to work in a Startup a year ago. When we were negotiating the salary we agreed on amount X, and CTO promised that after a year it will be increased. He did say the exact sum. So, the year has passed, I followed up CTO about the salary raise, and he delegated the task to the manager, who decided not to give me a raise. When I asked ‘why?’ he said that I am good at negotiating my salary and I’m getting what the market is offering. I don’t feel bad about not getting more money, but the fact that the CTO break his word concerns me. I don’t think I can trust this company when they are promising anything and I started to care less about what I’m doing here. Am I delusional that a programmers salary has to increase even by 2% on a yearly basis and how to find a way to trust company in the future? Or just drop this and take the default SSE case - look for another job?

    Thank you for your answer.

  2. Hi Dave and Jamison, Absolutely love the show.

    I share an office with a peer who works on my team. We are both early in our career and are lucky to work under a very hands off manager. However, I feel my peer is taking advantage of the situation and is slacking off. He is rarely in his office and often states that he is ““working”” from home. When he graces us with his appearance in the office, he asks the most basic questions. Granted, those questions are internal and specific (not easily Google-able), but still, I feel he should have known the answers after a year on the job.

    He intentionally exploits our monolith’s slow builds by running full builds all the time and complain that it is slow. Then plays video games in the office until the build is complete (about 4 hours). Then makes a minor change in his feature code and kicks off a full build again, even though he could build incrementally (about 2-3 minutes).

    What do you recommend me to do? Should I spend time and energy to answer his lifeless questions? Should I confront him?

Episode 122: Too Much Process and Negotiating Salaries with Multiple Companies

Download

In this episode, Dave and Jamison answer these questions:

  1. Is it just me or does systems like Jira and TFS get managers to go crazy on processes? We have TFS and management has created a convoluted mess of processes that takes forever to learn and gets changed on a whim to be replaced by an even more convoluted process. Every time I finish a large feature and need to merge it in, I have to run around asking ten people on what process changed since there are all sorts of permission denied and other strange error messages. In my previous job, same with Jira and Jenkins. As an engineer, do managers really need these crazy processes that get in the way or am I naive engineer who doesn’t really understand the value of these processes?

  2. Just wanted to preface by saying that I absolutely love your podcast. It’s definitely helped me mold into a better developer and team player!

    My company is having a tough time raising our next round. In light of this, I am actively looking for my next position. Financial stability and growth is my biggest concern as I am planning to get married, buy our own place, and have kids. My goal is to interview at multiple companies and get competing offers. From a hiring perspective, I can definitely see how companies and see this in a negative light. How do I navigate salary negotiations so that I can get the best deal (financially) without being stereotyped?

Episode 121: Working Remotely Without Hating It and Managing Rotating Engineers

Download

In this episode, Dave and Jamison answer these questions:

  1. I used to work totally remote, but found myself absolutely hating it. The lack of office culture and human interaction.

    The problem is that in my area there are few local development jobs that match my skill set. I work in a large but heathcare heavy town, and their tech does not blend with my skill set.

    All to say. When it comes time to find my next job I’ll probably be looking for remote again. How can I come to love remote jobs, or at least survive?

    Maybe my previous companies remote culture was terrible. Is there any advice you can give when evaluating a remote culture at a company?

  2. Love the show! I had a question on how to effectively manage of team of engineers who have only partial allocation to my project. I am a project & technical lead for a team of ““8 FTE””, which is composed of a rotating cast of engineers who are allocated to my project in small percentages (most commonly between 30-80% of their time).

    This has a lot of challenges which you can imagine, but the one I am most interested in your thoughts on is the struggle with other projects about ““whose deliverable for a given engineer has priority””.

    As an example an engineer with 50% time on my project and 50% on another project will give me feedback that his immediate tasking between projects is unclear, he knows he has to do both workloads but feels they are uneven, or he is under more pressure from one project than the other. My company stack ranks during performance reviews and competition between leaders of matrix organizations (such as myself) in particular is fierce, so discussions between projects on how to effectively tackle this problem does not yield constructive agreements (in my experience). I’m at times guilty of trying to ““squeeze”” more than my designated allocation out of engineers to deliver on agreements for timing, scope, etc.

    Any thoughts are appreciated!

Episode 120: Layoff Decisions and Overworking Peers

Download

In this episode, Dave and Jamison answer these questions:

  1. How do managers make firing decision during company wide cuts? Recently our company went through spending cuts and x percentage of people were laid off as part of this exercise. On one fateful day, our manager informed us that he let go John Doe as he had to fire someone. Overall John Doe was a decent senior developer and was with the company for 10 plus years. My gut feeling is that he was let go because he simply didn’t (or couldn’t) move to management and was too old for a developer position. Does ageism play a role when a firing decision has to be made based on non-performance reasons?

  2. I’m in my early 30s, I have a spouse and a small child, and work remotely as a software engineer. One of my peers, let’s call him James, is about 10 years younger than me, works on-site, and is single. He’s a good developer and really friendly. The problem I have with him is that this job is his life. It isn’t uncommon for James to work 14 hour days (including weekends sometimes), submitting code for review at midnight, then back in to work bright and early the next day. This is not at all encouraged at my company. Most everyone comes in at 9 and leaves at 6. I feel a little bad for James because I get the sense that he’s lonely, and doesn’t have much going for him outside of work.

    However, it’s frustrating working with a peer who puts in way more time at work when my home life literally makes that level of dedication impossible. James receives a lot of praise for the hard problems he works on after-hours. I know my performance is fine and I don’t need the praise per se, but it’s frustrating to feel that I’m going to be compared to him informally by my co-workers in terms of what we get done, and formally, as promotion opportunities come up. I honestly wish someone in management would ask him not to work after-hours, but that’s probably not going to happen. Thoughts on how to handle this?

Episode 119 (rerun of episode 77): My boss wants me to speak at conferences and how to get better than a 2% raise

Download

In this episode, Dave and Jamison answer these questions:

  1. I started my first job as a developer 2 months ago. My boss wants me to give talks at meetups and then later, conferences.

    I have no idea what I can talk about as I am still very much learning.

    How do I find a topic to research and work on so that I can deliver value to people listening to my talk?

  2. What are some things I can try to increase the scale of my annual raise or bonus? For example, if my company averages a 2% raise each year, but I really want a 3% raise this year, how might I go about it?

Episode 118: Asking For Help and Speaking Up

Download

In this episode, Dave and Jamison answer these questions:

  1. What is the right balance between asking for help and figuring things out on my own? How do I know when it’s time to ask questions or when it’s time to spend more time drilling down into the code?

  2. Been at my first job for a couple of years now, and I am very quiet in the workplace and still find it hard to open up, be assertive, and speak up in meetings.

    When I try to go out of my comfort zone (arguing about technical decisions, setting up and driving meetings), I don’t think my manager appreciates my efforts. I am told that I need to voice my opinions more and have more of a two-way conversation. I feel I’m not given concrete chances to improve, and it’s very demotivating. How should I deal in situations like this?

Job pitch time! Are you interested in working at Walmart Labs? Email Jamison at [email protected]!

Episode 117: Defense Industry Stigma and Responding to Negative Feedback

Download

In this episode, Dave and Jamison answer these questions:

  1. Will working as a defense contractor hurt my future employability in private industry?

    I work as a full stack engineer for a small defense contractor with a security clearance. My company is awesome; All of my coworkers are super talented/motivated. On top of that we get to work with modern tech stacks (React, Elm, Go, Rust, Kafka, you name it, we can use it). I have heard rumors that it’s hard to move back to private industry after working in this world due to working with old/legacy tech and the view that defense contractors generally have less than stellar engineers. Is this true? I feel I’m in a bit of a unique situation due to how good I have it at my company and feel I could demonstrate that my technical chops are up to par with industry standards.

  2. We we just did a 360 performance evaluation where we provided “strong points” and “improvement suggestions” for two colleagues assigned by management. The completed reviews were sent to management and management forwarded it to the people under review.

    One of the reviews I received was very positive but the other one, from a senior teammate I work closely with, had a very harsh and exaggerated “improvement suggestions” section and very short and unconvincing “strong points” section.

    I’m not sure if he really considers me incompetent or he just wrote the suggestions, which do have some truth in them, without bothering to put things in perspective and without considering the impact it can have on my career and motivation. I feel a bit resentful towards the reviewer and am worried about the potential negative consequences of this review (I am relatively new to the company, joined 7 months ago).

    For now, I am trying to act as if nothing happened.

    I am hesitating whether I should talk to this person. On one hand, he can write what he wants in the way he wants. On the other hand, I feel the review is unfair and too negative.

    I would appreciate your input on this.

Episode 116: Weekend Warrioring and Reaching the End of the Career Ladder

Download

In this episode, Dave and Jamison answer these questions:

  1. I work at a growing start up, and while I was hired as a web dev, I have started working on unrelated but cutting-edge tech for the company during off hours. My boss has encouraged me to do this with monetary and office life bonuses, and he has reworked our business model to focus on it. The only problem is that our CEO overpromises and pushes me to my mental and physical limits for very short turnarounds. I still have to do my regular job. While I love the challenge, and love the company, I feel set up to fail. And the 40 hour coding sprints over the weekend are killing me. I feel like I’m setting a horrible precedent because somehow, defying all logic, I’ve met the deadline each time. How far is too far? Should I keep killing myself, or take the agony of defeat on a project.

  2. I’m currently working as a Senior Solutions Architect after a career progression that looks like this: Junior Developer, Intermediate Developer, Senior Developer, Junior Architect, Intermediate Architect, Senior Architect.

    In a recent one-on-one with my boss, we were discussing my future career options and concluded that the next step for me would be one of the following three positions: VP of Engineering, Chief Architect, or CTO. According to him, all three have similar levels of prestige, pay and influence, but vary in the nature of the job.

    Reflecting on this conversation, it dawned on me that I’m close to the final stage of my career. I’m currently 39 years old, so I’m now thinking to myself: Is that really it? One more promotion and I’ve successfully climbed the corporate ladder? End of the line. Time to retire. Nothing more to strive for (other than working on the most interesting projects).

    So, could you please talk about the software career progression, what to aspire to and how to measure one’s own progress once one has reached the top of the ladder?

Episode 115: Sharing Your Salary When You Leave and Hiring Decisions Overruled

Download

In this episode, Dave and Jamison answer these questions:

  1. Let say you accepted an offer from another company and you turned in your 2 weeks notice. If your current employer ask you how much you will be making at your new place, should you tell them?

  2. Recently I was on a panel of people hiring for my company. We were hiring for several positions and were given a fixed headcount. When it came down to the last spot we interviewed two people, one of which was a referral from someone higher up in the company. This person did terribly on the interview and we as a panel decided that we would offer the position to the other person, who was the strongest of all the interviewees. And all was fine until several days later when we received an email from HR showing the full list of people to be hired, and lo and behold, the list contained all the people we chose, plus one extra person, the referral person. Somehow there was magically more headcount for this person and now he is being hired.

    I’m not really sure how to feel about this. Because now we have a new person that is going to enter the company and I feel if he doesn’t perform well it will reflect badly on me and the panel that were involved in hiring. Also I am confused at this clear example of nepotism happening in my company. Should I bring this up with someone in the company? I’m leaning towards no but I am also confused and annoyed at what happened.