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?