Mentoring #7

I am mentoring an Apprentice who has never done C# before, and this is his first programming job. So this is a diary of some-sort of his progression and my ability to mentor.

Managers love rearranging teams and sometimes I facepalm at how ridiculous it gets. When our teams were first formed, I was in Team A and my Apprentice was in Team B. I flagged this to my manager as a strange choice because it would make more sense if I was working alongside him and knew the work that he was assigned to do.

After several months, I got reassigned to Team B. A few months later, he has been reassigned to Team A but will work as a Software Tester. So now we are in opposite teams once more.

All this switching is just stupid, but I don’t object to him switching roles. Recently, he did say he understands C# a lot more now and can read more code that he could before, but he struggles to understand what our software currently does.

The annoying thing is, I did suggest to him early on that; temporarily, (or intermittently) switching role to a Software Tester may be beneficial to him. Testing the software will mean he learns the functionality of what it is supposed to do, he sees more of our process, and also understands how the Test Environments are deployed/configured etc. Our software is really complex so I felt his insistence to get stuck into the code was actually hindering him.

He actually sounded quite excited to try it now, and I felt that if he does enjoy it, it might suit his abilities more. If he doesn’t do well, then we may end up letting him go.

This is the thing, he has been here a few years and hasn’t really learnt anything, and when he does ask basic questions, I find myself telling him I had already gone through all this stuff before. I don’t expect him to retain everything I tell him, but I did emphasise there was a lot to learn, and this team is incredibly difficult so needs to put the effort in early on – which he didn’t do. Now Colin (who I have written about many times on the blog) has moved roles from Developer to Manager, Colin told me he is aware that there are several underperforming people, and that he is going to be looking to move them on; my apprentice is one of them.

Colin seemed to suggest that if he can’t complete work himself (either from a Development or Testing point of view), then he could be let go. A week later, my apprentice was asking questions from a Developer perspective and I asked what happened to the Testing work. He said something about “not wanting to be a Tester” and “didn’t want to get stuck doing that work”.

Not a good idea.

Showing he can do Testing would be much easier than trying to fix some difficult Bugs. Going against a manager’s idea when you are close to being let go is also playing with fire. Also, what happened to the enthusiasm he showed a week prior?

I’d also previously explained to him how there’s always times where Developers have to chip in and help Testers. Those that kick off a fuss or don’t contribute enough are always looked down upon since they are not “team players” and don’t show a “quality” mindset which everyone should show.

We will have to see what happens. I’ve only ever known people to be sacked for having major arguments with managers, or doing something really offensive. It’s a rare occurrence so I’d imagine we would just keep him around, even if he doesn’t contribute much.

Mentoring #6

I am mentoring an Apprentice who has never done C# before and this is his first programming job. So this is a diary of some-sort of his progression and my ability to mentor.

The months have flown by, and my last Mentoring blog was back in August!

Back then, we were in different teams and I stated that I wasn’t going to be proactive in helping him since I had constantly given him advice, offered to spend time with him, but I didn’t see much effort on his part. Since he was in a different team – it wasn’t really my responsibility to help him progress with his team’s work.

Things have changed slightly since I got reassigned to his team (managers sure do love reassigning people!). I gave him a list of bugs to look at, which were (what looked like) easy ones. It is proper work to do (rather than working through tutorials), although hasn’t gone through the normal prioritisation process, so even when he fixed them (well with a lot of supervision from me), they are just now lingering in a code branch and won’t actually get tested and released.

I spoke to him at the start of December and said there’s going to be downtime as most of the team are off, and we end up having a “change freeze” where we don’t release anything to our users anyway. December is the perfect time to do his personal project and write as much code as he can without any expectation/pressure from any management or team members.

A few weeks later, I asked him what he had done and he said he was just “finishing off some online courses”. Which to me, should have taken a week at most and it mainly involves just watching videos. He said he would move onto his personal project next. A week later, I asked him if he had any code to show me or discuss and he said

I’ve been chilling out… it’s Christmas”. 

Apprentice

I really wanted him to get involved in the projects next year because I think January/February is going to be really busy. We’ve been putting off starting projects (although a few of them I actually had a look at in the December downtime, and prototyped a solution), but they will no doubt want to rush them out as they suddenly become “urgent”. 

However, since he has barely put the effort in again, he still is way behind the skills level he should be performing at – which means it’s going to be difficult to assign him parts of a project he can actually do.