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 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
Episode 394: Scrum master, weapons master and minimum tenure to not look bad
In this episode, Dave and Jamison answer these questions: My team are about 4 months into transitioning from a scrum/kanban way of working to a more traditional scrum/sprint way of working. I feel like our scrum master is “weaponising” some of the scrum practices in order to show up weak points and failures in the team, rather than working with the team to ease us through the transition and make gradual improvements. In private conversations with me and some other trusted developers (lol jk I clearly shouldn’t be trusted as I’m writing in to Dave and Jamison) the scrum master speaks about how little refined work we have in our back log, and how they are looking forward to “exposing bottle necks” in the team. As they expect this will lead to pressure on our PO and Business Analyst and force them to step up their game. Whatever amount of work we bring into a sprint is law, and they forbid more tickets coming onto the board mid sprint (even if all the tickets are done half way through the sprint). If one single ticket is on the board they will try to block more tickets moving into ready for Dev as they believe we should all be focusing on getting the highest priority pieces of work into the done column. And they take no notice when I’ve expressed the issue with this too many cooks approach. They’re a nice enough person outside of a work context. But in work, it really feels like they’re setting us up to fail (and sort of releshing in it). Dissent is rising in the team, and everyone from all sides feels unhappy. Can you recommend any action I could take to prevent the failures that are inbound? For context, I am a junior developer working for a large company. Within my department we are split up into “SCRUM” teams made up of around 6 Developers, 2 testers, a scrum master, a Business Analyst and a Product Owner. The senior developers within the team have not taken any action other than to complain in secret about the SMs behaviour. Before the tech recession, I would recommend engineers stay at a job for 12 months before looking for a new job in order to avoid having the stigma of being a job hopper. But with the tech recession enabling employers to be more picky, is 12 months long enough? Or should engineers stay at a job for even longer than 12 months before looking for a new job?
Feb 5
29 min
Episode 393: Soft skills for interns and intern to QA
In this episode, Dave and Jamison answer these questions: NK: Hi, I am starting a SWE internship at big tech company in a few weeks. Given the current state of the market, getting a return offer has gotten harder. I have a few software internships under my belt at this point but I am looking to excel in this internship. My goal is to get a full time offer with high pay from this internship. What are the soft skills that are specifically important for interns? This is probably applicable to junior engineers as well. Hello Soft Skills, I’m a junior engineer who transitioned from an intern to a full-time role at my company a year ago. I anticipated training in development, but I’m stuck in a low-value automated QA role without proper leadership or team integration. My efforts to improve processes and change teams haven’t been successful, and I’m concerned about being pigeonholed early in my career. I need advice on how to initiate change with limited authority and create a competitive job application despite my limited traditional development experience.
Jan 29
27 min
Episode 392: Old code and choosing my annual reviewers
In this episode, Dave and Jamison answer these questions: We are a team of under 10 people who provide technical services to other departments of our organization. We use a tool that is built by my boss to supplement our work but it is crucial for the team to do actual work. The boss maintains it all by themselves and nobody is familiar with its code. The boss is going to retire in a year or two, nobody wants to learn the code of that tool and the team can’t do much without the boss as we are more or less just individual contributors writing standalone code and delivering it to other teams who asked for it. Only the boss attends the leadership meetings and the developers are completely unaware of the remaining processes that happen in the background, i.e., communicating with other departments to bring in work, and all that business stuff. I am afraid the team would break apart once the boss retires because nobody knows anything on how our team operates beyond within team level except for the boss. Shall I just plan for the job switch? It’s annual review season! When choosing reviewers, do I a) choose the reviewers that will make me look the best or 2) choose the reviewers who might actually give me actionable feedback? If it helps, I am on very good terms with my boss and his boss, as well as most of the C-Suite, and there is no way that I get either a promotion or fired in this review cycle. I have been a top performer in previous review cycles, but I expect that I won’t be reviewed so highly this time around.
Jan 22
26 min
Episode 391: Post-staff and direct or a jerk
In this episode, Dave and Jamison answer these questions: Hey guys! I’m a young engineer in a specialized area of infrastructure. I’m pretty good at what I do, and I’ve been through some leadership development programs, so I’ve advanced to a “Staff” role quickly, just based on observing the age of my peers. Tech titles are completely mysterious to me, so I’m wondering - how much “up” is there from where I am? What’s the top of the IC ladder? Do ICs ever become executives? The idea of being a manager and sitting in 1:1s for hours sounds awful to me, so I’m not excited about that side, but I’ve heard, allegedly, that there is room on the IC side for promotion as well. I’m a goal setter, and I kinda feel like I’ve hit a ceiling, so I don’t know where to set my target anymore. I don’t even know that I care about titles that much, but I very much like the pay raises that accompany them. Thanks! Johnny Droptbales: How do I tell if my manager is a direct communicator or a jerk? Should I trust my gut on this (he’s a jerk)? I’ve been working with my manager for a year now. He’s fairly fluent in English, educated, and keeps up with broad knowledge of our team/domain. He often connects different aspects of our work to discover discrepancies, bugs, and interesting ideas. I’m trying to wrap my head around his communication style. Here are a few examples that stand out: I refused to take on a new small project because I was concerned about meeting the deadline on my high-priority solo project. He gave me feedback that I missed an opportunity to demonstrate context-switching skills, which would look good for a promotion. I responded with my own reasoning, but he wasn’t interested and just moved on to the next topic. He insisted on a new weekly requirement for our on-call pager rotation, which is to come up with one idea to improve the experience. When I asked why asking for help on a problem wouldn’t be enough, he answered that he expected his engineers to have been hired for their critical thinking and leadership skills, and they should be able to demonstrate those. Recently he’s been leading weekly meetings to improve the on-call experience. He tends to ask very direct questions – we’ll look at a bug ticket, and he asks, “What is the root cause?” “Why do we do this?” “What are your ideas to solve this?” When pressed, he insisted this was a brainstorming sort of conversation, as opposed to a Q&A.
Jan 15
38 min
Episode 390: Fixing typos and Cassandra
In this episode, Dave and Jamison answer these questions: I’m a backend engineer at a large non-public company. I noticed a bunch of our emails and website riddled with typos. I can not claim that it is metrics impacting or impacting business, so I get that teams always deprioritize, but the overall feel just irks me. Many of these come from a CMS I don’t have access too, so it’s not like I could offer to help with code even if I wanted. When things like this are not in your space, any advice on how to up overall quality? Possibly Mute Senior Engineer asks, I’m currently a senior engineer in a really small startup, and I’ve been here just long enough that I’m deeply familiar with our flagship product in multiple areas - infrastructure, the guts of the business logic, our deployment patterns, our most common failure modes, etc. Unfortunately, I have to be involved in every project and pick the application up off the ground when it dies. As a result, I’ve become spread very thin, and I have to cut corners just to stay afloat (or I am specifically directed to cut corners to meet a deadline). Frequently (because of all the corner cutting), we run into two situations that really tick me off: I see bad thing on the horizon, talk to my team about it, am ignored, then bad thing happens and I get to have a crappy day fixing it I recommend a basic best practice, we don’t use it and do some coat hanger + duct tape thing instead, thing breaks, and I get to have a crappy day fixing it. I’m very tired of being on the wrong end of the consequences of our own actions. I pour so much into this job, but I feel like I need to go get my vocal cords inspected, because it’s like my teammates and my manager can’t hear me when I talk about the things we’re doing poorly that lead to bad outcomes. Quit my job? Or is there an easy way to deal with this situation that I’m just missing? I feel like I’m screaming into the void every time I have these discussions and get completely blown off with “oh that’s not important right now” or “oh that terrible thing could never happen”. Thanks in advance!
Jan 8
32 min
Episode 389: Sleepy and bureaucracy
In this episode, Dave and Jamison answer these questions: The Sleepy Engineer says, Hey SSE, how do you deal with drowsiness? I notice that sometimes when I am very tired at my desk and end up eyes closed head drooped down as I work which I imagine is a bad look for anyone passing by. During this time, I would either get coffee or stand up and walk somewhere which is a temporary fix but ultimately I am still very tired. I know in very few really big company HQs there might be a sleeping quarters if you plan to stay the night but my company is certainly ain’t one of them. Any advice on how to get through the day? Thanks for the great show. After seeing a hyper growth in 2021-2022, our company has become a bureaucratic hell hole. RFCs, PRDs, ADRs, reports. My manager (director of engineering) would request these documents but never read them. When someone doesn’t like the solution proposed, they have the option to say no and the project is blocked. But nobody (including the manager of the team) have the autonomy to say yes and move forward. How do you deal with this? Or is it time to give up and listened to the patented advice to quit my job? Show Notes https://www.youtube.com/watch?v=f84n5oFoZBc - hammock-driven-development
Jan 1
42 min
Episode 388: Money not compliments and principal engineer coding guidelines
In this episode, Dave and Jamison answer these questions: Hey guys, love the show. Not sure if its really a question or more of a confession. I’m an individual contributor at a software company with a few thousand employees. A lot of professional books/training courses I encountered over the years talk about the importance of positively acknowledging your employees/reports/team members when they do a good job. Most of them say that this sort of praise and other immaterial motivation is more important than material motivation (bonuses/raises). More and more, my higher ups had started trying to motivate us with public “pats on the back” for individuals and teams. They were never generous with the material motivation to begin with. Honestly, i find these pats on the back grating. I don’t need to be told “good job kiddo” to actually work hard. To be blunt, i want a raise and/or bonuses, not empty words. But material recognition is all red tape and budget constraints these days, so I dont actually expect much. The issue is that the immaterial motivation just reminds me of what is just out of reach, and thus just demotivates me. Is there any good way to express these frustrations to my manager without sounding like a materialistic greedy bastard? Which I suppose I am, but I’m tired of feeling like one. I’m a principal engineer working with two teams of developers who own a product domain that is being rewritten on an aggressive schedule. We’ve increased headcount over the past year but we’ve started having friction with some of the new hires. Its clear that they want more input into the patterns and coding styles used by the teams that were established prior to them joining. Unfortunately, this seems to come up in PRs rather than discussions and leads to push back from me and the tech leads on the teams. This has lead to our engineering manager commenting that they’re getting complaints about us being too restrictive and developer happiness being impacted. While I don’t want any of the developers to be unhappy, I worry that the EM is risking hurting the team as a whole by focusing on the happiness of one or two new hires. The Tech Leads are also starting to worry about what they are allowed to comment on in PRs. Help! How do I keep the devs from feeling underappreciated, the tech leads feeling empowered to lead, and ensure that the codebase stays consistent between repositories so all developers can move between services without feeling lost?
Dec 25, 2023
32 min
Episode 387: No juniors and manager forced to return to office
In this episode, Dave and Jamison answer these questions: Hello Dave and Jamison, I wanted to say thank you for your podcast. It’s been a great wealth of information and comic relief. Can we bring back the guitar intros? I work in the technology arm of a large corporation. There are no younger engineers. I am one of the youngest at just shy of 30 (my first tech job after going back to school). I receive praise for my eagerness to learn and grow and how much I try to engage with the org. I feel like if we hired more Junior engineers it would both increase the engagement of the org and give senior engineers more of a sense of purpose to pass the torch. One of my favorite engineers from whom I get the best advice has been here for over 20 years and they are awesome! I also get great advice from people on my team but some of them are cruising or in a “couple years till retirement” mode. Should I try to convince management to hire more junior engineers? Is there anything I can do to relate more to older org members? Hi Dave and Jamison! I’m an engineering manager tasked with getting the team back to an open office (hybrid). My team works very well remotely, with the occasional in-person meetup. I believe that in terms of productivity, work-life balance, engagement, and turnover, RTO will negatively impact the team. I’m torn between representing what I feel is good for the team and supporting the company’s decision. I’ve already expressed my concerns with management, and the overall sentiment seems to be that anyone who doesn’t like it can find a new job. Aside from this, I like my job, team and company and don’t want to quit over this. Any tips on finding a balance representing team needs and implementing higher-up direction?
Dec 18, 2023
32 min
Load more