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.

Episode 361: Get git and non-tech ramping up

June 19, 2023 28:05 24.5 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Listener Schtolteheim Reinbach III asks, Hey soft skills engineering, love you guys. I work at a company you wouldn’t hear much about, on a product that you wouldn’t think about as having much tech involved- suffice it to say, it makes me interesting at parties. I’m not a developer myself, but on my team, I’m having an issue with a developer who can’t seem to use GitHub properly. Fairly often, whenever he fixes or creates things, he doesn’t seem to check them in properly, and between releases, numerous times, this has caused people to end up reproducing work, for the developers, business team, and QA alike. He’s been at this company for several years, and people have only complained, but no one has made an effort to fix it. I don’t manage him, and I can’t see the processes that are in place on his end, how do I go about reducing the amount of regressions that are created due to a developer who can’t Git? I’m also interested to hear if you two have similar stories about devs who can’t Git, or if you’ve been that dev, and what happened. I quit my job and got a new one! What should I be doing during the initial ramp up period that shows I am a skilled engineer even though I do not know the main languages they use? Also any advice on the non-tech side of ramping up? What should I be doing besides learning the tech stack and fixing bugs? Thank you for all your help and feedback. Show Notes https://xyproblem.info/

Episode 360: Mixing up names and improving without feedback

June 12, 2023 37:22 33.55 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: At work, I occasionally mix names of people in my team when I refer to them in meetings. My mother used to do this with my siblings when I was a child and I hated it. I guess I am getting older. Should I just accept the defeat? Any suggestions how to deal with this? How do I find areas to improve without critical feedback? I’ve had regular 1-on-1s with multiple people over the years (managers, mentors, tech leads), and asked for feedback regularly. Yet, most, if not all of the feedback I received was positive. Even when I stress that I want to receive critical feedback as well, the other person tells me that they do give such feedback to other devs, they just don’t have anything to criticize! This sounds like a humble brag, but I’m concerned that I will stop growing and improving if this goes on. I’m also a bit worried that deep down, the managers/leads just keep quiet to keep me happy - either because we have a friendly relationship, or because I’m one of the only women on the team (not trying to accuse them of sexism, but lets be real - “locker room talks” are held back when I’m around, and it might cause some people to be less frank to avoid possible “‘drama”). Due to the lack of direction, I’m trying to look at my senior colleagues and what they do better than me - do they have more technical knowledge, do they communicate better, etc. - but it’s often hard to apply to myself due to specializing in different areas, having different personalities and so on.

Episode 359: Competition and awkward in person

June 05, 2023 40:05 57.71 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Hi Dave and Jamison! What do you do when one of your immediate teammates is constantly competing against you? I really don’t like competition. Ignoring the competitiveness + praising his value did not work. Some examples: Leaving code reviews comments showing off obvious knowledge which does not really add value to the PR Constantly harassing you to pair on trivial matters (I think because “pairing with someone less experienced” is a trait desirable in our engineer scoring framework) Picking up a bigger version of whatever ticket you just did Trying to be the first to “answer your question” in public without actually answering the question (this makes it difficult for me to actually get answer for question I ask because other would think it’s “resolved”) Part of me feels flattered that somebody who has more years in the job sees me as worthy of competing against, but at some point it became annoying and counterproductive. Appreciate your thoughts. Please don’t tell me quitting my job and saying goodbye once and for all is the solution😂 I am graduating this year and have received two job offers. They are both very similar in terms of pay and benefits, the only difference is that one is fully remote and the other is hybrid (2x a week in person). I would normally jump on the chance to work remotely, mainly due to the fact I am a bit socially awkward and shy. However, I am conflicted if I should accept the hybrid offer as an opportunity to work on my social skills and experience working in an office sooner rather than later. ‌ Should I just accept that my personality isn’t suited for in-person? Have you ever had anyone on your team be socially awkward/shy? How did you feel about them? PS. Have you guys ever thought of releasing merch? I’d love to buy a “space lawyers tshirt”. Thanks!!!

Episode 358: Sticky Note Scandal and startup appeal

May 29, 2023 35:13 50.7 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: During our next team meeting I jokingly gave a status report on the state of my desk and referenced the note. I believe this was the first time someone had publicly acknowledged the note writer, and it invoked a very passionate response from my teammates expressing their own annoyances with the anonymous writer. ‌ It began to escalate the following week. Copy cat writers began writing their own sarcastic notes, and junior devs were (jokingly) doing handwriting analyses to find the culprit. I participated in none of this. However my manager pulled me aside to say he is now forced to address the situation due to someone filing an official complaint that I was “instigating workplace harassment” and that I created a “hostile, unsafe environment”. He informed me we will be having a meeting with HR regarding this incident. I have never had a meeting with HR before. I am very afraid of potentially losing my job due to this. I find this whole situation ridiculous and feel very frustrated. Please help me not make this a bigger mess than it already is. Aaron asks, Last week I listened to a show where Jamison announced that he was looking for work, and specifically looking for small to medium startups. I have only worked at larger tech companies, and currently enjoy my position within one of the largest. However, I’ve always wondered what it would be like to work at a startup. What makes startups appealing? Is it still reasonable to expect a good work/life balance, or do you go in expecting a big shift in how you dedicate your time?

Episode 357: Waiting to be paid and survivor's guilt

May 22, 2023 29:16 25.51 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: A listener Steve asks, How long is too long to wait to be paid? I’ve worked for 4 early stage startups in my career. Two were successful. One failed. My current one is “limping along” but showing signs of taking off. At the startup that failed, we stopped getting paid and some of us stuck around for 2-3 months until the CEO closed the business. I ended up unpaid for nearly 3 months of work. At my current startup, we are 3 months behind, and it has been this way for 6 months. The CEO is transparent about fund raising and clients slow in paying invoices. My question is still how long before I follow your age old advice? Listener Jess asks, ‌ How do I get past survivors guilt when my company does mass layoffs, but I am not one of the casualties? I’ve been at the company less than a year, and this is the second time they’ve fired THOUSANDS of people, including from my team; folks I work with at least weekly, and folks who have been at the company significantly longer than I have. I feel guilty that I, “The new guy”, am still employed, but the folks who’ve been there for years aren’t. How can I get past this and keep working to ensure I’m not caught up in the next round of layoffs? My manager says I’m doing good work, and the layoffs included complex inputs, but it that only helps a little bit.

Episode 356: Ummmmmmmmm and failed spikes

May 15, 2023 28:54 23.85 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I recently started listening to your podcast from the very start of the show! One of the largest differences I noticed (aside from the audio quality, lol), is how often you used filler words like “um”. How on earth did you manage to stop using them? In work presentations and demos, I often end up using the filler words, and listening to the recordings later is painful. The rehearsed parts of the presentation go smoothly, but as soon as I go out of the “script”, I start depending on filler words. How do I get better at this? How exactly should spikes go? I’ve done some deep dives to understand the scope and steps of an upcoming effort, all with detailed write-ups, only to later realize during the implementation that I got some things wrong or missed out some important details. Isn’t that the point of a spike, to root out any unknowns or surprises? Short of just doing the actual implementation, which I’m pretty sure is also missing the point of a spike, What am I doing wrong and how can I properly present post-spike findings to my team?

Episode 355: Driving kids instead of team and jk i quit

May 08, 2023 25:52 22.64 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: My architect is too busy with his kids! His kids have had a lot of school and medical issues over the last few months and he’s ended up flexing a lot to take care of them. This causes meetings to get rescheduled or scheduled far out in the future, which is contributing to timeline delays on some large projects that need more attention. I don’t want to be rude and insist that he put the company above his family, but he needs to be driving organizational alignment, not his kids! I’m stressed out by not knowing when he’ll be available and having to do extra work or take important meetings without having him as backup! ‌ Can you help me understand what happened here? I was put on a ‘performance improvement plan,’ and it became pretty clear to me from the negative feedback at my first review that I simply didn’t have the skill to perform at the level that was being asked for. Instead of immediately looking for a new position, I decided to take some personal time off to work on myself and my mental health, and to use the remainder of the performance improvement plan time to prepare myself emotionally and financially for that. I didn’t blow off work, but I also wasn’t invested in the performance improvement plan either. A few days before my final review, I quit instead of being terminated. Management seemed really confused and angry when I quit. Why would they be so upset if they were about to terminate me anyway? One in particular started backtracking and pretending like I wasn’t going to be terminated.

Episode 354: Good at circuits, bad at git and ghosts of team members past

May 01, 2023 29:07 41.92 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I work at a startup that makes embedded devices and the software that runs on them. Everyone on the tech team does both. We recently hired someone to lead the tech team to give the CTO more time for other duties. My new boss is incredibly experienced with hardware design and embedded systems and has been in the industry for a long time (40+ years). However, they are not familiar with modern software practices like version control. They will frequently ask us to do things like delete all copies of a broken version of software. When we try to explain how git works they will ask us to make a new repo with the now working version of the software even if the fix was a 1 line change. How can I politely explain that they just don’t understand how this works and correct them without being rude? What’s a “normal” rate of performance firings on a team/engineering department? I recently got a new job at a growing startup, and it’s fairly uncomfortable seeing the ghosts, on messaging apps and docs, of like 6 people in the ~25-person department who’ve been fired in the last half year. With that said, the department is continuing to hire, so I don’t think this necessarily means I should be worried. But does that sound like an unusual amount of performance-based firings?

Episode 353: Easter outage and unethical things

April 24, 2023 30:30 25.97 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I work for a startup with a distributed team. Recently one of our clients experienced a production outage. As a small startup, we do not have an on-call rotation, and teams usually resolve issues during business hours. However, during this particular incident, most of my colleagues were on annual leave due to an Easter break, leaving only 10 out of 70 engineers available to assist. Although none of these 10 engineers were part of the team responsible for the outage, I was familiar with their codebase and knew how to fix the problem. Additionally, I had admin access to our source control system which allowed me to merge the changes required to resolve the issue. This was the first time I had done this, but my changes were successful and the problem was resolved. Now that the break is over, the team responsible for the codebase is blaming me for breaking the process that requires each pull request to have at least one approval and for making changes to “their” codebase without their approval. They want to revoke admin access from everyone as a result. However, I disagree with their assessment. While it is true that I made changes to a codebase that was not directly under my responsibility, I was the only engineer available who could resolve the issue at the time. I believe that helping our clients should be the priority, even if it means bending the rules occasionally. Did I make a mistake by making changes to a codebase that was owned by another team without their approval? Should I have refrained from getting involved in the issue and adopted a “not my problem” attitude since the responsible team was not available? Thanks and I hope I’m not getting fired for helping a paying client! J Dot Dev asks, ‌ What’s the worst thing you’ve had to do as a software engineer with direction from your employer? Years ago at a webdev shop we had a client who didn’t want to pay for e-commerce set up. My boss’ solution was to implement a form that included name, address, and credit card information fields that we would read on form submission and then email all of that information to our client in plain text. “Is that really ok?” I asked my boss. “Why wouldn’t it be?” “Isn’t that insecure?” “Only if they have her password. Just make it work so we can be done with them.” To top it off, they also had me email the information to myself just in case the email didn’t go through to the client or in case they accidentally deleted it, so I’d have all of this information just hitting my inbox.

Episode 352: Exploding manager and I hate computers

April 17, 2023 32:15 29.19 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: My manager finally exploded. They screamed and insulted our whole team because one teammate had a 4 day delay on a 2 week task. Our manager Theo (fake name) was recently promoted and now on top of managing our team of 7 engineers, they also manage 2 other managers with 6 engineers each. I have noticed that Theo is under a lot of stress and as one of the two senior engineers in my team I tried to support him with planning and organization tasks. Sadly, it’s reached a point where if Theo doesn’t calm down, the whole team might implode. Last week, after one mid-level engineer in my team surfaced that the two-week project he was working on was going to be delayed by 1 week, Theo called the whole team up for an emergency meeting. There, Theo screamed at us for 15 minutes and insulted us as a team and our work in general. The gist of it was that we are not real professionals if our estimates can’t be trusted and that Theo has given us too much freedom. Theo said that if we keep on behaving like ‘[expletive] children’, then he will start to treat us as such and sit next to us while we do our homework. After their screaming monologue, Theo refused to hear any response and left the meeting. Chatting with my team members, no one felt very motivated by Theo’s rant. I would like to approach Theo with some constructive feedback, but I fear he might not be in a very stable state of mind. I’ve never had a boss treat me like this in my 12 years as a SWE. What should I do? Is this HR worthy? Should I document it in some way? Is talking to my skip level an option? Thanks At the age of 36 I am having what feels like a midlife crisis. After grad school, I fell into a well-paying job at a giant Fortune 100 tech company and have been doing well here. I’m a senior engineer on my team and have consistently good performance reviews, but, I have zero passion for the industry. I have never been that into computers and I just don’t care about making them run faster! My spouse and I have enough money saved that I could comfortably afford to not work for a year. I’d really love to take some time off but I’m paranoid that I’ll never be able to regain my earning power. I’m the primary wage-earner in my family and my spouse makes about a third of what I do, so if I never go back to work then it will be a severe lifestyle hit, like having to sell our house and stuff. What do you recommend? Possibly-relevant context is that we had our first child just a few months ago and so I now have much more angst about wasting hours on silly meetings when I could be with my daughter instead.

Episode 351: Senior hoarding and layabout lead dev

April 10, 2023 27:37 23.07 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I’m not a software engineer, so you can stop reading here if you like ;-). I listen to this show every week as the soft skills you discuss are just as applicable to my role as an electronics engineer. I have 5 years of experience and in my opinion, the right level of competency to step in to a senior role. I recently started a new job and I’ve been encouraged by my boss to be more proactive in taking on senior work so I can be considered for a senior engineer promotion. The problem is, the existing senior engineers in my team are uninterested in sharing their workload with me. I will try to assist them with their senior-level tasks but it never lasts long as they will carry on with the work themselves after a short while. I’ve also been assigned senior-level tasks by my boss and when I’ve asked for small levels of assistance from the senior engineers they’ve taken it as an invitation to do the rest of the work for me. My boss is indifferent to my struggle as he only cares about the output of our team as a whole and not who does what. I know that I’m performing well as I was recently given a good performance review, so I don’t understand why I’m being denied these chances to step up. I don’t want to quit as I just started this job and the pay is good. But I also don’t want to just sit idly as a mid-level engineer while everyone I know gets promoted. What can I do? I am a junior dev and recently accepted a C2H position at a large enterprise company as a junior developer. I work closely with 3 or 4 other devs. Over the past couple of months, I have increasingly taken the lead on the project that I am working on, while the Lead Dev (also a C2H from a different agency) has taken a back seat and essentially stopped doing any work. The last time Lead Dev committed any code was over two months ago. Worse yet, Lead Dev is tracking time and marking tasks as “complete” in our work tracking software without actually doing those tasks. Lead Dev also approves all pull requests without reviewing the code, so I have become the de facto code reviewer for the other junior dev’s pull requests. I seem to be the main dev taking initiative on the project and trying to move work forward. Our manager is quite oblivious to this situation. They see that work is getting done, so have no reason to put our team under the microscope. I like Lead Dev personally, but I feel like my alacrity is being taken advantage of while Lead Dev kicks back and relaxes, and I feel like I have become a “Senior Junior” developer as a result. I think the “right” thing to do is to make our manager aware of the situation, but I don’t know if that’s necessarily the *correct* thing to do. If so, how I should go about doing so; if not, what else should I do? Help?

Episode 350: Bombing a technical interview and background vetting

April 03, 2023 33:10 31.78 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Hi, have you ever been through a technical interview and bombed a question? I did, and it feels awful, especially when the question was easy but I couldn’t focus due to time pressure and stress. Do you have any tips for dealing with interview anxiety, and get rid of the bitter feeling if the interview goes bad? Thanks! A listener Dustin asks, ‌ Do tech companies or recruiters dig into our individual backgrounds during the hiring process? Also is there a bias towards part-time courses vs. Full-time? To keep it short, I’m 28 and from 18-22, I was homeless and involved with specific substances. Ultimately got on my feet around the age of 23 and now I’m currently attending university, part-time while working full-time. I have noticed a bias from full-time students towards part-time and I’m wondering if this happens as well in regards to employers?

Episode 349: Performance review dissonance and being a remote manager

March 27, 2023 29:36 24.11 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I am a senior engineer looking to make staff. Every week at my one on one I ask my manager what I can do to improve and always receive the answer “keep doing what you are doing”, but when I receive my performance review, I don’t receive top grade or promotion and there are listed areas of improvement. How should I feel about this and what should I do? I’m a software group manager for a medium sized applied research organization that deals with both software and integration onto hardware. I am fully remote while the rest of the company has returned to the office due to the integration work with hardware. I started managing just before the pandemic. What are some effective strategies to deal with this setup? What are some typical gaps or issues to look out for? How can I reassure team members that may be skeptical of this setup, as well as peers and my bosses? I do have full support from above as of now. My rough thoughts so far include: be candid about limitations of this setup, experiment and iterate quickly on communication and collaboration processes, solicit regular feedback, and use it as an opportunity to grow members of my team into seniors and tech leads by having them focus on mentoring juniors and managing integration with other teams.

Episode 348: Making too many mistakes and low code career risk

March 20, 2023 24:24 22.97 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Hey Dave and Jamison, long time listener of the show. looking to get your advice on dealing with guilt at work. Lately, I’ve found myself in a lot of situations of having to deal with bugs/incompleteness after pushing out a feature. It’s not my intention to be careless and I do feel like I’m giving it my 100% but there seems to keep being thing after thing that I’m not catching. It’s impossible to sweep these things under the rug when you have to put up a follow-up pull request to fix something that was clearly your fault. I feel like every once in a while is okay but when it starts to become a pattern, I wonder how this may reflect on my performance review. My coworkers aren’t letting on about any frustrations they may have but every time this happens, I can’t help but feel shameful of myself and it’s causing my anxiety to hit the roof. I’m waking up for work each morning wondering what’s it gonna be this time and feeling pits in my stomach. Please help. What are your thoughts on low-code platforms? I feel they will end up like WordPress (small companies with the tools in a varying degree of spaghetti that pay a contractor to clean up) I found myself on a team that wants to use it, and I feel like it’s a detriment to my career. I feel like another employer won’t take me seriously in an interview as I try to explain my way around it. Is this something I should be concerned about being in too long? I’ve voiced my concerns, but it doesn’t seem like direction is changing. What would you do? How do you feel about low-code in general?

Episode 347: New untrusting manager and crappy project management

March 13, 2023 29:07 23.85 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Our small team where I work as a senior software engineer has a new engineering manager. They don’t trust me at all and verify simple technical things like how git rebase works, in the middle of meeting calls. I feel micro managed. Calling me on slack (slack huddle) without prior notice breaks me out of my flow. Recently they called an “Architecture meeting” and ended up talking about 2 spaces vs 4 spaces and other trivial stuff. I just felt like the facepalm emoji for the entire time of the call. They are technically good, but lack depth. For some reason they think know better than everyone else in the team. Unfortunately, they are my boss. How do I politely tell them, in a professional way, that they have to back down and trust the team? Any help would be highly appreciated. Thanks a lot. Federico asks, Hi! I’m a junior engineer. Our project managers are really crappy. I keep getting wrongly managed and “exploding” projects, where in the last days everything goes wrong with the client. Should I take a project management course so I can organize better my projects and discuss with project managers how to prevent this? I don’t know how to make them work like they should.