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

In Machines We Trust

In Machines We Trust
A podcast about the automation of everything. Host Jennifer Strong and the team at MIT Technology Review look at what it means to entrust artificial intelligence with our most sensitive decisions.

Ladybug Podcast

Ladybug Podcast
We're Emma Bostian, Sidney Buckner, Kelly Vaughn, and Ali Spittel - four seasoned software developers working in different sectors. Since there's a major lack of technical podcasts out there, we've decided to start one. Just kidding -- there's already a ton! But, we wanted to add our voices to the space and share our experiences and advice. We'll have great discussions around how to start coding, the hot technologies right now, how to get your first developer job, and more! Check out our website!

The Infinite Monkey Cage

The Infinite Monkey Cage
Brian Cox and Robin Ince host a witty, irreverent look at the world through scientists' eyes.

Episode 311: (rerun of 207) Unclear career goals and garbage code

July 04, 2022 34:56 34.94 MB Downloads: 0

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?

Episode 310: Flip flop and architecture astronaut

June 27, 2022 30:01 27.2 MB Downloads: 0

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/

Episode 309: Missing boss support and new manager, who dis

June 20, 2022 30:05 27.22 MB Downloads: 0

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/

Episode 308: FAANG to startup and Google interview prep

June 13, 2022 27:35 25.61 MB Downloads: 0

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.

Episode 307: Side hustle or new job and tell me when you're stuck

June 06, 2022 28:24 25.43 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I work for a big bank. I recently found out I am severely underpaid. I have only received “exceeds expectations” ratings since joining over 5 years ago. I rage-interviewed at a bunch of FAANG companies, made it to the final rounds of all, but always came up short on the offer. Expectations at my current job are low. I’ve been putting all my extra energy and time into my own startup idea with a group of small people, that shows a lot of promise. I so desperately want to leave my current job, but I can’t prep for interviews and work on my startup at the same time. I never interviewed since joining the bank over 5 years ago. I truly believe my startup can ultimately be my escape, but I’m just grappling with the fact that it may take years before I can quit vs. if I got a new job I’d have much better pay and not be depressed at my 9-5. P.S. are you hiring? I’ve recently been placed as tech lead for a small group of 3 people, myself included. One of my teammates seems to be having a hard time communicating in a timely manner when they are stuck on something or when their task will be late. I’ve spoken to that person a few times individually on the importance of communicating early and often, but it seems like that person is happy to just muddle on until the time runs out. I’ve had to jump on to finish some work that was time sensitive and I’ve gone to greater lengths to slack dm on how things are going. It’s getting old. I don’t want to be micro managing. Each time I bring it up with them, it seems to get through but never manifests in action. I’m not sure if this person realizes the impact that lack of communication has especially in a remote first setting. A sense of urgency might be helpful in some respects. At one of our 1on1 dm chats the topic of imposter syndrome came up and we shared our mutual struggles with it. I’ve tried to encourage that person that my dm’s are open and can help but I can’t keep checking in. There should be some ownership on their end to getting help from me. How do I get this person to communicate more, share blockers or confusion so we can finish our work on time and learn on the way? Love your show, long time listener, first time caller.

Episode 306: Sabbaticals and betray my team

May 30, 2022 24:01 21.46 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Listener Þór asks, Dear fellow binary smiths! I’m a Nordic software developer with about a decade in the industry under my belt who has recently returned back to the office, following a half a year long medical absence during which I helped my partner get through her second tough cancer treatment in as many years. I am now contemplating taking a sabbatical for some months to reset myself, as the ordeal has had a big impact on me in many ways. As sabbaticals are not a common occurrence in my parts of the world, I worry about what impact taking one could have on my future prospects once I start looking around for employment again. How does one frame having a “mental health” gap in the career when interviewing? Are they considered a “bad” signal by hiring managers? For the first time in my career, I’ve been given the opportunity to lead a project at work. This was something I really wanted and my teammates supported me. We agreed on the technical design and I recently started implementing it. However, I’ve been thinking about finding another job for a long time. I’m demotivated. Each week, I feel bad about how little I get done at work. It negatively impacts my self esteem, a lot. I never acted upon the desire to find another job because I have a great manager and skip level. Recently, my manager and skip level both announced they’re leaving the company. I’d like to pursue an opportunity at another company that seems to be a great fit for me but I don’t want to leave my teammates holding the bag for the project I’ve been working on. I’m the only backend developer working on it and my teammates trusted me to take ownership of it. It doesn’t feel fair for me to complete the more glamorous responsibility of coming up with the technical design and then leave when it’s time to do the “grunt work”. On the other hand, there’s probably at least six months left of work on this project and the company I’m interested in joining may very well not be hiring in six months. What steps should I take to not betray my teammates or myself, taking into account that my manager and skip level leave within a month and probably won’t be replaced by then?

Episode 305: About that raise and *you're* not fired

May 23, 2022 26:00 23.62 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I recently told my boss I thought my comp was below market value and that, while I enjoy working here, I may have to start looking elsewhere for my next opportunity unless there was a way to adjust my salary. He actually agreed with me and said he would go to HR to see what he could do. A few days later, he came back to me and said they could do a market-rate adjustment of 20k per year. I was super happy. He said, “great I will let HR know that you accepted by EOD tomorrow and they will get the paperwork started.” At 10am the following day, he, along with a couple hundred other employees, were laid off. So my boss, my boss’s boss, my boss’s boss’s boss and the HR rep that my boss was talking to are no longer here. So my questions is, what’s the appropriate amount of time to wait before bringing this up to my new boss. With so many of my colleagues now out of work , it seems a bit insensitive to be so concerned with a raise, but also, I like more money. I am 8 months into my first job out of college in an entry level role and today the other new hire (4 months) got fired for poor performance. I have been assured that my performance is still satisfactory, but I have been unable to think about anything else since it happened. I know that I am probably fine, but I am still very shocked and on edge. Any advice on how to move past this without destroying my bloodpressure would be appreciated! Signed, your fellow high strung engineer

Episode 304: My subordinate is smarter than me and confused in meetings

May 16, 2022 26:58 24.47 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I just hired someone as my direct report who is very, very smart, and has a great background. Ivy undergrad CS, Ivy grad school, and big tech experience. This is great! Except… he’s definitely much smarter than me. I slacked my way through a liberal arts degree, and have worked only for small startups my whole career. I’ve gotten by, but I’m no 10xer. How do I be a good manager for him considering all this? I want to help him grow in his career and be a good resource for him, but I don’t know what I have to offer. Should I just give him my key to the nonexistent middle manager cafeteria, and say, “I work for you now? Hi, I have a question about how to handle being confused in certain team meetings. It happens when the meeting is about discussing a certain problem to solve and most participants are much more up to speed with the issue being discussed. What ends up happening is that they discuss things fast, while I am hardly following and wondering if I should even be there. That is painful to me, because I’m aware that I’m not contributing much, while my time there is wasted and spent half trying to follow and half stressing out thinking what I should do. I guess that in order to contribute I would need to ask to be brought up to speed. Which I find a bit tricky because I’ll be asking myself: is it because I missed something? Or is it because of something I actually couldn’t possibly know? And secondly, should I have it clarified, which would disrupt the discussion and draw it out for others (especially if I need to go back to something that the group already went over)? Or should I address this completely differently, for example by requesting meeting agendas and preparing questions before the meetings? I’d love to hear your thoughts on how to tackle this, because it’s a pain every time it happens.

Episode 303: Should I stop coding and off to the field

May 09, 2022 30:17 27.74 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I’ve been a Staff Software Engineer at my company for 1 1/2 years. We have about 120 engineers company-wide. I’ve had 4 different bosses during the last year and our team has moved around a few times on the org chart. I lead a team of 2 engineers. My boss told me I shouldn’t be doing any of the coding but should spending my time working with the product manager, doing research for upcoming features, doing code reviews, managing the Jira board, mastering jellyfish metrics, reviewing architecture documents, setting up measurement in our logging tool and coordinating deployments of our features. Because my team is small and our product roadmap is pretty well defined, these tasks do not take 40 hours per week. I feel like I have nothing to do. I’ve tried to improve the velocity of the team by doing some coding and triaging on bugs. I miss doing the technical work and feel like I could do more but I also want the other 2 engineers on the team to own most of the big, bulky tasks. What do you suggest I do? Should I enjoy my light load or should I be looking for other ways to add value? I am the lead developer on a few projects with developers that have 20+ years of experience compared to my eight years. I have been made lead of the projects, but I’ve never actually had management tell the team that I am the lead or that I have any control whatsoever on the members of the team (typical ‘all of the responsibility, none of the power’ scenario). One of my teammates is tough. He writes unreadable but working spaghetti code. He also works in the field and will often times push to master and then leave to perform fieldwork, leaving the team in the lurch for several days before he can come back and fix his broken code. He habitually fails to push code, often holding the source on his own computer for months before pushing. I have mandated using pre-commit hooks to guard against breaking the build, but as IT has control over the repositories, these become “optional” and appear to be disregarded. I have brought this up with management, to no avail; the behavior continues. I have also expressed my concerns with management, and provided data on the impact this has to the project via tickets and time spent between the remaining team members. How do I rein in this unwieldy developer? What else can I do? Show Notes https://www.gamasutra.com/view/feature/4111/dirty_coding_tricks.php?page=4

Episode 302: Bad boss movies and well-written emails

May 02, 2022 30:37 27.87 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: My boss keeps recommending bad movies. I watch most of them but I feel bad because they’re not good and I don’t want to disappoint my boss. They are ‘okay’ but are really mediocre. Do I just ignore my boss’s suggestions or should I keep watching these terrible action-heist movies even though I don’t like them? Does it matter if my emails are well written? I’m a software engineer. I asked my partner how I should word a part of my email. After reading my email they were appalled. They said that it was “abysmally written and lacked refinement”. I’ll admit that it wasn’t my best written email, but who cares? It was just an email letting a team member know that I had followed up on a ticket a while ago, so it wasn’t like this was going to a client or something. Plus I felt like the email conveyed the message that it needed to. In my mind as long as the email isn’t offensive or covered in grammatical errors and conveys the message, isn’t that good enough? My partner argued that I should write my emails more eloquently since my “terrible” emails will reflect poorly on me. I told other engineers care more about the content and less about how well-written any given email is, but they wouldn’t budge. In addition to that, some of the emails I’ve gotten from our senior and staff engineers seem like they were written with someone who has the English skills of a middle schooler and they seem to do fine for themselves. Thoughts? Show Notes This episode is sponsored by Compiler, and original podcast from Red Hat. Check it out Reference to the Dragon book on Wikipedia Robustness principle: Be liberal in what you accept and conservative in what you send

Episode 301: I forced the framework and product stealing credit

April 25, 2022 26:38 24.81 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Listener Casey asks, My team has built an internal framework for continuous delivery that enabled a key product release last year. The tooling has gained widespread adoption and popularity throughout the org, to the point that some leaders are requiring teams to use the framework for any new services. Things are generally going great, except that “my team” consists of only 2 people including myself, and we have so much work that the soonest we can look at new features is ~18 months from now. Some individuals, who are being required to use our framework, are frustrated and protesting loudly about how the framework doesn’t work exactly the way they think it should. How can I shelter my team from the outbursts of unhappy users? Or bolster their resolve so they don’t take on the anxiety of growing pains? P.S. We’re all remote so this happens 99% in chat channels and DMs. If something goes right, product takes credit. If something goes wrong, engineering takes the blame. How do you change that organizational dynamic? (Other than your usual answer.)

Episode 300: Manager move and cultural or personal

April 18, 2022 29:23 28.09 MB Downloads: 0

We are celebrating our 300th episode by publishing unique songs about the podcast. To get access to the songs, join Patreon: https://www.patreon.com/SoftSkillsEng In this episode, Dave and Jamison answer these questions: Greetings! I have been with my current company for a number of years, and was recently promoted to Engineering Manager. I enjoy working here, and have a great manager and team. A job posting at another company recently piqued my interest (great salary, appealing company values, fully remote) and got me thinking, would it look terrible if I applied for, or switched jobs, so soon after a promotion to management? How can I figure out if communication problems with a team member are cultural or personal? My teammate immigrated to the states. We occasionally stumble over conversation and misunderstand each other. I think this is exacerbated by being remote. For example, they will ask a pointed and direct question that sounds like a challenge to my approach to a problem. When I attempt to answer, it’s clear we are nowhere near the same page and I need to back up and provide more detail. I am working and have worked with others who immigrated from the same country. I’ve had similar difficulties connecting before that I have not had with other teammates from other regions. However, this is not universally true of every teammate I’ve had from this area. If it is a cultural style, I would rather learn to adapt. I’m not interested in suggesting everyone need to conform to my cultural sensibilities. But if I can determine it’s a personal difficulty, we can work on it together.

Episode 299: Neophyte estimates and forced framework

April 11, 2022 26:44 22.33 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I’m a new team leader running a new project and when asked for a delivery date I gave my best guess (noob!). That date is at hand, our project is not. I gave a new delivery date and you guessed it, it’s later than the date I said way back when. I presented this new date to my boss, but he wants us to deploy what we have now… even though if we deployed what we have now the business’s cash flow would ignite tearing our collective hopes and dreams asunder. I told him this, in those words, and he said (with a knowing look) “ahhh, you’ve got to play the game, you have a reputation to protect”. I said I’d prefer a reputation of honesty, accuracy and improvement. He said he was talking about his reputation. His other teams consistently miss delivery dates, so I’d guess he has a reputation of missing delivery dates. I’d love to share my more accurate date, but that now feels like going behind his back, but if I don’t go behind his back - I’m going to get stabbed in my front. For now I’ve settled on putting my new date in confluence so I can use it as a shield when the inquisition comes. Dave, Jamison, what would you do and why? A parallel team has sold our VP on their internal framework, and has the VP convinced all other groups in his org should become dependent on it as a multi-app, multi-platform solution. Their framework is very buggy and they are very slow to acknowledge and fix bugs. They claim that due to the overwhelming amount of users/adopters of their framework, they can’t look at bugs, or that other projects take priority. This blocks our development. No one except them wanted to use their product, and somehow they used forced widespread adoption to avoid responsibility for missing their deadlines. This group has magnificent soft skills that have allowed them to evade being accountable for their issues. This team is a darling to the VP, so they are immune to accepting our feedback for the points I listed in the above question. How can we, who are multiple levels removed from this VP, improve our situation? Our group enjoys working together and on our product, so we don’t want to leave. We just want to find a way to become more tolerant of this other underperforming team. Show Notes https://www.hillelwayne.com/post/we-are-not-special/

Episode 298: Thanks, and goodbye and fessing up

April 04, 2022 30:18 27.73 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Earlier I decided I would quit my corporate engineering job in 2022. I’d stagnated, I wasn’t writing as much code as I wanted, and my company made me write our services in an internal domain specific language (DSL), which I don’t like. I’ve put off quitting due to anxiety reasons and not knowing exactly what I want to do next. I’ve even thought about taking a short gap to figure things out, but maybe that’s just me being a dramatic young person (I graduated university in May of 2020). However, now my company has done something terrible and promoted me to a second level engineer! And my manager has actually listened to my feedback! How could they? I still want to leave because the DSL ruins my coding skills and won’t transfer elsewhere. I work with great people. Also, I play an important role in the group because we’ve had so much turnover this past year. I don’t want to fall into the trap of thinking “the grass is always greener on the other side”, but I think leaving would be best for my career. How can I approach this without giving the impression that I’m flaky or ungrateful? And should I stop deliberating and quit my job sooner rather than later? I started a new position three months ago for a large pay increase, I am a fully remote software dev on a team of mostly local developers. My manager-to-be left the company a week before I started, and has not been replaced. The onboarding has been extremely lacking, I don’t have a mentor or buddy, I have very little l communication with my direct manager, and I have very little guidance on what to actually do, so I have been doing… nothing. Some days I do not even open my laptop. How do I start the conversation with my manager that I need something to do, without revealing openly that I have been doing nothing for the past three months?

Episode 297: Flat decisions and pointy-haired boss

March 28, 2022 30:07 27.56 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Liam asks, I was the second hire in my team and worked with one lead engineer who created the entire codebase from scratch. This engineer’s code was functional but not well architected and has many inconsistencies. They have since left the company and replaced with two new senior developers who are a lot stronger technically. We recognize issues with the current codebase but we’re finding it hard to make decisions on the best way of solving things. We’re all at the same seniority level and the managers above us do not have hands-on experience with our codebase or tech stack. Because we’re at the same seniority level I don’t want to start acting beyond my job title and make all the architectural decisions, but at the same time I don’t want to be a pushover. How should decisions be made in a team with a flat structure and no defined leader? My previous manager quit the company last year and we’ve been assigned a new one. While the previous manager knew technical side of the project really well, the new one seems to be clueless. He is not even showing any interest in learning about what we do. He is a good people manager, but lack of context makes him really bad project manager. What should I do? Should I talk to him to convince him to learn more or maybe it is normal and we were just really lucky with the previous manager?