Soft Skills Engineering
Soft Skills Engineering
Jamison Dance and Dave Smith
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 404: Interview comedy and talking pay while new
In this episode, Dave and Jamison answer these questions: “Hello, Is it considered ok to be a bit funny during an interview? To give more context: In a recent interview, I progressed up to the final cultural-fit round after clearing all technical rounds at a well-known company. One of my interviewer asked how I would deal with conflicts with a peer. In a effort to lighten the mood, I jokingly said I would snitch on them to my manager. I saw the faces go pale on the zoom call. So I backed-up and explained I was just joking and gave them an example of an instance where I had to deal with a conflict. The story didn’t help much to make my case, as there was some “snitching” involved in it. But in all seriousness, if I had a conflict in the past and have reached out to my manager to help diffuse the conflict, is it considered a bad thing. How do I make it sound like a good thing during culture-fit interviews? By the way I didn’t get an offer from them. Can’t help but think I goofed-up the culture interview. Thanks for your time and help.” I recently started my first full-time job out of college. I earned an engineering degree but took a job with a company in a more management/ business development/ leadership track. Now I’m the only person in a department with an engineering degree.I’ll be here for a couple of years before they move me into the next role in my track. In a casual conversation about going back to school, one of my coworkers jokingly mentioned they would get free school at a local university because they made less than X dollars. This threw me off, as I (having started less than 3 weeks ago), make more than X dollars despite us having the same position and them having worked in the department for almost a year. Should I say anything, or just assume that the difference in pay is due to the fact that I have a technical degree and am on a leadership track while they are in neither? I’ve been told it’s mutually beneficial to discuss salary with your coworkers, but I’m afraid to shake things up at my very traditionally run company in my first month here. My pay corresponds directly to the starting pay that an engineer in a design role in my company would be making and I think I was given this pay so not to discourage me from taking a role in the company in favor of an engineering job with engineering pay elsewhere.
Apr 15
28 min
Episode 403: Massaging the software and career never-never-land
In this episode, Dave and Jamison answer these questions: I’m a bootcamp graduate working on a career shift from massage to software development. How much of my previous career should I bring into my résumé? I’ve been building projects in public, and doing open source contribution in a part-time capacity for the past two years, but ultimately have not gotten very many bites on my résumé that resulted in interviews. It’s something like three skill tests and one for roughly 800 applications at the moment? That’s a guess. That’s basically the gist of it. Thanks! Curious Coder Tries Tech Transition Listener Joshua says, I’ve done a number of things in my career, from Java to web dev on PHP and Angular/Node to low code development on Ignition SCADA and UIPath RPA . Because I love learning technologies and I want to go where the money is, I keep hopping to new teams. This usually comes with a decent pay bump, but it’s a lot of rescue operations and self-teaching. This doesn’t feel like a career path, and always being the junior team member sucks. I’m often studying for certs trying to meet the requirements for the job I’m already doing or being the senior dev on the team while still a Junior. I get that I’m relatively new to each team, but I’m also punching above my weight consistently. It feels like I’m always having to jump through hoops to get the title and pay for the level of responsibility I take on and it feels like my mixed-up background is the reason why. How can I pitch a 10 year career of wearing all the hats all the time to get better results? How can I avoid being on teams where all my coworkers think I’m a guru and I’m building all of the architecture, but my manager goes “gee, I don’t know if you have the years of experience to be a Senior”? I’m looking towards Architecture as a long term goal and I’m wondering if there’s a way to spin this skillset towards that goal. Can you get Architect if you aren’t a certified black belt in highly specific tools but rather a demonstrated improviser? What is a jack-of-all-trades supposed to do? Thanks, love the show, your advice and the fun relationship you guys bring to the conversation.
Apr 8
31 min
Episode 402: It's all on fire and title inflation
In this episode, Dave and Jamison answer these questions: Happy Birthday Dave and congrats on the 400 episode milestone! Last year I was recruited away from my cushy Sr Dev role at Chill MegaCorp to an exciting technical leadership role at Fast-Paced MegaCorp. It felt like a huge level up since I had always wanted to pick up some of the softer communication and leadership skills to add to my arsenal while still working on technical problems. The 30% pay raise sealed the deal. Fast-foreward one year and I am burnt out, feeling disengaged and thinking about quitting. Compared to my previous role, everything here is urgent and high priority. There is little structure on my team, no planning or intake, and we just react to emails and pings from other teams about things not working. Our Sr Dev is very knowledgable but often gets short and impatient with me. My Sr Manager has said things like “sleep is for the weak” and frequently sends emails in the middle of the night. We have weekly evening releases that have gone till 4am. We are expected to always be around in case of a production incident – which happen very frequently because of the sheer complexity of everything and high dependency between internal services. I have considered moving to another team, but unfortunately this seems to be a company wide culture. I am considering cutting my losses with this company and moving back to an IC role with better work-life-balance. I am grateful for all the leadership skills I have picked up this past year and learned a ton in such a fast paced environment, but its been a whole year and I still haven’t gotten used to the “always on” culture and overall chaos. Is it normal form someone to shift between management and IC like this? What do you guys recommend? Hi Dave and Jamison, thank you for the show. It is the engineering podcast I look forward to most every week. I work at a company that, maybe like many others, has lots of title inflation. As a result, my title is much higher than it would be at a larger (and public) tech company. For example, “senior” may be one or two levels below senior elsewhere, and “staff” would be “senior” elsewhere. We also have “senior staff”, which might be “staff” elsewhere, but more likely that might just be a more senior “senior” engineer, too. My question is: How should I consider approaching a job search where I am knowingly (and reasonably) down-leveling myself in title? Should I include the relative level on my resume (for example, “L5”)? Should I not address it unless a recruiter or interviewer asks about it? Briefly mention the seeming down-level in a cover letter as comparable responsibilities and scope as my current role? I have worked hard for my promotions, because salary bands required the title change for the money I wanted, but now I am worried it will complicate applying to other companies. (Thank you for selecting my question!)
Apr 1
32 min
Episode 401: I AM the superstar and pro-rated raise
In this episode, Dave and Jamison answer these questions: A listener named Metal Mario asks, A few weeks back in Episode 395 you talked about working with a superstar teammate. I feel like for our team, I’m the superstar. We’re a small software team in a large non-software company. I joined a year ago and very quickly took on a lot of responsibility. I think I’m a fantastic fit for the team, received *outstanding* feedback in my annual review as well as during the course of the year, and I get along great with my teammates. However, there are two problems. I joined the team on a lower salary compared to the rest of the team. I was initial ok with it because I changed to a completely new tech stack as well as a new role. Now I strongly feel like I should earn more than my colleagues. My boss hinted that he agreed in my annual review. I fear that by me joining the team and demanding a substantial pay raise, the cake gets smaller for the rest of the team, and that they feel like me joining the team prevented them to rising through the ranks. The second problem is related: a colleague of mine (mildly) complained that he lost responsibilities to me since I’ve joined the team. I talked to my boss about that, but given that things have been going very well, my boss would like me to keep doing the tasks. Again- I’m worried that my colleagues might get spiteful with me. Would it be better to take it down a notch (in order not to endanger team happiness and keep things stable for the company), or should I perform to the best of my abilities all the time? Impoverished By Pro-ration asks, Is it reasonable for a company to pro-rate raises for new employees? I recently received a raise that was smaller than expected as part of a promotion I got 9 months after joining the company. I joined halfway through the year and was under-leveled, so I quickly was put up for promotion, and got it! My raise was about half what I expected, and when I asked HR, they told me that the policy is to prorate raises, so because I joined halfway through the year, I only get half the raise that the promotion should come with, so instead of the 20% I was expecting to bring me up to the salary range of the job level I originally applied for, I only got 10% and am now making less than I think I should. Have I permanently crippled my lifetime earnings?!? What can I do to get the company to pay me appropriately? I understand if bonuses are pro-rotated, but why would raises also be pro-rated?
Mar 25
30 min
Episode 400: Underperforming intern and upskilling
In this episode, Dave and Jamison answer these questions: I’m a junior software engineer who has been placed in charge of a handful of graduates and interns who have joined my team. The project is fairly technical. For the first two weeks, the new starters were pair programming. That went well, and after talking to each new starter they were eager to start working individually. We’re one month in and I’m concerned about the performance of one of the engineers, “Morgan” (fake name). Morgan has completed a degree from a good university we often hire from but appears to lack any knowledge of software development. As a result, Morgan seems to struggle with researching and working through problems beyond following tutorials. I got the impression that while pair programming Morgan didn’t contribute much. Is there anything I could do to give Morgan the boost needed to start rolling? I’m sure I could spoon feed Morgan, but it would monopolize my time when I’m already spending time with the other new starters on top of my own tasks. I want to give Morgan a shot, but I don’t know what to do. At what point do I tell my manager about my concerns? Things I’ve encountered: When told to insert a colon to fix a syntax error, Morgan didn’t know what a colon was. Morgan didn’t take any subjects at university on data structures or algorithms, which made it hard to explain the tree used for caching. Morgan wanted to do some DevOps having done some at university. Morgan appears to have no understanding of Docker. Morgan said they studied React at university but has demonstrated a lack of understanding to write React code. The last issue Morgan worked on required them to read some source code of a library to verify its behavior. Even after explanation Morgan didn’t understand how to find the calling ancestor of a given function. Morgan has never heard about concurrency. Even all these issues in aggregate would be fine with me, but the continual resemblance and behavior of a stunned mullet isn’t encouraging. After being told to research a concept, Morgan must be told the specific Google query to type in. Thanks, and apologies for the essay! Listener Confused Cat asks, I spent just over four years on a team where technical growth was lacking. Recently, I transitioned to a new team within the same company, and I’m enjoying the atmosphere, the team dynamics, and the opportunity to engage in more challenging software development tasks. Fortunately, my motivation is beginning to resurface. However, I’ve noticed that my technical skills have become somewhat rusty. While I can still deliver systems and features, I feel like I’m falling behind compared to some of my peers. This self-awareness is causing me to doubt myself, despite receiving no negative feedback from my current team or supervisor. It’s not just imposter syndrome; I genuinely feel the need to upskill. How can I navigate this situation effectively? What strategies would you suggest for advancing my skills while holding a senior position and preventing feelings of inadequacy from affecting my performance?
Mar 18
32 min
Episode 399: Higher paid than my boss and crossing over to management
In this episode, Dave and Jamison answer these questions: Listener Jim asks, I am currently a senior software engineer in a well funded (but not profitable yet) startup. I am highly effective and well regarded, to the point where the tech lead also comes to me with questions and always takes my technical input onboard. I also get along very well with the rest of the team and with my manager. I am confident that I am in a good position to bargain for a decent pay bump, however there’s a chance I might be asking for pay that exceeds the salary of the tech leads or even my manager’s. Would it be a hard no from the start if that’s the case? Do you know of situations where certain people were paid higher than someone from a higher position? Thank you, I’m loving the show! I did it. I crossed over… I’ve been a software engineer for nearly 25 years. I worked my way from junior to senior, staff to principal, and for the last six years I’ve been a technical articect. I’ve been very deliberate in my caraeer path and told myself that I would always be on the tecnical side of the wall rather than the managerial side. Most of my boses over the years have been former technical folks that just seemed to have step off the technology train at some point. Maybe they couldn’t keep pace with the rapid changes in their older age, or maybe they just didn’t like IC work, who knows? But I always had this feeling about them, like “they just don’t get it anymore”, or “their technical knowledge is so outdated, how can they make good decisions”? Much like a teenager looks at their parents who stepped off the fassion train many years prior and now doesn’t want to be seen in public with them. Well, I just accepted a job leading a team; with headcount, and a budget, and the works. It was not the role I really wanted, but in this market, I didn’t have a ton of choices. It’s billed as sort of a hybrid Architect/Manager role, but it *feels* like I crossed a threshold. I feel like my future will be that of a retired race horse living out the last of his days if the middle-management pasture. So, 2 questions: What can I do to not become a hollowed out shell of myself as the technology train eventually starts to out pace me, and eventually speed away at ludicrous speed, because I’m not “doing it” every day Is this just the envitable for every SE? I mean, I don’t see a lot of 70 year old coders, so this is normal, right?
Mar 11
30 min
Episode 398: Tech lead for contractors and how to detach my ego from my work
In this episode, Dave and Jamison answer these questions: How do you mentor a junior-level contractor? My company has been hiring a lot of contractors lately. Sometimes they hire out a full team form the contracting shop to build a particular feature. Other times, it’s an individual developer, but with the same general mandate: implement some specific set of features from our backlog over x number of months, then move on to the next project somewhere else. Generally this happens when we have extra budget that needs to be spent for the year, etc. It works well enough when the contractor is experienced and able to self-direct and focus on just getting the work done; but sometimes the contractor is less-experienced and needs lots of guidance and mentorship. Hiring and mentoring a less-experienced full-time developer is a long term investment. Over time that person will become more productive and hopefully stay with the company long enough to provide a net benefit. But when the person is only contracted for a short time, it seems we’re effectively paying the contracting agency for the opportunity to train their employees for them. As a senior engineer / tech lead, should I devote the same amount of time to mentorship and growth of these contractors, or should I just manage their backlog and make sure they only get assigned tasks that are within their ability to finish before the contract runs out? Hello, I have a really hard time not attaching my identity to my work. I know I’m not supposed to, but i really take pride in what I do and i feel like if I don’t, my performance would take a hit. But where this really bites me is taking it really personally when things go wrong (like when a customer submits a bug report and I find that it was something I wrote, or when I take down prod and have to involve a whole bunch of C suite people to address and post mortem the issue). I understand humans make mistakes but it eats me up so much inside every time. I know all these things but I have a hard time really internalizing them especially when things go south at work. What are some practical ways I can train myself to approach things without emotion?
Mar 4
28 min
Episode 397: Skunkworks and too much work/life balance
In this episode, Dave and Jamison answer these questions: Listener Davide says, I have a lot of ideas for significantly improving manufacturing processes, but management wants us to focus on business “priorities”. These are fun tasks such as making sure part numbers are replicated in two disconnected systems that have no way of talking to each other. Makes getting Master’s degree feel like time very well spent. I end up setting aside some time and doing the legwork for my improvements in secret, and showing my boss when the solution is 90% there. I have a fear that they think the solution appeared out of thin air and required no work, but also if I told them in advance I was going to spend time on it, I would get told off and forbidden from doing it. Am I alone in this? Am I stupid? Should I quit my job? Have I written too much? Is the world really relying on a handful of Excel spreadsheets which are keeping us one circular reference away from total annihilation? Thanks for reading this far, and greetings from a listener from some place in England. Sorry for the long question and thanks in advance for any help or advice :) I’ve been working for a small 20-year old B2B company. It makes money. The work-life balance is amazing. Our workdays are 6 hours, and we are remote. On busy days, I may work 3 hours a day. So everything is great. But I hate it. I have no interest in the product. Everyone picks one ticket and goes to their corner to fix it. No collaboration unless necessary, which is rare because there are no complex challenges. I feel no one in the company is ambitious technically. It feels like I’m not growing and learning. My previous company was the exact opposite. Brilliant invested colleagues. Lots to learn and I was always inspired to work with them and learn from them. I felt like the stupidest person in the room. They cared about technical decisions and problems a lot. It was as close to my ideal workplace as it could be (the product was meh, and the management sucked). But I got laid off after 5 months of being there. Now whenever I talk with anybody about how I feel demotivated, and lifeless, and want to move on from this company, they say I’m crazy. And if I’m looking to learn and grow I have all the time in the world. I want to be in an environment that challenges me, inspires me, and pushes me to learn during work hours at least. I fear that if I stay here for a few years, I will not have the experience and resume needed to move to a company like the one I was in before I got laid off. Am I wrong to want to move out of this company in this situation?
Feb 26
25 min
Episode 396: Enthusiastic scope creep and human search engine
In this episode, Dave and Jamison answer these questions: I’ve recently started a new Gig as a Senior Developer/Tech Lead at a company where we are our own clients, using the software we develop in-house. I’m encountering a bit of a hiccup, though. Our product owner, is primarily focused on support and doesn’t provide formal Acceptance Criteria. This means I spend a lot of time sending follow-up emails to confirm our discussions, drafting these criteria myself, and handling the management of boards and work items. Another challenge is our product owner’s enthusiasm. He’s full of ideas and tends to expand the project scope during our meetings, perhaps not fully realizing the additional development work and the impact on our timelines. I sometimes think that if he wrote down his thoughts, it might give him a clearer picture of the challenges we face in development in keeping up with these changes. I’m in a bit of a quandary here. How can I gently nudge him to take on some of these tasks, or should I discuss with my boss how this is taking up about 1 to 1.5 days of my week? While I’m more than willing to handle it, especially with the prospect of moving into a management role, I also don’t want to set a precedent that creating Acceptance Criteria and managing Work Items are part of a developer’s job scope – at least not to this extent. Any thoughts? Sean asks: Hi Soft Skills Engineering, I love your podcast and I have a question for you. I have a very good memory and I can recall details from a long time ago. This sounds like a great skill, but it also causes me some problems at work. Often, I get asked questions by my colleagues or my boss that are not related to my current tasks or responsibilities. For example, they might ask me about the content of an email that they sent or received a year ago, or the outcome of a meeting that I attended (but also did they). They ask me because they know I probably remember, and they want to avoid searching for the information themselves. This annoys me because it interrupts my work and makes me feel like a human search engine. I want to be helpful, but I also want to focus on my actual work. I can’t redirect them to my boss, because he has a very bad memory himself. How can I deal with this situation without being rude or lying about my memory? How can I set boundaries and expectations with my colleagues and my boss? And without gaslighting them into thinking I already answered their questions, of course. Thank you for your advice.
Feb 19
35 min
Episode 395: Super star teammate and Getting better with no financial incentives
In this episode, Dave and Jamison answer these questions: Listener Bobby ForgedRequest asks One of my coworker, who is the nicest, most humble person I’ve ever met, is about twice as productive as I am! They’re super-uber productive! They close about 2-3x as many tickets as I do during the same sprint. For reference, I’m a software eng II and they’re a senior dev. Their work is very solid too, and they’re not just selecting easy, 1 point tickets to pad their stats. How do you cope with a super star teammate like this? Do I direct more questions towards them to slow them down? Do I volunteer them for more design heavy projects? Jokes aside, I’m curious if this is something that you’ve seen in your career, and if you were a manager, would this make you feel like the other, not-super-uber-smart teammate, is just not doing enough? Is the answer as simple as “well, sometimes people are just very, very gifted”? In my previous job of 5 years, I worked only 3 hours a day due to a low workload. Seeking a change for career growth, I switched jobs a few months ago, exposing myself to new technologies. Initially stressful, the pace has slowed down, and there’s no external pressure to learn. Despite getting praise and raises for minimal effort, I aspire to be a smarter software engineer. How do I motivate myself to learn and step out of my comfort zone when there’s no apparent reward, considering I’ve easily found new jobs and advanced in my career without exerting much effort?
Feb 12
31 min
Load more