Episode 375: visa woes and Bob does everything wrong
Sep 25, 2023
auto_awesome
Visa rejection and its impact on professional competence. Dealing with a co-worker's constant mistakes and opposing mindset. Creating a comprehensive guide to software engineering mistakes. Navigating the Daily WTF blog and addressing the challenges of working with Bob.
Bob consistently makes the same types of errors and does not seem to have a developer's mindset, requiring multiple rounds of review and corrections for his pull requests.
Addressing the issue of Bob's recurring mistakes with his manager is necessary, highlighting the negative consequences on the team and presenting objective data to help inform the resolution.
Deep dives
Bob's Mistakes and Lack of Developer Mindset
Bob consistently makes the same types of errors and does not seem to have a developer's mindset. His pull requests require multiple rounds of review and corrections. Despite being a software developer for six years, Bob needs to be reminded of basic principles. This creates frustration for the team, and valuable time is wasted in the review process. The manager's encouragement of Bob's growth and assigning complex tasks exacerbates the problem, often resulting in discarded work. Addressing the issue with Bob's manager is necessary to find a resolution.
Broaching the Issue with Bob's Manager
Approaching Bob's manager with evidence of the impact Bob's mistakes have on the team is crucial. Collect data on the number of pull request comments and compare them to other team members. Highlight the excessive time and effort required to address Bob's errors. Emphasize that while the manager's desire to help Bob grow is commendable, it is essential to recognize the negative consequences Bob's performance has on the team. Presenting objective data will enable the manager to make an informed decision on how to address the issue.
Consider a Systemic Approach to Help Bob Improve
Before pushing for Bob's dismissal, explore the possibility of a more systematic approach to address his recurring mistakes. Provide Bob with a comprehensive list of best practices and principles to follow, focusing on those that have been repeatedly corrected in previous reviews. Encourage him to adopt a developer mindset and emphasize the importance of testing and code quality. By guiding Bob towards a higher level of coding proficiency, you may help him improve and reduce the time spent on review cycles.
Evaluate the Fit and Consider Escalating the Issue
If attempts to help Bob improve have been ineffective and his performance continues to hinder the team's progress, it may be necessary to consider his fit for the role. Collect data on the impact of Bob's mistakes and the overall productivity of the team. Present this information to Bob's manager, highlighting the negative consequences and potential alternatives. While it may be difficult, addressing the issue and evaluating Bob's fit for the team may be the best solution if his performance does not improve.
In this episode, Dave and Jamison answer these questions:
I work as a Software Engineering Manager at the European office of a US company. Recently, many of my colleagues successfully obtained US visas for an upcoming business trip. When it was my turn, everyone said it would be a piece of cake because our company is well-known. However, to my surprise, I was rejected during the visa interview. Now I won’t be able to join my colleagues (including my direct reports). I’m concerned they might perceive me as less capable because of this. What would you think if your manager couldn’t travel with you? To make matters worse, I might soon be managing a few US-based employees remotely.
Hi guys, love the podcast. I never miss an episode!
I have a co-worker, let’s call him “Bob”. Bob’s a lovely guy and very eager to learn.
Here’s the thing. Bob never learns from his mistakes and needs to be continually asked to correct the same types of errors over and over again.
The problem is that Bob doesn’t seem to have a developers mindset. I’d go so far as to say that if there’s a decision to be made then Bob is 95% guaranteed to do the opposite of what everybody else on the team would do.
The end result of this is that whenever a pull request is opened up with Bobs name attached to it I can be sure that I will be spending more time reviewing it and inevitably the PR will need to go back and forth multiple times as Bob is asked to correct the same types of things that he was just asked to correct in the last review.
The frustrating is that my manager is also nice and wants to encourage Bob to grow and improve and so regularly gives Bob some pretty complex tasks in order to encourage this growth. While I admire the managers attitude (and surely have benefitted from it on occasions :) ) my heart sinks just a bit more than normal when this happens as I know that the previously mentioned merry go round of reviews will inevitably be larger than usual. Sometimes it can get to the point where much (or all) of Bobs work ends up being discarded.
I do precious little development work myself as my senior position in the team means that I’m the one ends up doing most of the peer reviewing. So each time I see Bob being given a piece of work that I would have enjoyed doing (and sometimes have even specced out) I get disheartened.
Bob has been a developer in our field for about 6 years and still needs to be told on a regular basis about things that you would usually need to tell a fresh graduate.
How do I broach the issue of Bob with the powers that be?