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 279: (Rerun of 220) Premature leadership push and credit and status
This is a rerun of episode 220. In this episode, Dave and Jamison answer these questions: Questions Hello, I know you said you don’t read the compliments on air most of the time but this podcast is great. I just found it a few weeks ago and I love the positive fun approach to question answering. It has really made me think about software engineering outside of the ““make code do thing”” box. Anyway, the question: I have been at the same company for 4 years. It is my first job out of college. I have ended up working in so many different languages and frameworks I don’t remember them all. I guess that’s just how things go. Recently I have been selected to take on a scrum master role and I feel I am quickly being groomed for management. That was never really my goal. I wanted to build a depth of knowledge and always have my hands on code. Will taking on these kind of roles hurt my chances at future technical roles? Am I dooming myself to managing spreadsheets and Jira tickets until I retire? Will I only communicate in Dilbert references? My teammate frequently gives status updates or fields follow up questions about work that was mostly done by someone else. I am pretty sure they do this to be helpful not to claim credit for all the work. I just wish I could speak up about the work I contributed primarily to before they do so on my behalf. I wish it didn’t bother me since we are one team and I would rather focus on the progress of the team rather than receiving credit. How should I respond to these situations in a way that allows me to not get bothered emotionally and also do what’s best for the team?
Nov 22
33 min
Episode 278: PM to engineer and pressure to stay after quitting
In this episode, Dave and Jamison answer these questions: Questions Many engineers want to go into product management, but I’m the reverse - a product manager who wants to move into engineering. What advice would you give to someone pursuing this path? How would you recommend I spend my time while jobfinding? What type of job should I be looking for? I have a computer science degree but I’ve worked as a PM for 10 years, so… it’s been a while. I’ve pursued various side projects over the years and have a basic working knowledge of lots of things (e.g. android, ios, react, python, computer vision, firebase/serverless functions, databases, algorithms/data structures) but not much depth in any area. I know one option is to convert at the company you’re already at. Take that off the table for a moment and say it has to be at a new company. I recently just quit my first tech job for higher pay at another company. Upon turning in my two weeks notice, my boss coxed me into agreeing to work as a contractor to finish a project I’ve been working on. His argument is that no one else on the team has been involved in my project, is familiar with the tech stack, and has any time to help anyway. I’m finding I don’t have time after the 40 hours I’m putting in at the new job but don’t quite know how to sever ties. I feel like I’m the bad guy. Family and friends all say that It’s not my problem and I should move on… being familiar with the project and company, I can’t help but feel differently. How can I sever ties and get over the feeling of being the bad guy, especially after kind of leading on my employer about contract work the last two weeks, or how can I convince family and friends that this is something I should do to avoid burning a professional bridge.
Nov 15
35 min
Episode 277: Super long code reviews and replacement laptop
In this episode, Dave and Jamison answer these questions: Questions My company recently had a kerfuffle where some teams felt that reviewing a PR in less than 3 weeks was an unreasonable ask. As such, the company is trying to come up with guidelines for cross-team asks. The current proposal is for work of 1-2 hours they will commit to an SLA of 6 months. I feel this is a polite way of saying no to any request. Are there any ways we could come a more reasonable agreement on this? Hi, my laptop has died after upgrading to MacOS Monterrey and I’ve been given a 2017 Macbook with poor specs as a replacement due to no fault of my own. I’m at a startup of around 100 employees and I don’t think we’ve got a mature set up in terms of getting replacement machines. I’m a Senior Engineer and need a speedy laptop for my intense role. It’d be faster for me to use my personal MacBook than using the replacement, but I don’t think that would be allowed. How would you suggest I go about requesting a replacement MacBook with specs that fit my role? Do companies have budgets set aside for these expenses? Thanks
Nov 8
33 min
Episode 276: Startup or big company and negotiating your exit?
In this episode, Dave and Jamison answer these questions: Questions Hi guys, I’ve been listening for a few months now and am dissatisfied with my current work, where I’ve been for a year. I come from a research background, and now doing an engineering job at a B2B SaaS company is leaving me wanting a change. Moving between teams is not an option, so I plan to move companies early next year. My problem is that I don’t know whether to look for another large or mid-size company (I’m finishing final rounds at Facebook and Palantir), or go to a startup where it is likely to be more interesting (I have an offer to be the lead engineer at a very small startup, where there are already 5 developers). I have one year of industry experience. If I go to the startup, will it negatively impact my career in the future if/when I want to move elsewhere? Would it be easier to move elsewhere, and get a better offer or a higher position, if I work at Facebook or Palantir instead of this startup? Also, while I prefer research, I’m not in the position to go back to grad school and finish my PhD (I finished my MS and left to work) for monetary reasons, so I need to move to another engineering position. I’ve often heard of senior employees “negotiating their exit” instead of resigning/quitting, with rumors of large negotiated payouts. I assume that’s just a select group of people who can, but I’ve never seen much written on that. What is the situation where you can do this? How do you set yourself up for being able to get a payout like this?
Nov 1
28 min
Episode 275: Take-home tests and doing my own recruiting
In this episode, Dave and Jamison answer these questions: Questions I’m a developer responsible for hiring other developers for my company. I’m comfortable interviewing and I feel like I can get a good grasp on whether the interviewee is technically competent. My boss wants us to give a take-home technical test to people after the first interview if we’re happy with how they interviewed and want to proceed further. The current technical test is time-boxed and is designed to represent the work they would do at our company. I worry that we ask for too many requirements within the current time constraint of 2 hours, but asking for more time will put people off completely. What can we do to make sure the technical test is fair and a good experience for candidates? Hello Dave and Jamison, I am a team lead at a rapidly expanding company. We have been trying to fill open head counts (>4) for over a year now, and our team is also handed some very important and promising projects, and because of that, even more open reqs for our team. Recently in our 1:1, I was pressing my manager to fill the openings ASAP but he told me our company recruiters are so busy that our team don’t have any dedicated recruiters, and my manager have been sourcing candidates himself for almost a year now. I was surprised by that and offered to help. I had read some materials from the recruiting team, got the tools set up and ready to cold email people I found on LinkedIn. My question is, how do I approach them in an authentic manner? I am proud of my company and our products, but how do I reach out to them without letting them know my primary motivation is get more team members to do the work so I can get more sleep? On the other side of the table, I feel those recruiting emails are cold and a waste of my time. So looking at the funnel I built, I don’t know if I can bring myself to start spamming others’ inbox.
Oct 25
34 min
Episode 274: Announcing resignation too early and why are my ideas rejected?
In this episode, Dave and Jamison answer these questions: Questions I’m a technical lead and I’m planning to take the usual advice and quit my job. The catch is, I have a not-yet-vested interest in staying until the new year. My manager mentioned in passing that he’s doing resource planning for my team for next year. Should I indicate that I’ll be looking for work in the new year? I feel like I have a guarded relationship with my manager, so I don’t feel like it’s a safe space to say just anything. But I know it would be helpful for him to know that I’m leaving. I work at a consulting company and I’ve been outsourced to one of the biggest banks to work on their iOS application. My problem is every time I propose a solution, it bounces back and is never accepted. In my opinion our way of doing things is wrong and I lost motivation and enthusiasm to work on the project. I shared my concerns and thoughts and always got the pat on my back but never found a solution. In these kind of situations, how do you motivate yourself to keep going? Should I look at it as improving my people management skills or should I quit? Thank you both of you. I don’t feel alone when I listen your podcast and I’m simply thankful your existence.
Oct 18
24 min
Episode 273: Influencing people and getting a raise in a flat org
In this episode, Dave and Jamison answer these questions: Questions Listener Anonomomonous asks, How do you influence people and change minds? I work on a team where things often happen by inertia. I have a lot of ideas about how to improve our process, scope our work better, collaborate more effectively etc. I’m comfortable with sharing my concerns and suggestions with my manager and the rest of the team but the opinion of any single developer is usually politely noted and ignored. As an individual contributor, what’s the best way to influence the rest of your team and your manager without being the overly critical toxic person who tries to shut down every idea? For those who work in a “flat” hierarchy structure, is it unreasonable to ask for a 30~35% pay raise? Normally that would sound like an absurd ask. However, given the fact that everyone is considered an “engineer”, the higher compensation that comes with a promotion isn’t available any other way than explicitly asking for it (as far as I know). Not looking to jab an employer for more money, especially since I like my current one, but since what I’m doing on a daily basis sounds an awful lot like the senior engineer positions I hear about, I naturally would like my pay to reflect what I do. What do you suggest?
Oct 11
25 min
Episode 272: Consistent or shiny
In this episode, Dave and Jamison answer these questions: Questions A few years ago my team chose a niche SPA framework (Aurelia) for the front-end of a large multi-year new product development. The team started a new product in the same family. I chose to continue using Aurelia. However, some of the developers on the team have suggested using React - newer framework, easier to hire/retain for, etc. I personally feel that focusing on solid foundational css/html/javascript skills is more important than the actual front-end framework used, but perhaps they have a good point when it comes to retention and hiring. What do you think?
Sep 27
30 min
Episode 271: Too quiet and quitting too much?
In this episode, Dave and Jamison answer these questions: Questions Listener Lisa asks, Hi Dave and Jamison! How do you answer the statement “You’re very quiet. Like really quiet”? Me? I tend to give a small smile or recently, I said “I know.” I’m a software developer in a large defense company and I’m on my third and final year of my rotational program. I just rotated back to the same area as my first rotation, so I know a couple of folks. However, I’m not SUPER close to these people. My team is fairly new, but most of the members started at the same time, unlike me, who started just three weeks ago. I want to try to know people and get close to them, but at the same time I know my energy lowers after a couple interactions. I have always been known to be quiet, but I don’t want to be known as the odd developer out on my team. The team seems to already know and like each other. I still talk, but only when I have things to say. I tend to stick to doing actually work, while others walk around and talk to people. Especially in the environment I work in, I assumed that we should limit ourselves to mostly chargeable time because we would have to make up the time we spent talking about unrelated work topics. It also doesn’t help that most of my team sit around each other, while I’m in a separate area. I think it would just be awkward for me to stand over their area just to talk, then having to make up that time later on. Should I just accept that I’m mostly an introvert even though I want to belong/to be part of the team? I feel like I want to talk to everyone, but at the same time I sometimes can’t relate to what they’re talking about or I’m just not interested in some of their topics. Aside: I feel like there’s a lot of extroverted developers here and it’s different from what I’m used to. Hiya! I haven’t listened too all your episodes, but out of the ones I’ve heard, it seems like you both suggest quitting our jobs. How many jobs have you quit? My dad had told me a couple years ago (when I was looking for a job) is that if you quit too many times, potential employers would think that you aren’t committed or are only looking to get more money. Is this the case? Will companies think that if I quit multiple times?
Sep 13
31 min
Episode 270 (rerun of 227): Junior expectations and manager flakiness
In this episode, Dave and Jamison answer these questions: Questions What should I expect from a junior develop, and how can I help them grow? A junior developer joined my team of 4 a few months ago. He has learned things at a reasonable speed but it is still hard for him to implement new features without any help or existing code to copy. In past jobs, I usually gave juniors simple, easy tasks, but we don’t have that simple tasks in my current job because we’re working on complicated internal systems. Also other junior developers spent lots of their private time learning. I don’t think this junior has spent any time learning in his private time. I don’t want to ask them to learn in their private time, but I just can’t help feel annoyed about the fact that he still cannot pick up a well-defined task in our backlog and complete it by himself. I think he really needs to take some time learning some basics like networking and some skills like keyboard shortcuts of text editors. I know there is lots to learn. However, sometimes I lose my patience when I have to repeat myself. In addition to lack of knowledge and skills, I feel that he always waits somebody to tell him what to do and explain everything to him. I tried to tell him the whole picture of the project before explain a specific task, but I couldn’t see any improvement. What could I do to help him (or make myself feel better)? I’ve worked with 3 managers in the past 2 years at my first company and all of them seem to have trouble producing results from team meetings and one on ones. More specifically, my managers have mentioned things/events/changes they would plan to do with the team or me and several weeks/months go by and the idea is never mentioned again. At times it felt like maybe it was me that was unable to produce the outcomes of said ideas or that maybe I was some sort of a lost cause. However, my most recent manager doubled the ratio of ideas:results, so I don’t think it’s just me. For my one on ones, we have a long running list of things we talk about and even the trail there doesn’t seem to amount to anything. How do I hold my manager accountable for things they say or plan to do? How do I bring up these conversation on one-on-ones without making it seem like I’m the one managing them?
Sep 7
30 min
Load more