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
The Infinite Monkey Cage
Brian Cox and Robin Ince host a witty, irreverent look at the world through scientists' eyes.
The Top Shelf
ThePrimeagen and teej_dv are on a quest to find the best possible technical speakers and ask the best possible questions we can find. You all know ThePrimeagen can't read, so this is a great format for him to really shine. Teej is here to make sure that Prime knows who the guest is and also to interrupt Prime wherever possible
24H24L
Evento en línea, de 24 horas de duración que consiste en la emisión de 24 audios de diversas temáticas sobre GNU/Linux. Estos son los audios del evento en formato podcast.
Episode 390: Fixing typos and Cassandra
In this episode, Dave and Jamison answer these questions: I’m a backend engineer at a large non-public company. I noticed a bunch of our emails and website riddled with typos. I can not claim that it is metrics impacting or impacting business, so I get that teams always deprioritize, but the overall feel just irks me. Many of these come from a CMS I don’t have access too, so it’s not like I could offer to help with code even if I wanted. When things like this are not in your space, any advice on how to up overall quality? Possibly Mute Senior Engineer asks, I’m currently a senior engineer in a really small startup, and I’ve been here just long enough that I’m deeply familiar with our flagship product in multiple areas - infrastructure, the guts of the business logic, our deployment patterns, our most common failure modes, etc. Unfortunately, I have to be involved in every project and pick the application up off the ground when it dies. As a result, I’ve become spread very thin, and I have to cut corners just to stay afloat (or I am specifically directed to cut corners to meet a deadline). Frequently (because of all the corner cutting), we run into two situations that really tick me off: I see bad thing on the horizon, talk to my team about it, am ignored, then bad thing happens and I get to have a crappy day fixing it I recommend a basic best practice, we don’t use it and do some coat hanger + duct tape thing instead, thing breaks, and I get to have a crappy day fixing it. I’m very tired of being on the wrong end of the consequences of our own actions. I pour so much into this job, but I feel like I need to go get my vocal cords inspected, because it’s like my teammates and my manager can’t hear me when I talk about the things we’re doing poorly that lead to bad outcomes. Quit my job? Or is there an easy way to deal with this situation that I’m just missing? I feel like I’m screaming into the void every time I have these discussions and get completely blown off with “oh that’s not important right now” or “oh that terrible thing could never happen”. Thanks in advance!
Episode 389: Sleepy and bureaucracy
In this episode, Dave and Jamison answer these questions: The Sleepy Engineer says, Hey SSE, how do you deal with drowsiness? I notice that sometimes when I am very tired at my desk and end up eyes closed head drooped down as I work which I imagine is a bad look for anyone passing by. During this time, I would either get coffee or stand up and walk somewhere which is a temporary fix but ultimately I am still very tired. I know in very few really big company HQs there might be a sleeping quarters if you plan to stay the night but my company is certainly ain’t one of them. Any advice on how to get through the day? Thanks for the great show. After seeing a hyper growth in 2021-2022, our company has become a bureaucratic hell hole. RFCs, PRDs, ADRs, reports. My manager (director of engineering) would request these documents but never read them. When someone doesn’t like the solution proposed, they have the option to say no and the project is blocked. But nobody (including the manager of the team) have the autonomy to say yes and move forward. How do you deal with this? Or is it time to give up and listened to the patented advice to quit my job? Show Notes https://www.youtube.com/watch?v=f84n5oFoZBc - hammock-driven-development
Episode 388: Money not compliments and principal engineer coding guidelines
In this episode, Dave and Jamison answer these questions: Hey guys, love the show. Not sure if its really a question or more of a confession. I’m an individual contributor at a software company with a few thousand employees. A lot of professional books/training courses I encountered over the years talk about the importance of positively acknowledging your employees/reports/team members when they do a good job. Most of them say that this sort of praise and other immaterial motivation is more important than material motivation (bonuses/raises). More and more, my higher ups had started trying to motivate us with public “pats on the back” for individuals and teams. They were never generous with the material motivation to begin with. Honestly, i find these pats on the back grating. I don’t need to be told “good job kiddo” to actually work hard. To be blunt, i want a raise and/or bonuses, not empty words. But material recognition is all red tape and budget constraints these days, so I dont actually expect much. The issue is that the immaterial motivation just reminds me of what is just out of reach, and thus just demotivates me. Is there any good way to express these frustrations to my manager without sounding like a materialistic greedy bastard? Which I suppose I am, but I’m tired of feeling like one. I’m a principal engineer working with two teams of developers who own a product domain that is being rewritten on an aggressive schedule. We’ve increased headcount over the past year but we’ve started having friction with some of the new hires. Its clear that they want more input into the patterns and coding styles used by the teams that were established prior to them joining. Unfortunately, this seems to come up in PRs rather than discussions and leads to push back from me and the tech leads on the teams. This has lead to our engineering manager commenting that they’re getting complaints about us being too restrictive and developer happiness being impacted. While I don’t want any of the developers to be unhappy, I worry that the EM is risking hurting the team as a whole by focusing on the happiness of one or two new hires. The Tech Leads are also starting to worry about what they are allowed to comment on in PRs. Help! How do I keep the devs from feeling underappreciated, the tech leads feeling empowered to lead, and ensure that the codebase stays consistent between repositories so all developers can move between services without feeling lost?
Episode 387: No juniors and manager forced to return to office
In this episode, Dave and Jamison answer these questions: Hello Dave and Jamison, I wanted to say thank you for your podcast. It’s been a great wealth of information and comic relief. Can we bring back the guitar intros? I work in the technology arm of a large corporation. There are no younger engineers. I am one of the youngest at just shy of 30 (my first tech job after going back to school). I receive praise for my eagerness to learn and grow and how much I try to engage with the org. I feel like if we hired more Junior engineers it would both increase the engagement of the org and give senior engineers more of a sense of purpose to pass the torch. One of my favorite engineers from whom I get the best advice has been here for over 20 years and they are awesome! I also get great advice from people on my team but some of them are cruising or in a “couple years till retirement” mode. Should I try to convince management to hire more junior engineers? Is there anything I can do to relate more to older org members? Hi Dave and Jamison! I’m an engineering manager tasked with getting the team back to an open office (hybrid). My team works very well remotely, with the occasional in-person meetup. I believe that in terms of productivity, work-life balance, engagement, and turnover, RTO will negatively impact the team. I’m torn between representing what I feel is good for the team and supporting the company’s decision. I’ve already expressed my concerns with management, and the overall sentiment seems to be that anyone who doesn’t like it can find a new job. Aside from this, I like my job, team and company and don’t want to quit over this. Any tips on finding a balance representing team needs and implementing higher-up direction?
Episode 386: Stuck with toil and how to get a dev job as a self-taught career-switcher in 2023
In this episode, Dave and Jamison answer these questions: I feel like I’m stuck. I’m in a senior/lead position technically called an SRE, but I find myself doing all kinds of cleanup work that should instead be spread across teams. My suggestions for automating toil and cleaning up tech debt fall on deaf ears until some principal engineer decides a couple of months down the line some problem is worth solving (then it’s urgent!!1). I’ve experienced this at a few companies now and see some patterns, but I’m not sure what the way out is yet. It seems I need to find the most respected person (and fight them! just kidding), gain their trust, and play politics to get basic problems solved and work properly distributed. I am exhausted. If you want me to lead, then give me the power I need to lead. If you want me to be a cog, then make it a decent work environment and pay enough. I feel like I’m stuck in some sort of purgatory. I’m considering going for a management job, but I think I’d hate it. How can I find a 9-5 that isn’t soul sucking and run by a few people who have the ear of the C-level? As two people who lead engineering teams, have conducting tons of interviews for developers and hired many, what are your opinions on the prospects of career changing self-taught developers landing a decent job in 2023 forward? I have a career in Product Marketing, working very closely with Product, Engineering, and Sales teams. I believe I bring a lot of the “soft skills” to the table and am teaching myself the “hard skills”. My concerns are that it will be incredibly difficult to actually find a job and, if I do, it’ll be an entry level role that effectively resets my existing 9-year career back to the starting blocks. In your experiences, would you hire folks looking to make a career move in anything other than junior positions, or would you be wary of them in favor of other candidates?
Episode 385: Attention to detail and sabbatical
In this episode, Dave and Jamison answer these questions: Hello! Thank you for your podcast, I definitely find the episodes to be helpful. Lately I’ve been struggling with attention to detail. I just forget to do simple things like run pre-commit hooks before I put in a PR or before merging a PR. I went through a pretty bad layoff when my old company went bankrupt a few months back and now I am at a new role where I really like everyone I work with. The engineers expect checked-in code to pass tests and typechecks and be generally high-quality. How I can be better about attention to detail as a software engineer? How do you keep track of remembering all the little things that need to be done? Hey guys I’m around 8 years into my career as a software engineer, been at a few companies and have been promoted to senior during my time. I like my job and have done relatively well in my career, but I’m burned out. While I think this is the best industry for me, I’d just like to walk away from the corporate 9-5 for who knows how long. Fortunately, I’m in a position where my partner is able to be the breadwinner for the foreseeable future. We’ve talked about it, and she’s okay with it as long as I don’t sit on the couch doing nothing all day. I figured I’d take this time to watch the kids, learn some skills around the house, get involved in the community, etc. I don’t know if I’d ever want to get back in the software saddle, or if I do, perhaps I’d return in a different role or capacity. But my question is, if I leave this industry for several years and decide to ever come back, what would the landscape be like for me? Am I making a mistake by deciding to hang it up at such a young age?
Episode 384: EM missing code and non-location pay
In this episode, Dave and Jamison answer these questions: A listener named Jay asks, Over the past eight years I’ve been promoted from Software Dev to Team Lead and then to Engineering Manager. After two years as an EM, it helped me a lot financially, I like what I do and I think I’m doing it really well. However, I have two concerns. First, I love programming and now I don’t have any time other than in my limited free time to do it. I can feel my coding skills atrophying. Second, I’m worried that I could only get EM jobs in the future, and there are fewer openings for EMs than for Senior Software Developers. Could I go back to a software developer role? Would they even take me? I work for a staff augmentation company in an African country for a software company in New York. I’ve been with this client for the last five years and I have climbed up the ladder enough that I can access the company financials. I am paid based on my location, which is not much after the exchange rate to local currency. My pay hasn’t increased as I’ve become more effective. Since seeing that info, I don’t feel the need to go over and beyond for this client anymore. The client expects me to be a rockstar developer and ship out code faster they can think of more ways to make money but my enthusiasm has diminished over time and my manager has been notified about it. What steps would you take to ensure you get reasonable pay as a dev earning a location based pay? The staff augmentation company is ran by US citizens.
Episode 383: In the trenches without writing code and how to close a social skill gap
In this episode, Dave and Jamison answer these questions: I recently started the interviewing for a senior engineering manager role at a fairly prestigious, but not huge (maybe 30-50 engineers) tech company. The job description heavily emphasized the idea of leading as a peer as opposed to just relying on the EM title. I love this approach, but the lead interviewer then disclosed that they don’t want EMs writing production code. This seems like a contradiction. Am I naive in thinking so? I certainly understand that taking on a more managerial focus will result in less IC work. However, as a leader I find a ton of value in staying close to the trenches. It allows me to earn the respect of my reports, empathize with their day to day, and sniff out good/bad decisions quickly. As an engineer with good softskills, it feels like gravity wants to rip me away from writing code. How do I stop this? Can I? Should I resign myself to a work-life filled with never ending 1:1s? Hello Dave and Jamison, thank you for your podcast. I have listened to almost all episodes and they provide both educational and entertaining values, you rock! I would like to ask you for advice. I am struggling with a problem related to communicating and cooperating with people in general. I have over 10 years of professional experience. I was always a hardcore nerd, sitting alone in front of the computer and programming, focused only on pure technical skills, everything else was unimportant. Most of my career I spent in small companies where I could just spend time writing code and I wasn’t bothered by anything else. However, one year ago I started to work at FAANG and now I feel overwhelmed. Technical skills seem not so important anymore. Most of the problems are being solved by talking, negotiating and following up with other teams, participating in meetings and presenting results to management. It stresses and burns me out. I feel it like a waste of time and potential but also I was never a people person, so I am anxious every time I am in a new social situation. How could I convince myself that such non-technical skills are equally important as technical skills? What steps can I take to improve my attitude and skills? What would you advise if you had to work with a person like that?
Episode 382: Mentors for managers and mob programming
In this episode, Dave and Jamison answer these questions: There aren’t a lot of engineering management growth resources in my company. It’s a relatively small company with about 50 engineers. My manager doesn’t have time to properly mentor me. And I’m not sure I would want him to because I feel like his advice isn’t always the best. Where can I go for management mentorship or other learning resources? Is it worth exploring non-engineering managers on other teams? Or leaning more on my peers? Or should I be looking for outside advice? A recent episode mentioned awkward Zoom silences. My experience is the exact opposite. I recently switched teams at the same company. This new team has a Zoom room open for the entire work day. The first person to start their day begins the Zoom and the last to leave ends the meeting. They do “mob programming” using a command line tool that switches users every few minutes along with all the strict rules of Extreme Programming - a driver, navigator, etc. But they also do everything in groups: story refinement, diagrams, documentation, everything. Live collab, all day, every day. I’m one month into this transfer but worried that this isn’t a good fit and that I made a horrible mistake. ALL the other engineers here rave about how this is the greatest thing ever. Am I the weirdo for not liking it? I feel like I am of split-mind to only either speak or type (but not both) and have not yet rediscovered my coding flow. Mostly I just wanted to roll a perception check with you: Am I the weirdo for not liking all this collaboration and 100% Zooming, or would this workflow drive most other engineers mad as well? Any pep talk about sticking it out would be appreciated.
Episode 381: Doing less and bad reference
In this episode, Dave and Jamison answer these questions: My company is doing performance reviews. While writing my self-review, I was shocked by how much I had accomplished in the last 6 months. I’d led our org to adopt multiple new technologies and supported other teams in adopting them, to great effect. But looking back, I wish I could trade half the accomplishments on my self-review for time spent taking better care of myself and my partner and kids. I’m not working crazy hours; I work a pretty regular 40hrs per week on a flexible schedule (with 3 young kids, this is, in fact, a crazy schedule). I’m on track for the promotion from senior to staff, maybe in this cycle, and I’m wondering: would it be crazy for me to propose that I stay in the senior pay band, and start working 4 days a week? I’ve also considered scheduling personal time during the day. But I know I’ll be fighting an internal work-time-clock forged by years of cortisol flow. What’s your advice for lightening up a lead foot? A listener named Aisha says, 6 months ago I quit my first job out of college. It was a very toxic and hostile workplace. I sucked it up for almost 3 years, but it got so bad that I had to quit my job without another lined up (yikes, I know). I was a great employee, and was always given excellent performance reviews. After giving my boss plenty of notice, I asked if I could use him as a reference and he said yes. It’s been a struggle finding another job. I’ve submitted hundreds of applications, reviewed my resume with mentors, and attended workshops for interviewing skills, but nothing helped. Out of sheer desperation, I had a friend pretend to be a future employer and call my boss asking for a reference. As I suspected, he was providing a bad reference that included outright lies about my work ethic and me as a person. I have no idea why he would do this. I am at a loss of what to do. The obvious thing to do it not include that job on my resume, but without it I basically have zero experience and a large gap between graduating and now. :( I have contacted some of my old team members if they could be a reference instead of my boss, but none have gotten back to me as of yet weeks later. Please help! What do I do?
Episode 380: Overruled by non-technical manager and describing technical stuff to non-technical people
In this episode, Dave and Jamison answer these questions: Listener Ashleigh asks, I’m a mid-level developer at a small company with a non-technical manager. After several months working on migrating our users from a legacy system to our new system, our non-technical business analyst discovered our current system re-uses lots of code from the legacy system. The BA immediately escalated their “concerns” about this to our manager. This quickly resulted in a group message from our manager to the BA, our senior engineer, me, and another developer. Without asking for more than a cursory explanation of how two sets of users who need the same functionality can use the same code base without breaking things for each other, our manager made the decision to fork the project and maintain two separate code bases. The developers tried to explain why this was a bad idea, but we were immediately shot down. This has already resulted in issues in pre-production environments. They were afraid that having changes in one unified code base would break things for both groups of users. We were given no opportunity to make further arguments. Two months later I find that my motivation at work has tanked. Despite being below market rate, I’ve stayed because it’s allowed me to advance my skills as a developer. But my trust in our BA and management is completely shattered. Is it worth staying in my current role? Is salvaging my current situation a hopeless cause that will likely just collapse again in the future? Or would I be wise to get out ASAP before things blow up and the blame is pushed on our development team? I feel like I already know the answer in my gut, but I’d like to hear your perspectives on this. Listener Damison Jance asks, I sometimes find myself struggling to describe how software issues will affect product designs to non-software engineers. It is hard for me to explain “this seemly tiny change in user experience you’ve asked for is actually driven by this backend functionality that is totally transparent to users and really no one besides backend engineers has any reason to know about it, but yeah anyway that small change is going to require six months of work and changes to multiple services.” I have found this approach quite ineffective, and I think it comes off as me sounding like “my way or the highway”. I’m wondering if you guys have any tips for explaining how systems work to people who aren’t software engineers and don’t necessarily have all the context you do. Show Notes Microservices video (keyword: Omegastar): https://www.youtube.com/watch?v=y8OnoxKotPQ
Episode 379: Someone fixed my ticket and is tech debt bad for my career
In this episode, Dave and Jamison answer these questions: “Hi! Love the show, long time listener. So an architect noticed an issue with credentials embedded into request body being logged. I had planned to resolve that, and someone already had done so for another instance. I took a day or two to figure out how to fix it globally, and even tied it into another filtering we did. That would mean one list of sensitive data patterns to maintain – that we already had, and don’t need to worry about which context keys to scan in. Scan them all, CPU time is free after all /s I opened this PR, and received no feedback for a day. Another engineer did mention an alternate approach that would resolve this particular case, but I was trying to fix it globally so we didn’t have to maintain a list of keys to scan on. Next day he mentioned he made some click ops change that resolved THIS PARTICULAR INSTANCE, meanwhile still not providing any feedback on the PR. This approach is IMO a maintenance burden: keep two different filtering in sync, proactively add keys to strip. High chance of mistakes slipping in over time. So I said OK works with some caveats, and rejected my PR. I can not explain why but this incident tilted me hard. For one thing he essentially grabbed my ticket with no communication and resolved it himself. Then he provided no feedback and went with a different approach without consulting anyone else. Worst of all, he ended up with an (IMO) markedly worse fix that I had already dismissed as being too brittle and likely to miss things in the future. What do? Am I unreasonable to feel undermined and disrespected?” Hi Dave and Jamison, long time listener love the show. I work on a team that is relatively small in size but we own a huge scope including multiple flavors of client-side app and a bunch of backend integrations. We recently launched our product and since then there have been constant fire due to various tech debt that we never fix. Our manager has attempted to ask the team to share the burden of solving these tech debts, but there are only very few that are actually doing it. I can think of many reason why they are not able/willing to take on the task, likely due to other priorities or unfamiliarity with the part of the codebase. Due to my familiarity with various component, I’m usually the one proposing the fix and actually fixing it. I have started to feel this is taking a toll on my own career development because I ended up not having bandwidth to work on those bigger projects/features that have high visibility and good for promotion. I do think solving the tech debt is important work and don’t mind doing them. How would you navigate this situation? Thanks for the awesome podcast!
Episode 378: Too much leadership and awkward zoom silence
In this episode, Dave and Jamison answer these questions: I’ve managed an ML team in a small company for ~2 years now. I created an 8 person team from scratch and I’m super proud of the team I’ve built. However, I miss being an engineer and wish I could spend more time coding. I was considering asking for a role change to IC, but out of nowhere my manager offered to me a promotion to head of platform engineering. I would have 3 engineering teams reporting to me - about 30 people altogether. I have trouble saying no to new opportunities but can I put the genie back in the bottle? If I get “Peter principled”, I feel like it would be challenging or embarrassing to return to IC work. How can I stay close to the ML side while managing other teams? Would other teams feel dejected if they know I had a “favorite” team? Is it just me or do people also find silences over Zoom unbearable? I work in a team that is mostly remote, and I find myself deliberately logging into meetings late to avoid the silence or the stilted, awkward smalltalk. If i’m running the meeting, I kickoff at 1 minute past to avoid having to deal with that dead air. I also find myself too quick to fill pauses during meetings. I never have this problem in person meetings. I’ve been in the same team now for nearly a year and I still dread uncomfortable silences over Zoom. How do I get over this?
Episode 377: Short Tenure Promotion and too much free time at work
In this episode, Dave and Jamison answer these questions: Hi, I’m a senior software engineer at a big tech company, where I’ve been employed for precisely one year. So far, the feedback I’ve received has been overwhelmingly positive. My manager has even mentioned that her superiors are impressed with my performance, and my colleagues have shared their positive feedback as well. While I’ve been told that I’m doing exceptionally well and may be on track for a promotion in my upcoming year-end review, there’s a slight concern. Given that I’ll have been with the company for just over a year at that point, my relatively short tenure might affect my chances. During my mid-year review, my manager advised me to tackle more complex problems and take on larger tasks that have an impact on multiple teams to bolster my promotion prospects. I don’t really know what to do with this advice since I don’t know what else to do besides passively wait and hope that these famous ‘complex problems’ come my way. I feel like whether or not I get to prove myself in a big way to secure the promotion will come down to luck, is there anything I can do to reduce this luck factor? I recently started a new remote job as a lead engineer at a startup. Previously, I was working for an agency and was almost constantly busy. Additionally, I was held extremely accountable for the time I spent working through submission of daily timesheets. Now that I’m at a startup, I’m struggling to not feel guilty when I feel like I have nothing to do. My area of the product moves much slower than everyone else’s, so while everyone else is constantly busy, I feel like I’m making much less impact. My manager, the CTO, is fully aware of my lighter workload and is fine with it. My question isn’t necessarily about how I can make more impact. It’s about how to make peace with the idea that I’m not being productive for 8 hours every day. When you’re in an office, you feel like you’re working even when you’re not, because you’re physically there. When working remotely, I tend to feel guilty when I’m not physically sitting at my desk writing code, even when there isn’t really any code to write. Do I need to just get over myself and feel more grateful for all my free time? Or is there another way of looking at this that I’m missing?
Episode 376: Return to office and quitting tech
In this episode, Dave and Jamison answer these questions: I applied and was hired for a 100% telecommute position. Recently, the company has mandated all employees near an office switch to a hybrid schedule. I’m looking at an hour or more round trip and the yearly cost of parking is several thousand dollars. The company also announced to their investors that massive layoffs will be coming due to the economy and redundancies due to a large merger. I’m relatively new to the company and left my previous company after only a couple of years. I like where I work and the company benefits. I do prefer working in office and don’t want to be seen as a perpetual job hopper. I’m just not thrilled about the commute time and commute paycut. We have been assured my product is invaluable but should I believe that? A friend referred me to a hybrid position biking distance from my house. Assuming I’m made an offer, should I take it? What if it’s slightly less than what I’m making now? Hi Jamison and Dave, another long time listener here. Thank you for all your advice and the good laughs you provide in the show! I’m in my early 40s and have been working since I was 19 with a few years spent in education at university. In all these years there have been ups and downs, financial crises, personal crises, layoffs, good laughs and friendships, great teams, projects and bosses, and not so great teams, projects and bosses. I have enjoyed some of the work I’ve been doing in my industry, and I’ve enjoyed making some good contributions to my field. I have been badly burned out two times in my career. Healing and recovering was hard but thankfully I was able to rejoin the workforce successfully (or that’s what I thought). Last year I identified I’m slowly burning out badly again. Since this will be my third time, I’m *very* seriously reconsidering a career change, to quit tech and software altogether. I’m passionate about the field I work in though it seems I can’t avoid getting sick badly from time to time in part because of the difficulties for finding a good team/project fit, having to deal with difficult people at work and a mental health condition I’ve been struggling with since my teens. I have friends in the industry that are very senior, and we all share common struggles and our complaints about the industry are getting worse and worse with time. Is that a symptom of becoming more experienced? Are we all becoming jaded? My current job pays well, but I’ve come to the realisation that it isn’t a good deal to trade great compensation for my health. I’m seriously considering downshifting and quitting tech to hopefully (and finally) bring sanity and peace to my life. This is something I’ve been also discussing with my therapist lately. So here’s my question: do you think it’s worth pursuing a long career in tech, or it’s just that the more experienced and senior you become the hardest the job becomes because your awareness raises? Do you have any other advice? Thanks for reading and congrats again on the podcast!