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 330: Mixed signals and not ready for senior
In this episode, Dave and Jamison answer these questions: Dan asks, Hey friends! How do you get ahead when your manager gives you mixed signals? I was told there would be lots of opportunities to work on exciting new projects when I interviewed for this role. After six months this hasn’t really happened and I’m beginning to get concerned it never will. Half the team is working on ‘new things’ while the rest of us are working on maintenance work. This is meant to be rotated but my colleagues tell me this isn’t the case. I’ve asked my manager in our one on ones if I can work on the next piece of new work but have got some odd responses. They told me if I want to work on better projects I should look in my managers calendar and invite myself to anything that looks good. This seems bizarre. Is it normal to lurk your managers calendar and just turn up at meetings that ‘look good’? I’ve worked at small but mature companies for about 3 years now, and I feel that I’m soon coming to the point where you would expect me to be a senior engineer given my years of experience (which I’m aiming for!). I’ve struggled a lot to come up with ideas to add value to the team outside of the standard sprint tickets. I know these things aren’t “required” in the job scope, but often with teams at smaller companies, I worry my manager might think I’m not ready for a senior role if I’m not actively thinking outside the box about the team’s goals beyond the tickets I’ve been assigned. I do have a lot of initiative and independence, but the thing is I’m just not very creative. As much as I love tech, it’s difficult for me to dream of non-trivial ideas that would actually make an impact. I feel that if I want to progress in my career, I’m going to have to get better at seeing the bigger picture. What tips might you have?
Episode 329: Falling behind and can't get a management job
In this episode, Dave and Jamison answer these questions: I’m a few months into my first full time job, and the learning curve is immense. I feel like I’m falling behind and not keeping up with my work, as well as not understanding things that should be simple. I often feel I am wasting time on a lot of work that I do. How do I know if this is just an anxious feeling, or if I am legitimately falling behind? I am currently a staff engineer and have a career goal to move into management. I have been with my current employer for 15+ years and positions to promote into just don’t come up. The tech i work with is not very technical, there is no coding and its incredibly specialized. I have applied and interviewed for manager positions outside of my team/company and i get the same feedback that i am well qualified, but there is someone with previous manager experience that beats me. I see it being forever if not impossible to get a manager position due to people needing to retire etc. If i go to another engineering position i feel like i would need to start over in a junior spot. What other options do i have.
Episode 328: Fear of sudden firing and reducing the lottery factor
In this episode, Dave and Jamison answer these questions: I’ve joined a team at a small startup and our team lead has mentioned in passing a few times about a developer they used to have but had to let go. Not in a malicious way but just as a matter of fact when it’s come up organically. Now it’s eating at me because I’m not sure if I’ll ever go down that path and I want to know what they did so I can avoid the same fate. I’ve always been a top performer at other companies but now I’m wondering if this would be the one place where standards are higher than what I’m used to. I really like it here and don’t want to lose my spot. Realistically my fear isn’t that I’d get fired in my first six months but more that I would fail to respond to constructive feedback over the course of a year and end up getting let go in the same manner. Do you have any advice? Hello! Long time lurker, first time question server. I am an intermediate software engineer and I work on a team that has a really tenured senior engineer. His attention is often required for a lot of things and the team can sometimes get blocked by him being pulled into many different directions. As someone that is trying to grow into a senior engineer myself, what are some ways to take some of the load off of him and improve the bus factor?
Episode 327: Remote with onsite team and undercover refactor
In this episode, Dave and Jamison answer these questions: I have recently joined a team as a fully remote member, with majority of my team mates located in one city and meet in office every week. My manager wants me to work on earn trust and drive consensus, to keep me in track for promotion. Being remote, I am unable to get through my team mates effectively, when compared to my previous work settings where it was all on-site. Any tips for me? Hi Jamison and Dave! I’m a long time listener and I really enjoy the podcast. I have a small question for you two: My coworker recently asked for my opinion on how to write some code and then implemented it a different way. They knew I wasn’t a fan of their implementation and even went out of their way to not get it reviewed by me. Now we’re left with this shared code that stinks. Their code works but it’s clunkier then it should be and it’s bothering me. Should I fix it when they’re on leave and guise it as a refactoring that “needed to be done” or should I leave it alone and try to learn some lesson from this. The other option is to quit my job but other this small hiccup - it’s been going ok here. Show Notes This episode is sponsored by the Compiler podcast, from Red Hat: https://link.chtbl.com/compiler?sid=podcast.softskillsengineering
Episode 326: Good perks, bad code and paper shredder suggestion box
In this episode, Dave and Jamison answer these questions: About a year ago I joined what it seemed to be the best company ever. It’s a pretty big, pretty successful company which has been fully remote for decades. They have a great work culture where async written communication is the norm. There’s no scrum, no micro management, no crazy and absurd planning/guessing meetings, etc. Of course we also have some pressure to ship product, but nothing out of the ordinary. Salary is good, work life balance is awesome, I like my team a lot and overall people are awesome too, so this sounds like paradise to me. However, on the technical side, this is the worst careless outdated bug-ridden untested unmaintainable inscrutable ide-freezing mindblowing terrible wordpress codebase I’ve ever seen in my life. No linters, no formatters, the repository is so big you can’t even open the entire thing on your editor and you need to open just the folders you’re touching. The development environment is “scp files to a production server taken out of the load balancer”. Zero tests, manual QA by a team mate before merging, outdated tooling, outdated processes, css overriden 10 times because nobody wants to modify any existing rule, security incidents hidden under the rug every now and then and the worst part: any attempt to improve this gets rejected. My team laughed at me when I tried to write an acceptance test in my early days. Months later I can see how ridiculous it looks now I have a better grasp of the technical culture over here. I’m towards the second half of my career. So “learning” and “staying up to date” with the trends is not my priority. I really enjoy this company and love working here until the moment I open my code editor. I’m seriously thinking on starting to look for another job, but I have this feeling that wherever I go the code might be slightly better but the perks will be worse. Now I understand why we have these perks, otherwise nobody would be here I guess. Have you been in this situation, or maybe the opposite one? Not sure what to do at this point. Thanks! My team got a new manager about 6 months ago. While I’ve had managers all across the spectrum of weird quirks in my time as an engineer, this person has one that’s new for me, and I’m not sure how to handle it. He operates in a very top-down fashion, which isn’t unusual. What is unusual, however, is that he will insist that everyone on the team give him feedback on a given issue…and then inevitably just proceed with whatever he had decided beforehand. I take giving feedback very seriously, and spend a lot of time getting my thoughts in order when I’m asked to give input on something. Having someone request that and then immediately throw my input in the proverbial paper shredder is frustrating and a waste of my time, especially since the team and company are growing rapidly and there are a lot of these kinds of decisions that have to be made. How should I approach this? I don’t want to keep spending time and effort on feedback that’s going to be ignored, but I also don’t know a polite corporate-speak equivalent of “please don’t ask my opinion on this when we both know you’ve already made up your mind”.
Episode 325: Surprise PIP and salary leak
In this episode, Dave and Jamison answer these questions: I had a boss once who I was intimidated by. I did not know I was poor performing until I got a performance improvement plan. It was such a bad experience, I still feel anxiety from that day. Instead of pointing out how I can grow from my mistakes, all they did was point out my mistakes and the things I apparently was not able to deliver. And then they proceeded with reading from a pre-written list of steps to take in order to improve, right from the paper and not looking at me. It did not even feel like a two-way conversation. I felt mistreated and disrespected. I’m glad I grew from it though. I wasn’t really the person to quit when it comes to facing tough situations. I ended up staying for another year and getting almost promoted before I quit to move on to a higher paying job. It was a very redeeming process I suppose. I have been at a small startup for 3 years. We are still in startup mode, underpaid and long hours. We have two developer teams: Team A and Team B. Team A slowly quit one by one. Team B is still here, including me. After my team lead resigned I was promoted to team lead. But… one week later someone from management shared with me, I believe by accident, a file with both teams’ salaries. I was shocked, really shocked. My team, Team B, has been paid less than Team A from the beginning even though we deliver more value. Also they didn’t even try to match my salary to the previous team lead. What should I do now? Go and ask for more money? Tell them I know? Talk to the rest of the team? I cannot unsee this. I don’t want to leave because I like the project and want to observe how well our technical decisions work out after several years.
Episode 324: Understanding accents and mega soft skills
In this episode, Dave and Jamison answer these questions: I’m currently a junior engineer. I often struggle to understand speakers with accents. I became aware of this when I listened to a coworker in a meeting and barely understanding anything, but when I asked my other colleagues, it seems they got it completely. I know how to handle this in relaxed situations, but how do I handle it when the stakes are higher? (i.e. talking to higher levels and not wanting to ask too many questions based on my inability to hear them, interviews, …). How should I prepare to respond to these situations productively? Hey fellas, As a backend dev of 3 YOE, I have what I would describe as average technical skills and much stronger than average soft skills. This has been reflected in my feedback across all of my jobs and while the feedback has always been very positive, almost all of it relates to my interpersonal and communication skills, as opposed to my technical chops. I’m wondering what’s the long term outlook for this is? I frequently receive more accolades and recognition from leadership than my colleagues whose technical skills and code output are objectively far superior to mine, simply because I communicate better and am more charismatic Given management’s favorable view of me, I have been ascending the ranks quicker than is warranted, beating out those that are much more qualified from a technical perspective. While I am able to complete the work that’s asked of me, I can’t help but wonder when I will stall as a dev and no longer be able to meet expectations, nor is it really fair to anyone involved. At this point, I can’t help but feel that I would be able to contribute more in a position that utilize my skillset more favorably, but I’m unsure what roles would be a good fit for someone like myself. Thanks guys!
Episode 323: Shopping offers and returning equipment
In this episode, Dave and Jamison answer these questions: I’m planning to leave my job purely because of low compensation. I like my growth in my current company - but low compensation than what market is offering is quite a mental hiccup in my regular work (yep! I’m slowly becoming one of the quiet quitters). I’m thinking of going to my manager with my new offer and ask him to match it. Do retention offers actually work? As mangers yourselves, how would you want me to approach a retention discussion? I don’t want my manager to make my life hell under the pretense of “Oh he’ll leave in a year” if I do decide to stay after taking the matching offer. Love the show - pretty much my single source of wisdom for all my behavioural interviews xD I was recently let go from a company. They said they would send me a shipping label so that I could return the hardware. I didn’t hear back from them for a week. A few days later a label came in for the laptop, but not for the dock or the two monitors they also sent. I did not enjoy my experience there and I’m feeling resentful at having to pester them so that I can get what I need to send them back their hardware. What is my due diligence on the score? I don’t even like the monitors.
Episode 322: Cover blown and no one cares
In this episode, Dave and Jamison answer these questions: Listener Olexander asks, I was a tech lead on some relatively known project since the beginning for more than a year. I made several trade-offs with technologies and wrong decisions. I participate in some generic Slack organisations and met several users of my product. I haven’t told them that I was connected to implementing the project but sometimes shared some insights on how the product is tested and asked opinions about some of features of the product in comparison to the competitors. Now there is a person who continuously critiques the product. Sometimes the criticism is valid but sometimes is’s just a rant. How can I influence that person without blowing my cover? Listener Kieran asks, Hi guys! Loving the podcast from down under. I’m working part time as a dev while I complete my software engineering degree. It’s been fun, but there are almost no processes in place for development and not many other devs seem to care about improvement. Although I am the most inexperienced here I feel some of the devs do not care about the quality of the work as I often have to refactor some of their code due to it being buggy, slow and undocumented (still using var in javascript). I’ve talked to management about improving our standards. However, they brushed me off saying yeah some of the developers are stubborn. They are not brushing me off because I lack technicality as Ive been given an end user app as a solo project. How should I go about encouraging the team to improve our processes?
Episode 321: Politely, no and participation at scale
In this episode, Dave and Jamison answer these questions: How do you politely tell a reviewer politely, “Your suggestion is stupid. I will not do it” when you get stupid review comments. If you don’t do it then the pull request can’t move forward because of unresolved issues. If you do it, then you’re compromising your design you’ve worked weeks on for some fly-by random comment. A few months back, I volunteered as co-facilitator for my department’s NodeJS Guild meeting. At first, it was a struggle to get people to present. But I tried to lower the bar more and more until it was easy. I asked for 10-15m presentations, and eventually I realized people are happier “Kicking off a discussion” than they are “giving a presentation”. All the listeners are more engaged too, at least after the first 2 meetings doing this. Now I want people to share half-baked code, or problems they are struggling with, as part of our discussions. I want people to be able to be vulnerable. If we don’t collaborate on common problems until we feel they’re polished and won’t reflect badly on us, then we will all waste time solving the same problems. I also want this to scale across 15-25 small scrum teams. I think success could be my demise–if we have good discussions, then more people will come, but people won’t want to be as vulnerable with a larger group. In general, I think my own scrum team is very open and vulnerable to each other, but the remote work in the deparment has created distance. I want to help create more collaboration on similar problems and solutions. What would you do to keep this going, and improve it?
Episode 320: Hot and less hot and no privileges
In this episode, Dave and Jamison answer these questions: I seem to be very hot and cold about how I feel about my job. Some days I hate it and think about quitting, but other days, I feel it’s not that bad and can stick around a little longer. The reason for it seems to change depending on the day, but a lot of it seems to center around the people around me (i.e. developers who need me to Google for them, business people who don’t understand how to provide requirements), but sometimes I can’t tell whether it’s an attitude problem that will follow me anywhere or if it’s just time to leave. It’s a relatively small company, so I feel like I would be betraying my manager who has invested a lot in me if I decided to leave so suddenly. I’d like to give my manager a chance to address my concerns, but I’m afraid to sour our relationship if I come across as a complainer. I’m also not confident there’s any solutions to my current frustrations because it seems to be a company-wide issue. How do I make sense of all of what I’m feeling? I really like my company but their project management is atrocious, ad hoc, and “old school.” They’re not giving me privileges to configure Jira in ways that allow me to get stuff done. Is there an effective way to convince my CTO that I’m not going to screw up our secure systems or do I just need to find a new job?
Episode 319: Steve's babysitter and these uncertain times
In this episode, Dave and Jamison answer these questions: My company wants several complex applications rewritten. “Steve” wrote the original applications, and has been assigned to do the rewrite. There is very little documentation on the original applications, and the rewrite will take intimate understanding of the existing code and new requirements. Management assigned me to work with Steve. They warned me that since we have started working remotely after covid, Steve has been hard to get a hold of and not meeting deadlines. My job is to keep Steve on task. When I ask Steve a question he will respond “I’ll work on it tomorrow” or “I’ll have to look in to that.” Then I never hear from him again. If I tell management I haven’t been able to get a hold of him, they will contact him, then he will contact me asking “What can I help you with?” Again, all his answers will be “I’ll have to look into that.” Occasionally Steve will report to me that he has finished a task. But because he did it without me, I am even more confused about what needs done or how to do it. I feel like my job has turned in to tattling on Steve. I am afraid I’m going to be labeled a whiner and that this project will harm my career growth. Over the last 2 weeks my solution has been to just ignore the project. Management hasn’t checked in with me, but I’m sitting on a ticking time bomb. What should I do? How to keep our sanity in times of uncertainty? I’ve recently changed jobs and despite the facts shows that I shouldn’t be worried, I can see my judgement is blurred by the fear of getting laid off even there’s no sign of it and I fear I would fulfill the prophecy!
Episode 318: Staff and part time dev
In this episode, Dave and Jamison answer these questions: Listener Albert Camus asks, Hello Team. I am a long time listener of the show, and I really enjoy it. I’m a senior engineer and want to get to the next level in my career. I talked to my manager about this. I told them I preferred the technical side and staff engineer was the next level up. He responded positively, although he didn’t give me a timeline, not even a vague estimate. In a subsequent meeting they told me it wasn’t a linear progression at the company and there’s quite an overlap in the salary range between senior and staff engineer. I was also told that the company only had a few staff level engineers and they were considered experts at a particular sub-section of a technology. This makes me feel like I am being stalled. I have seen this a few years ago, at a previous workplace, where I tried for a promotion, and the manager at that place kept giving excuses to buy time. I am afraid that could be the case here as well. I am technically strong and have good soft-skills. I have designed, developed and documented multiple features for the company. Whenever there’s a complex bug, the product manager always turns towards me for help. I also handle inter-team discussions at times, always a part of the interview panel while hiring new team members and at most times the only person representing my team from the tech perspective during alignment meetings with the sales and marketing teams. I could also say with confidence that I bring more value to the table and have data to back it up. But I am not sure how I could use all this information without seeming desperate, to really push for that promotion and a raise. I could quit and get a new job, most probably with a promotion, but I have put in a lot of effort here and I intend to stay at the current company for at least the next couple of years to reap the rewards. What can I do to get that promotion in the coming year? We know that the salary is high in our area, and I don’t need all this money. So, what is your opinion on part time job and how can I get one? I’m a senior frontend with more than 15 years of experience and just want to live a little.
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?
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.