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 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? -
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? -
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? -
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? -
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. -
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?