
Soft Skills Engineering
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.
Latest episodes

Aug 15, 2022 • 36min
Episode 317: Process renegades and hiding my disgrunteledness
In this episode, Dave and Jamison answer these questions:
I work at a small company that has recently grown from a couple of engineers to 40+ due to some great new project opportunities. As part of this transition, many new policies are being implemented. The policies concerning the engineering department primarily revolve around task tracking and reporting time. Gone are the days when an engineer can charge eight hours to “fixing stuff” and earn a paycheck. Most of us are on board, but there are three engineers in particular who have been around for quite some time and vary between subtly passive aggressive to downright combative when it comes to creating JIRA tasks and logging their hours.
The problem? They serve an absolutely critical role in our company. They are nigh irreplaceable in an extremely niche market. How should a manager strike the perfect balance between forcing an engineer to do something that they don’t want to do and not forcing them out? If this was a more common skillset, there wouldn’t be an issue with telling them “You don’t like it, go find another job”. But when there are a handful of people in the world that do this kind of thing and it closely involves hardware and these three just happen to be local… well, you get the idea. Losing these individuals would be a staggering blow the company. Making them redundant isn’t economically feasible. Time to ramp up for this position would be close to a year.
So I’ve recently followed the first rule of Soft Skills Engineering and quit my job. All right! I believe in the new role and I think it’ll be a good change to me.
Despite this, I’m feeling guilty about leaving my team behind. When my managers asked me how I was feeling in the last few quarters, I’ve mostly said I’m fine! I never told them my reservations about how the codebase I’m working on has no oversight, that they need to hire another dev because I don’t trust being the sole keeper, that it seems like product has forgotten this feature. I even indulged them when they asked me to make a long-term career plan when I was certain I would leave by early next year at the latest.
So, what’s your take on how disgruntled employees often have to hide their true feelings? Maybe I could’ve been open, but it really seemed like the odds were against us, it’s just that upper leadership was neglecting this feature and there was no urgency to improve things. But I still feel like I wasn’t being fully honest. What do you guys think?
Thanks so much and keep up the good work!
Feelin’ Guilty
P.S. Do you feel that this industry naturally rewards lack of loyalty and connection? What do you feel about that?

Aug 8, 2022 • 29min
Episode 316: Skills reboot and quitting the perfect job
In this episode, Dave and Jamison answer these questions:
Hi! I have been a software engineer at a very small company for 10 years. We write desktop products and single server products - I don’t have experience with scaling systems or the latest & greatest Javascript frameworks. I would like to move to a company where I can learn and grow, using a more modern stack. My coding skills are great, but it seems like I just don’t have the experience many companies are looking for. With 15 years total experience I am too junior for senior positions, and too senior for junior positions. I’m feeling stuck and am tempted to quit my job so I can focus on side projects using the latest and greatest tools. Or is there a better way to get unstuck?
Listener James asks,
How do you know when it’s the right time to move on from an almost perfect job?
I’ve been a frontend developer for 6 years and spent the last 2 years at a really great company. I have lot’s of autonomy, a competitive salary, excellent stock options, and great job security. But, so far my entire career has been working with the same technologies, and there’s no scope to learn new languages at my current job.
I was recently contacted by a recruiter, which resulted in an interview and offer for a full-stack role with a stack that would be completely new to me but really excites me.
I’m worried that never holding development job for more than 2 years would look bad, but at the same time I don’t want to be stagnant and not learning.
Should I stay at my current job where I’m comfortable, or take a risk and jump into the unknown to develop my career.

Aug 1, 2022 • 29min
Episode 315: Poor feedback recipient and rubber duck
In this episode, Dave and Jamison answer these questions:
Do you have any advice on how to give feedback to people who don’t take critical feedback well? There’s a person who joined my team with the same job title and level as me (senior product designer/L5) more than a year ago, and since then he has shown that he not only lacks a lot of skills to be considered senior but also lacks the self-awareness to see where he falls short and how he needs to improve. There have been multiple occasions in our 1:1s where he has alluded to critical feedback he’s gotten from people on our team (including our manager) and has written it off as irrelevant or untrue, will come up with excuses for his poor performance, and will make off-hand comments about the person as a way to discount their credibility. Overall I feel like this is part of a larger display of narcissist behavior; I’ve noticed that the only time he’ll listen to suggestions is if you make it not sound critical and sandwich them in between compliments.
Up until now, I (hopefully) have avoided being on the receiving end of his negative comments, but since I’m trying to go for promotion, my manager wants me to give him more guidance and tell him directly the feedback that I’ve brought up to her. Seeing how he’s reacted in the past, I’m unsure how to just start giving him unsolicited feedback and am afraid of what he’ll think and say to others about me as someone with four less years of industry experience trying to give him advice. I’m also afraid that this will damage our working relationship as I’ve seen how despondent he becomes when things don’t go his way. I’ve told my manager these concerns and her response was that it isn’t on me if he reacts poorly to my feedback, but I feel like putting in the energy to give him feedback that he probably won’t even listen to is exhausting and isn’t worth the possibility of him becoming more adversarial towards me. What can I do? Any advice??
I recently joined a new company following the patented space law certified strategy of quit your job. I have a senior colleague who has been there maybe 8 months more than me. Whenever he has a problem, he likes to call me away from my desk and start explaining his entire problem to me. I have no knowledge of the real codebase yet and am not even an experienced programmer as I barely have 2 year of experience. I just stand there and nod and give various quips from time to time to pretend I’m listening. This can last up to 30 minutes and happens numerous times a day. If I say I’m busy he just waits 5 minutes before calling me over again. I cant get any work done because of this. How do I deal with this senior team mate that uses me as a rubber duck. Should I just buy him an actual rubber duck ?

Jul 25, 2022 • 36min
Episode 314: "That guy" and how to skip level
In this episode, Dave and Jamison answer these questions:
Hi! Love the podcast and have been listening for a while.
I have a question about dealing with “that guy” on the team. I’ve been through several teams throughout my career, and every once in a while, I get on a team where there’s always a “that guy” that everyone seems to tiptoe around. They’re the type that would yell and scream to have everything go their way, and they’re typically very blunt to anyone, saying things in a really hurtful way. These people can either be technical or on the product side, but I’ve found it really difficult to work with people like this.
After working long enough with “that guy”, it seems the common thing people do is just to say “Oh, that’s just so-and-so.” or “That’s just the way so-and-so is.”, which I feel is the only thing you can do, but that just doesn’t sit right with me because it’s incredibly toxic.
I don’t think the solution is to just fire people like this, but it boggles my mind how so many teams just let this kind of behavior happen because the manager can’t or won’t take any action other than give them a talking to, which seems to just allow the behavior to continue because there are no consequences.
Have you ever dealt with situations like this? And if so, how do you normally handle it without just ignoring it?
I am a senior FE engineer and I have recurring 1-1s with my skip level manager (manager of my manager) who is the Head of Engineering at the unicorn I work for. I usually ask what is top of mind for them (usually hiring), give feedback about my manager, and get additional feedback on bigger picture things I’m working on (e.g. we’re currently working on metrics to measure impact and value of our design system and other internal tooling). What else would you ask them to make the best use of this time?

Jul 18, 2022 • 34min
Episode 313: Parents are fighting and hat-removal
In this episode, Dave and Jamison answer these questions:
After six years at my first job out of college, I took the foolproof SSE advice and quit my job last year during the height of the pandemic. I landed at one of the Big Software Companies and learned that I negotiated very well for pay within my role (in large part, thanks to this podcast - yay!), but I am way overqualified compared to my peers and should have attempted to come in at the next software engineer level (oops).
To get promoted I need signoff from my fairly new manager and the very tenured principal engineer (PE) who has historically run the team. My manager and the PE are frequently in disagreement, and send me one-off slacks to make requests that are directly at odds with each other. I’m squarely aligned with my manager’s prioritization which frequently puts me at odds with the senior PE. Yikes.
The senior PE frequently overlooks technical complexity and business context, and gives far more technical opportunities to the men on the team. I don’t like his mode of leadership, and so do not want to mimic his style. Unfortunately, he’s very respected by the VP+ level so I worry that friction with him will swiftly crush my dreams of promotion.
The parents are fighting. I’m caught in the middle and feel like I’m aligned with the side that is at a political disadvantage. Is there any hope of success for me unless they can magically start to get along?
I joined a small team as a developer a few years ago, and was asked by management to help introduce some formal processes to the team to help us release a project that has been in the works for a number of years.
With the team’s buy-in, I introduced SCRUM, and started playing the role of Scrum Master and Product Owner. I may also be the development team’s functional manager in the future. It seems that having the roles of 1) developer, 2) scrum master, 3) product owner, and 4) functional manager is too much for any one person to do well. With a primary role of functional manager, which of these other roles would make sense to hold onto? Which roles would be better to either hire replacements for or coach other team members to take over?

Jul 11, 2022 • 31min
Episode 312: Nit-picking and Promo raises
In this episode, Dave and Jamison answer these questions:
I’m on a team of two. My manager/teammate is young (under 30, less than 5 years total work experience), minimally experienced with anything other than writing code, and has an inflated self-assessment of their own coding skills.
They have a habit of either asking for (or simply changing on their own) every little thing to be their own way. This can be as unimportant as renaming all the variables to a different word with the same meaning (think $largeCar instead of $bigCar) or as bad as - after a discussion between two techniques for a feature in which their preferred method wasn’t chosen, - going in later and changing the code to how they wanted to do things.
I’m feeling burnt out by the lack of control over my work and feeling like what I’m doing doesn’t make a difference..
Where and how should you draw lines in order to balance writing good software with showing respect for your team members? How do you deal with people who think their actions are justifiable because they are “improving” the code but really can only defend this by claiming it is “more readable” or some other subjective measure?
I work at a well-funded startup and am likely going to be promoted (into another IC engineering role) in the next few months. I’m pretty clear on the leverage I have when negotiating salary before accepting a job offer, but I’m wondering how I should approach negotiation and raise expectations when it comes to receiving a promotion. Obviously, my company wants to retain me, otherwise I wouldn’t be getting promoted, but I don’t feel confident in negotiating when I’m already being given a raise and my only alternative to accepting it would be to leave and find another job.
Additionally, I’m on great terms with my company and manager and I would not leave over a 5-10k difference in raise expectations. Just want to better prepare myself for the offer. My manager has also told me that when/if I receive a raise, I can negotiate (it’s not too late). That came up because I told him I assumed raises and promotions are long processes that need to be decided way in advance, but that is not the case at my company.
Show Notes
Tweet about engineers’ puzzle obsession: https://twitter.com/ryanflorence/status/1534951668214771721

4 snips
Jul 4, 2022 • 35min
Episode 311: (rerun of 207) Unclear career goals and garbage code
In this episode, Dave and Jamison answer these questions:
I’m a senior software engineer at a fast growing software startup. In the past year and a half that I’ve been with the company I’ve gone through 5 reorgs and have had 5 different managers in 4 different teams. Each time I sit down to do a 1 on 1 with a new manager they ask about my career goals and aspirations.
Initially, when I joined the company I was a weak and feeble non-senior software engineer. When I was asked this question then, my answer was “to learn and grow, and have more authority and autonomy over the systems that I build, and be considered a senior software engineer”. Over the past year and half I have proven my worth and paid my dues and got the title of senior software engineer, along with the pay raise that came with it.
My career development horizon has not been very broad. I didn’t even know there were levels beyond senior software engineer for a long time.
I feel like I’m missing out on growth opportunities by not having a clear answer to this question. Please help!
Love your show, keep it up.
I career switched via a coding bootcamp 3 years ago and have been at my current company ever since.
The bugs created by my garbage code from the early days made me a big believer in clean code practices — I now feel strongly about using descriptive variable names, avoiding duplicate code, etc.
However, my boss/CTO is on the opposite end of the spectrum. As long as the code works, he doesn’t care what it look like.
I want to stay at this company because I strongly believe in the product and I love the flexibility of a small start-up, but my boss and I keep bumping heads.
For example, we recently switched over to PRs, and each PR my boss has made included blatant violations of the coding standards document we created together (!). When I request changes on the PR, he says he’ll do it but it isn’t a good use of our time to rewrite it when the code works.
My question is two-fold:
(1) As the most senior engineer on the software team, how can I go about promoting a quality-driven approach when the CTO doesn’t see the value in it?
(2) If all else fails, I’m open to quitting, but I don’t want to end up the same boat. During interviews, what questions can I ask to find out if the company truly values code quality?

Jun 27, 2022 • 30min
Episode 310: Flip flop and architecture astronaut
In this episode, Dave and Jamison answer these questions:
Hey guys! Love the show!
I’ve worked for 8 years as a Software Engineer for a large aircraft company, and while I had a great time there, I left because I was tired of working with old tech and wanted to learn new stuff.
I joined a medium-size company, working with lots of fun new tech, but after 8 months I got the opportunity to get my dream job as a Software Engineer at a specific Big Tech company.
The problem is that after I started on my dream job, I “crashed” really hard. The people and org are great, but the job revolves around working with a large legacy product, using mostly old/basic tech, and overall I’ve been feeling really unmotivated since joining.
After 4 months there, I was called by my previous fun job, and they offered me twice as much as I’m making at this Big Tech company to come back.
I’m very tempted, but I’m afraid of screwing my resume by leaving so early.
Should I toughen up and stick with my new fancy job, or go back and make more money and maybe be happier?
Hello Dave & Jamison,
First time, long time - I am 6 months into my first engineering job and loving it! (until recently…) my large team split into smaller teams. On my old team, we had lots of work to do and it was fun. My new team, however, is suffering from “spin-up time.” My tasks have shifted from clearly defined individual contributor type tasks, to amorphous research tasks on large architectural decisions. After about 3 months of this, it feels like this spin-up time is never going to end and we just don’t actually have much work coming our way.
On the one hand, these are more senior engineering type tasks and I could probably learn a lot if I stay to see these through.
On the other hand, I am certainly not at a senior engineer level and I miss spending my time coding. It was fun and I was learning a lot from that too. I fear that I may be atrophying as I haven’t done much coding for multiple months.
On the third hand (I have three hands), I could definitely be making more money elsewhere.
Should I stay and be patient, or is it time to take the magical SSE advice? is the economy crashing? I need help!!!
Thanks, you guys are the best,
Johnny Threehands
Show Notes
Architecture Astronaut: https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/

Jun 20, 2022 • 30min
Episode 309: Missing boss support and new manager, who dis
In this episode, Dave and Jamison answer these questions:
I am working on a devops team building the shared services that our engineers depend on: log aggregation, CICD, Monitoring, K8s clusters, etc. The team is myself, my boss (lead devops engineer), and a handful of pretty junior people.
I feel pulled in a bunch of directions. I’ve asked for written documentation from my boss to help establish expectations and processes. Think branching strategies, who owns what, what should be prioritized. I want to make it easier to train up the junior people on the team and enable us to push back when devs ask for stuff with no context of what it will take to finish.
Nothing has been written. It’s starting to get to me because without that it’s very difficult for me to push back on requests from the developers on our various teams.
How do I tell my boss that I feel like he’s letting me down and that I’m drowning because it seems he just can’t be bothered to write down some base information?
I have been working with my manager for almost a year to be promoted. I have been making a lot of progress on my tasks and as a developer. My manager agreed that I would be promoted in the next month or so if I kept it up. Then he quit to go to a new company. I now have a new manager and I feel like I have to start from scratch. Not much has been translated over from the old manager to the new manager about my progress. The new manager is now telling me there is no way they would hire me as a mid-level dev. I feel like I wasted a lot of time with the old manager and that the new manager is not seeing my value to the company and all the work that I’ve done to this point. I’m not going to quit or anything but I just wanted to rant. thanks for listening.
Show Notes
Writing strategy and vision documents: https://lethain.com/strategies-visions/

Jun 13, 2022 • 28min
Episode 308: FAANG to startup and Google interview prep
In this episode, Dave and Jamison answer these questions:
I’m currently working at a FAANG in Europe, and seriously underpaid. I recently got an offer from a US startup (Series C funded) to work remotely. Two big pluses: I’m gonna get a 2 times pay bump, and I can finally work remotely (and travel across Europe since they support work from anywhere, now that COVID restrictions are relaxed, something I wanted to do for years). Two problems: Their tech stack is Ruby on Rails, something that no “big” companies use so I may not be considered seriously because of last X years of working on a not-so-famous tech, and current tech environment screams of a recession, so I’m safer at a big company than some startup. Do you think 2.5 years in a FAANG provides enough of credibility to take care of both of these problems if things go south? Any other factors I should consider when moving from FAANG to a remote startup job?
So I’ve been working at this big-tech company for around 4 years and working as a mid-level engineer. I recently got approached by a Google recruiter for L5 or Senior engineer position. I’ve led a few projects in my current company, but I don’t consider myself a “senior” level. That and the fact that I’ve worked majorly in Frontend and the role I’m gonna be getting interviewed for is Full-stack (interview rounds seem to be focused on Distributed systems mostly).
I’ve two questions:
Is this some dirty trick in recruitment I gotta be aware of? I hear about downlevel a lot, but never “uplevel”.
If say I do prepare like crazy and pass the interviews, do you think I may not have any luck with the team matching Google does? Like no team may wanna hire a “junior” senior?
Love the show! Keep it up.