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 300: Manager move and cultural or personal
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
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
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
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?
Episode 296: Low performer and frantic manager
In this episode, Dave and Jamison answer these questions: Hi! long time listener first time caller. i am the CTO of an early startup with 15 employees (12 engineers). 3 months ago, we hired a new engineer whose output is quite low compared to other engineers on the team. i have brought this up with him many times and tried to coach him on his debugging skills, time management skills, etc. After months of this, I am not seeing any change in output and am growing frustrated. At this point, I suspect that the engineer is just spending very little time on their tasks compared to others on the team (who admittedly often work late into the night). I don’t want to fire the engineer or micromanage his schedule, but am concerned that their slowness will impact our culture and product. Do you have any ideas on how I could help this engineer improve? Howdy fellas, I started my first SWE job out of college at a startup in the bay area and work in a team of three. Myself, my technical manager, and one other developer who comes from an adjacent field. I came three years of interning as a developer at a very relaxed company with 3000+ employees. I’m finding I have a lot more ownership over my work now than ever before and I really enjoy that! What I don’t enjoy is watching my manager run around like a headless chicken. Between managing all our jira boards, creating POC’s for a complete redesign of our core services, interviewing candidates, planning features for our existing services, and doing regular sprint work they have too much to do and not nearly enough time for all of it. This results in many things that are critical getting scrambled, forgotten, miscommunicated, or just dropped for lack of time on their part. I’ve tried to take some of the small tasks from them that aren’t necessarily a manager’s job such as managing the jira board and help desk tickets. Unfortunately they insist that they don’t want me to take over small tasks like that because they can handle it, but the same issues from them being overloaded persist. I think the team over all would be a lot more effective if they were able to focus in on particular tasks, but since they won’t let me help what else can I do?
Episode 295: Underleveled at FAANG and lazy tech lead
In this episode, Dave and Jamison answer these questions: Love the podcast, love the banter and jokes, keep up the great work! Now, for my predicament: Good news: I just got my first job at a FAANG! Bad news: I’m coming in at the lowest level of software engineering despite being in my mid-30’s and nearly 10 years of non-FAANG experience. Given that it is my first Big Tech™ company, I understand being down-leveled, but I did not expect to be downleveled THIS much. I’m glad to have finally “hit the big leagues”, but I’m not thrilled that I’m on equal footing with a fresh college graduate. Hurt feelings aside, what is the best Soft Skills advice on how to catch up to the mid-30’s engineers who joined a FAANG fresh out of college? My plan is to tell my aspirations to my manager once I start and see how they can help me perform as well as possible in order to promote quickly, but I can see how that might come off as greedy or entitled. What do you think? Should I do anything about a lazy tech lead? Since covid and working from home, my tech lead went from a frantic micromanager to a lazy coaster. They seem to do 1-2 hours of work per day. They set their slack status to ‘away’ so you can’t tell if they are at their desk or not. They’ve stopped coding completely, but we have an excellent PM so there isn’t much else for them to do. Sometimes during stand-up you can clearly hear them driving their car. Even asking them for help/advice on slack can mean several hours waiting for a response. Management hasn’t noticed because we are a large team who all work really hard, so the feature output is still high. My dilemma: do I count myself lucky that they are no longer micromanaging and keep my mouth shut? Better the devil you know etc. Or, do I gather some evidence and tell their boss? I could be learning so much more from an engaged tech lead, and the team might feel less toxic. Final doozy: due to some incredible stock market gains I have some heavy golden handcuffs so #1 priority is keeping my own job and not creating an enemy that gets me fired.
Episode 294: Unqualified internal applicant and speculative specs
In this episode, Dave and Jamison answer these questions: I work in a squad that has been slow in delivering. Squad leadership (including myself) concluded we need a staff engineer (one level above senior engineer) to help guide tech directions and to support other engineers. Unfortunately we have received only a single applicant- senior engineer “Brett” who’s already on the team. Brett is a good engineer and has a lot of great qualities - but falls short of the “staff” level. Our tech lead “Chris” doesn’t think Brett is suitable due to bad technical decisions Brett has made in the past. Chris also thinks Brett should have been discouraged from applying in the first place. (Brett’s manager is outside the team so has less visibility on what’s happening inside the squad) We’re suddenly in a bind. If we give Brett the role we are in the same situation as before but having to pay him more. If we don’t give him the role we run the risk of losing him in this environment - which would be very bad as he is a good engineer! Should our decision be down to how Brett interviews? What could have been done differently? I recently did some extensive planning for a feature with a back-end engineer where we negotiated what the GraphQL api would look like. As I was finishing up my feature work, I realized that they departed from that plan and didn’t tell me. Now the feature is late. They’re having to make adjustments because the departure from the spec made it impossible for the front-end to handle the data. I’m having to do more work because they used a completely different architecture than what we discussed. What’s even more frustrating is that the end result on the backend is going to be exactly the design that I initially proposed (this is documented), which the backend engineer shot down when I proposed it. I feel angry that they dismissed my technical expertise. This has also eroded my faith in collaborating with this person. Retro’s coming up. How would you approach retro? What outcome do I even want here? I don’t think more process is going to be helpful (I spent 6-8 hours on the planning portion of this feature). I am starting to wonder if my perception as a primarily front-end engineer prevents the back-end engineers from lending me credibility.
Episode 293: Moving TOO fast and following my manager
In this episode, Dave and Jamison answer these questions: Is it possible to move too fast and do you believe in too much enthusiasm? I am one of the youngest member of the team and am always willing to start new projects and balance a few different things. Is there a point where this can start hurting my career? I’ve gotten bumped in compensation fairly, almost 25% raise since I first started. My career goal is to stay on the programming side but want to become a possible trainer for newer engineers/devs. Listener Michael asks, I’m a backend engineer in an engineering/coding role with a small bit of SRE type work. I love the work as I get to dig deep into tech we use and have become subject a matter expert on databases within the company. I really like my team and my manager in particular, and get to learn a lot every week. My manager is leaving my team to lead a new team within the company that is focused on the company’s SaaS offering and I’ve been given the option of joining this new team if I wish. I like their managerial style and how they have helped me with my career progression so far. However, I’d be doing Site Reliability Engineering (SRE) work. I’m not sure if I’m ready yet to commit to being an SRE and code less/focus more on ensuring the reliability of mission critical production systems. I don’t know how easy it would be to switch back to more of a coding role in a years time or if it would pigeonhole me into that type of role. Have you got any advice?
Episode 292: Haunted by former co-worker and awkward manager endorsement
In this episode, Dave and Jamison answer these questions: I recently joined a new company that pays me much better and has much better engineering practices than my previous job. I referred a great engineer who was hired on a different team. Then, another engineer from my old job applied for MY team and is currently being interviewed for the role. This engineer is one of the reasons I left my former company! They have an impressive resume and interview well, but are unable to complete even the most basic tasks and have no interest in improving their skills. They asked me to put in a good word with my tech lead, but if anything, I want to encourage my tech lead NOT to hire them. I’m not a part of the interviewing process but I feel an obligation to let my tech lead know just how bad this developer is. Help? Thanks for thinking I’m neat! I think you are pretty neat too! In my most recent 121, my manager asked me to give some feedback on another colleague on whether I thought they would make a good Engineering Manager. My genuine thoughts about my colleague are that they’re pretty good technically, they have good communication skills, are friendly, and just generally a good team player. Outside of work, we’re pretty good friends and so I really want to see them succeed. However, I can’t shake the feeling that they wouldn’t necessarily be a good Engineering Manager and I can’t figure out why. What are some other (not so obvious) qualities that you think are important for EMs, since on paper, I would think they tick a lot of the boxes.
Episode 291: Hyper-productive team lead and hyper-unproductive senior engineer
In this episode, Dave and Jamison answer these questions: Hi! Thanks so much for all the work you do to put this show out, it’s kept me sane the past year. To sum up my problem…I’m aware this is going to sound like a slightly bananas thing to complain about, but my team’s tech lead is superhumanly productive. About 8 months ago, we hired Sarah. I can’t overstate how awesome Sarah is, but, well, in some ways that’s the problem. My team already suffers from under-resourcing. Rather than pushing back on unrealistic requests, Sarah will churn out 90% of the work required by working crazy hours so that we make the deadline. She always shares the credit and plays up even the smallest contribution any of the rest of us made, so again, that’s not at all the issue. For context, my team doesn’t have a manager, and our leaders are super high up the org chart. The problem is that now leadership expects this velocity from the team all the time, not realizing that this it relies on Sarah’s definitely-unsustainable level of productivity. Many other teams in our org are struggling to deliver due to the same resource constraints we face, so now their work is being lumped on our team as well, because the perception is that we’re The Team That Can Handle It. We’ve already lost one team member this year due to burnout, and the pace just keeps increasing. Additionally, I feel like this undermines leadership’s trust in my opinions. Leadership sometimes asks me how long a given thing will take. I’ll give an honest answer, but then when Sarah delivers the thing much faster by working 14-hour days, it makes it look like I’ve been sandbagging my estimates. How do I approach this? I’ve thought about explaining my concerns to Sarah in a 1:1, but I feel like I’d just come across as lazy and whiny…for all I know, she thinks we all should work like she does, although she’d definitely be too polite to say so outright. Are there any other options, or is this a :partyquityourjob: situation? Hello Hosts! I love the podcast and its light and humorous tone on a not so light subject. Ours is a small team with just 2 engineers in a mid-sized company. I joined recently as a senior engineer. The other person was hired for the same role a few months after me. The problem is that this other engineer doesn’t seem to posses senior level skill-set. I often find them making obvious mistakes and struggling to understand user stories. On most occasions they aren’t even able to finish their work, let alone making technical design decisions. I tried to bring this up in a casual way with them, and they seemed to get a bit touchy and defensive about it and they also seem to have a difficult time in making honest conversations about issues. So I never brought this up again. This situation of them not being able to carry out their expected responsibilities is taxing me a lot as I have to pick up the things they mess up in addition to my job. If this was from a person at a much junior level, that would be understandable. But this doesn’t make any sense to me. I am not very comfortable with the idea of ratting them out to the manager and seeming like a non-team player, but I am also afraid that I cannot put up with them for long while also still maintaining my sanity. If you were in my situation, may I know what would you do differently and how would you deal with this person? Thanking you!
Episode 290: Past offers and from QA to PM
In this episode, Dave and Jamison answer these questions: I wanted to know if listing past offers (as a brand name signal) on your resume will help or hurt you during the resume screening and interview stages? I am an SQA engineer at one of the FAANGS, and I feel inadequate in my position; I get the gist QAs are not valued much. Essentially I got into this domain early in my career, and I find moving out of this role difficult. My long-term goal is to get into a PM role. Is that even possible, or should I first switch to the Dev role to build a better foundation? Help me. I am lost.
Episode 289: Sharing wisdom nicely and too many raises?
In this episode, Dave and Jamison answer these questions: Hey guys, a long time listener here, I love the show. I’ve recently joined an early-stage startup with a tiny engineering team. It’s like most startups at this stage, there’s some chaos and a lot to figure out. It’s exactly what I like about startups. In the past years, I’ve been working on the very same kind of software we’re building now. I have a ready answer for many questions we might have, I’ve seen some things go badly and others work great. I’m eager to help the team deliver. But I also don’t want to be seen as the know-it-all jerk that tells everyone how to do their job. I have respect for my team and want to contribute. How do I use my experience without annoying my colleagues? Thanks for sharing your wisdom (I hope for 101% of it). Listener Andy asks, I moved to company A and it’s been 6 months I am constantly getting interview requests, Gave an interview and got a 30% rise moved to Company B, Now within 6 months the same thing happened, Gave an interview at Company C and got the job with 30% raise. what should I do? will it affect my long term career growth
Episode 288: Too excited about learning and furious boss when quitting
In this episode, Dave and Jamison answer these questions: I am working at my first job as a software engineer for 2 1/2 years now. I really enjoy working as a programmer and I’m super excited about the tech industry in general. However, sometimes I feel like I’m too excited about everything. I spent a lot of time reading blog posts, watching tutorials or taking online courses. I think about what books to read and what languages to learn all the time. Not everything but a big part of it happens during my working hours. While I know that “loving to learn” in general is considered a positive trait, I feel like I might take it a bit too far and I should focus more on the actual tasks I have - especially, because I think my coworkers spend much less time keeping up to date with everything. What is a reasonable amount of time to spent on these things during working hours and beyond? How do I know I spend too much time not working on my actual tasks? How can I make sure I learn the right things that are useful to my career? Love the show and wish you the best. Thanks for your advice! I landed a new job that nearly tripled my salary realative to the job I’m about to leave (yes, I was horribly underpaid)! The stories and tips from this podcast really helped me out but I also landed this job through Hired.com (the podcast sponsor). Any good tips regarding leaving a job when you know your boss will be furious that you’re leaving? Also, should I tell my boss which company I’m going to when he asks (he definitely will)? Show Notes Tom7, the most amazing YouTuber of all time: https://www.youtube.com/c/suckerpinch https://www.youtube.com/watch?v=qTBAW-Eh0tM - anagraphs
Episode 287: Informal favoritism and post-hoc finger pointing
In this episode, Dave and Jamison answer these questions: Listener Sara asks, How can I deal with favoritism towards informal leaders in a group? The group is losing group intelligence because the informal leader’s reasoning and direction is favored. Example: when member A propose an argument is dismissed, but when the informal leader proposes the same argument it is cherished. How do I react to the question “why didn’t you do it this way” for features already in production? I am frustrated by being asked that. I got scolded for an idea that turned out to be bad after I implemented it (in production), although I asked the Lead for his opinion ahead of time. As soon as trouble came up a.k.a performance issue in production, he pointed the finger at me. Lost all kinds of respect for him.
Episode 286: I don't care about borkchain and morning procrastination?
In this episode, Dave and Jamison answer these questions: I keep hearing about Web3, DAOs and Smart Contracts. Part of me wants to get excited about these and other shiny things but I just don’t seem to care all that much any more. How long into your careers did y’all stop getting excited about shiny stuff and how do you keep learning when it is not all that exciting to you any more? Maybe it is time to be a manager? 😛 Every work day seems to start the same way. I check slack, then procrastinate for about 2 hours before feeling so guilty about getting nothing done that i actually start doing some work. Once i get started i don’t have any issues concentrating. I want to work, i like my job but i also can’t crack this habit. I am assuming this is not normal…any ideas that could help me out? PS: I think (might not be true) i use to be better at getting started before the WFH was the norm Show Notes Article by Dave on how to make your standups awesome: https://blog.standuply.com/are-your-standups-awesome-91fb124033be