415 episodes

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.

Soft Skills Engineering Jamison Dance and Dave Smith

    • Technology

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 414: Hot-headed PM and leaving without downgrading

    Episode 414: Hot-headed PM and leaving without downgrading

    In this episode, Dave and Jamison answer these questions:




    Cool-headed engineer asks,


    How do you deal with hot-headed project managers? I have a project manager in my team who really likes to criticize me, a project lead. Most recently, I was criticized for asking a dumb question to the users which they already answered a few months ago. They told me that I should check with them for all the questions going forward. (think: “Why did you ask that question?! Don’t you know that they already answered that?! Look at this message here: . Their intent is clear. Please check with me for all questions going forward.")


    It’s not the first time they scolded me either. They tried to pressure me to push the timeline even though I explained why it wouldn’t be possible. They made a false equivalence by comparing it to a similar sounding project that’s completed very fast but, unbeknownst to them, is very different to mine. (think: “Why was that project completed in three month but you need six?! Those engineers are working on the same code too. Please accept that you are not a strong engineer.”)


    I am demoralized after each time they scolded me. It’s my fault to an extent, but I think the criticism is too extreme compared to the mistake. I feel like they just want to let off some heat after their strong discussions and furious meetings with other people. I’m also a frail person and break easily; I want to learn how to handle hot-headed people and extreme criticism better so I can better speak for my team and not acquiesce to all their demands.



    Hello! I’m really fortunate in my current company. I have a great team, great workload that’s challenging but doesn’t destroy my work-life balance, and plenty of pay, benefits, and recognition. I feel this comes from having a really small group of proactive devs, and software is the primary source of revenue at this company so engineers are highly valued and appreciated. It really is the perfect place to be in.


    But I’m also really early in my career and I don’t expect or want to stay here forever. I’m coming up on my fifth year, and I’d prefer not to stay for more than 6-7 years because I want to continue diversifying my career. I know I’m leaving for the sake of leaving, but the reasons are sound in my head. All the past companies I’ve worked for have been decent but have been soured by being around 9-5 “That’s not my job” cruising devs, or upper management who say “Customer wants it tomorrow so just write the codes”. I don’t want to risk going back to that. What are some ways I can scope out a company during the interview process to figure out what their real culture is like?

    • 31 min
    Episode 413: Is my interview candidate cheating and my product owner is getting WRECKED by the client

    Episode 413: Is my interview candidate cheating and my product owner is getting WRECKED by the client

    In this episode, Dave and Jamison answer these questions:




    This is my first time conducting technical interviews (most of which have been virtual), and I had one interview where I had a strong feeling that the candidate was cheating. They breezed through the short problems I gave them, and they were able to explain their reasoning. But during the live coding problem, they sat in silence for five minutes, and when I asked them what they were thinking, they didn’t respond. Then they started cranking out perfect code without explaining anything.


    How do you address cheating in interviews? What if it turns out to be just nerves? I don’t want to assume anything, but I also wouldn’t feel comfortable confronting them about it either.



    I work as a team lead for a small group of 4 other devs. Our Product Owner is currently handling the requirements for new features to onboard a new large client. This involves them attending client meetings and generally isolating the development team from client shenanigans which is normally great, but it’s becoming INCREASINGLY obvious that someone on the client team has his number and he’s getting HORRIBLY out-negotiated. This has resulted in a bunch of missing requirements, changing requirements, last minute feature adds, and general confusion. I’m trying to push back, but the leadership team is coming back with “Well we promised…” and my entire team is stressing out. Note that this is AFTER we were already pressured to overcommit on capacity to get these “absolutely necessary” features developed for the client to go live.


    I like my PO, he’s a good guy and normally does good work, what can I do to help him stop from getting his butt kicked in these meetings?


    (Note: the POs are neither above nor below us in the org tree, our closest shared higher-up is the VP and I obviously don’t want to escalate it that far)

    • 32 min
    Episode 412: Work-life-team balance and getting code-sniped

    Episode 412: Work-life-team balance and getting code-sniped

    In this episode, Dave and Jamison answer these questions:




    Dear Skillet HQ,


    How would you negotiate a difference in work-life balance between teams?


    I love my job and my immediate team. We’re a tech group within a larger non-tech business, and it’s a fun problem domain.


    Our immediate team has some hard-won work-life balance, in part because it would be hard to hire anyone for the role if that balance wasn’t part of the equation. However, I worry about how to communicate differences when anyone we work with - all the people we’re building software for! - have an unbalanced schedule, because, 👋that’s show-biz 👋


    I even understand why other people have their role set up that way and respect it, but I don’t want to give up my balance either.


    How can I best handle the relationship when that difference is there?


    Love the podcast and the skillet-slack! Thanks for the advice, empathy and good humor.


    Tex Archana



    Listener Frustrated asks,


    My work keeps getting stolen in the name of code quality!


    I’m a new backend developer for a team at a large company. I’ve been with this team for almost 3 months now, and the company for over a year. We’re developing an application to replace a legacy system, and the current feature has fairly well described user requirements. The front end developers keep finding new implementation issues that require more backend development, so new tasks get added during the sprint. The longest tenure developer (LTD) on the team keeps finding better ways to implement these backend changes, but these ‘better’ ways sometimes don’t meet the newly discovered frontend needs, leading to longer development times. Additionally, the longest tenure developer often takes over the implementation work from me, which is frustrating! The longest tenure developer also sometimes becomes too busy to deliver everything in a timely manner!!


    Additionally, the state of software development maturity is very low, so I’m trying to advocate for more technical process improvements like CICD and using version control more than once per sprint! I am frustrated and finding it hard to keep up motivation when everything is such a mess, and the other devs defer to the longest tenure dev who pushes back on many of these things.


    My code quality is fine, but I haven’t yet learned enough about our application to be able to identify these larger, cleaner approaches. Every code review so far has had no issues with my code quality, but inspires the longest tenure dev to implement a simpler solution, and they often will take my tickets and repurpose them for the new work! I’m worried that if anyone looks at productivity metrics they’ll not look good for me, and it’s hard to say what I’ve accomplished so far.


    Is my frustration valid? Should I quit my job?

    • 33 min
    Episode 411: We have a secret org chart and I'm a big fish in a little pond

    Episode 411: We have a secret org chart and I'm a big fish in a little pond

    In this episode, Dave and Jamison answer these questions:




    Hi :-)


    I work as a Senior Data Scientist, and about half a year ago I joined a start up that was founded by a large corporation. And while this job comes with the perks of a bigger company - like good salary, paid overtime, … , - it also comes with its organizational overhead and politics:


    We are only about 30 people but already a quarter of us acts as managers. I write “act” because the official org chart is flat (with the CEO at the top and the rest of us directly underneath). The unofficial org chart is hidden and depending on who you speak with, you get their view point on how roles and responsibilities should look like.
    As a result, I’m left with putting together the pieces to build a picture that somewhat resembles the truth. So far, I’ve concluded that we have multiple (!) management layers, that there’s a power war taking place in the middle management layer, and that you can make up your own titles that mean NOTHING, because no one has any official, disciplinary authority over any one, but that are still to be respected! What a great opportunity for job crafting :-D


    To make things worse, I prefer and come from organizations that have a truly flat hierarchy. For example, I’m used to step outside of my role should the situation require it (like doing some managerial tasks, supporting sales, …) and that I can speak my mind, irrespective of what the title of the person is who I’m talking to. While this was beneficial in my previous positions, this does not work well here! And while I understand that adapting my behavior would be more in line with the company culture, I find this extremely difficult. On the one hand, because of the hidden org chart, on the other because we are all fully remote and I rarely see people from other teams.


    To avoid accidentally stepping on anyone’s toes, my current solution is to stick my head in the sand and focus on my coding. However, this leaves me disgruntled because I feel like I’m not being myself, and that I’m withholding a viable part of my skill set: to see the bigger picture and serve the company as a whole instead of just implementing tickets.


    Please help, I do not understand how this company works :’-D How would you navigate the situation? I don’t want to quit because, individually, my coworkers are super nice, and the work is really interesting.


    All the best 3



    Hi,


    I’ve been working at a well-known multinational company for a few years now. The entire time I’ve been here, the company has been well behind what I believe to be industry standards, but they have some great perks, which means it’s been really easy for me to create “wow” ideas (just do the same thing that everybody else has been doing for a few years).


    At the risk of sounding full of myself, I’ve noticed that I’ve created a critical person risk. There’s not only no push for me to train others in my work; things I thought were standard knowledge is entirely new to this team! I don’t want to become the trainer for a team that has no desire to learn new skills, and I don’t want to dumb down my work either. Is there a happy medium where I can build exciting new things and not create an absolute craphow when I leave? Should I even care about it since no one else does?




    Show Notes

    The Tyranny Of Structurelessness - https://www.jofreeman.com/joreen/tyranny.htm

    • 35 min
    Episode 410: Guaranteed cost-of-living raises and my manager doesn't like me

    Episode 410: Guaranteed cost-of-living raises and my manager doesn't like me

    In this episode, Dave and Jamison answer these questions:




    Hi Soft Skills!


    I’m writing to you as I look forlornly at my paycheck, unchanged for the last year and a half, and wonder if I’ll ever see market rate again. While I prepare my leetcoding skills for the trek that is your classic Soft Skills Adventure (quitting), I think about future interviews and wonder: how common is it to have something like a COLA clause in your employment agreement? Something like “Oliver will receive a raise of no less than the current CPI% per year”. Are there other ways to mitigate this, other than joining a company with more people and less greed? I don’t think I should have to beg for COLA-s with good reviews in hand. In fact I think those reviews call for raises!


    Thanks for bringing more joy to my life :),


    Mr Twist


    P.S. I am grateful I’m not paid in porridge and any reference to Oliver Twist isn’t to suggest Tech Salaries aren’t livable wages.



    Mr. Peanut Butter asks,


    I’m a senior IC at a small startup and I’m struggling to get along with an engineering manager. M has a say in my promotion and has already said no once, which was pretty painful considering the time and energy I’d spent helping their team succeed. I think there are two headwinds to M changing their mind 1) I’m FE-focused, and M’s conception of FE work is dated and simplistic. 2) M can be a bit of a blowhard. Said generously: M is a top-down thinker, quick to make conclusions, process-focused, and loves discussing architecture and design patterns. In contrast, I’m a bottoms-up thinker, pragmatic, plain-spoken, slow to make conclusions.
    M and I meet regularly to discuss cross-team matters, and it is my least favorite meeting of the week, even weeks that include dentist appointments. M sometimes devolves into lecturing me about software fundamentals (which I know at least a well as they do). I know from experience that there’s an M at nearly every company, so I’m reluctant to order up an SSE Special. How do I leverage this dreaded weekly meeting to turn M from a detractor to a promoter?

    • 34 min
    Episode 409: Fancy title to IC and CRUD is crud

    Episode 409: Fancy title to IC and CRUD is crud

    In this episode, Dave and Jamison answer these questions:




    Listener Shayne asks,





    I’m about to start a new gig after 8+ years at a company. I was an early employee at the current company and have accumulated a lot of responsibility, influence, and a fancy title.


    I’ll be an IC at my new company (also very early stage) but the most senior engineer second only to the CTO.


    What are some tips for this transition? How can I onboard well? How do I live up to my “seniorness” in the midst of learning a new code base, tech stack, and product sector?


    I managed to stay close to the code despite adding managerial responsibilities in my current role, so I’m not worried about the IC work. I really want to make sure that I gel with my new teammates, that I’m able to add valuable contributions ASAP, and that folks learn that they can rely on my judgement when making tradeoffs in the code or the product. Halp!



    I got into software development to become a game developer. Once I became a software developer, I found out I really enjoyed the work. My wife and I joined a game jam (lasting 10 days) over the weekend. I very quickly have realized how passionate and excited I get about game development again! But this has led to a problem - I would much rather be doing that. I find myself moving buttons around or making another CRUD end point a means to an end now, thinking about how I much rather be creating exciting experiences. How can I handle this? Quitting my job to pursue a pipe dream just isn’t feasible.

    • 28 min

Top Podcasts In Technology

TikTok
Catarina Vieira
Genius Bar
Audioboom
Tiktok Downloader 4x
Tiktok Downloader 4x
Search Off the Record
Google
Telegram Is The Future
TelegramIsTheFuture
Apple Events (audio)
Apple

You Might Also Like

The Stack Overflow Podcast
The Stack Overflow Podcast
The Changelog: Software Development, Open Source
Changelog Media
Compiler
Red Hat
Software Engineering Daily
Software Engineering Daily
Coding Blocks
Allen Underwood, Michael Outlaw, Joe Zack
Software Engineering Radio - the podcast for professional software developers
se-radio@computer.org