I'm a senior software developer at my employer and I have recently been put in charge of a more junior developer. This is my first time acting as a manager (or even a mentor). I've been tasked to give this developer tasks to do and to generally check the quality of his work. I'm not technically his boss (I'm not paying him and I can't fire him), just a colleague who tells him what to work on.
I've been managing him as best I can, trying to give him tasks that introduce him to the codebase and are also useful to me. Over the past few weeks I've realised that he's really rushing the work and missing big, obvious mistakes. I've been pretty hands-off in this approach. I'm not checking all of his work thoroughly (I don't have time for that!) but I do merge his pull requests and get him to correct things that he messes up.
It's become pretty clear to me that these mistakes are purely due to not working thoroughly enough and rushing through the work. I understand that he's new and probably wants to prove himself to be 'quick'. I was hoping that by me bringing them up he would realise that taking a bit longer to do things thoroughly pays off in the long run time-wise. It's really not a race and he's not going to get fired for taking an extra couple of days to double-check himself.
I don't really know how to approach this with him. If I carry on pointing out his mistakes, will he eventually learn? How do I approach talking to him about it? I don't really want to come across as bossy and telling him how to do things. (Being a team player is something I'm working hard at improving on). How do I encourage him to work more thoroughly while still giving him the space to mess up and make mistakes and learn from them?
Edit: Some examples:
- I'll ask him to go through the code and convert the 5 instances of A to B, and he'll miss 1 of them. So it's not that he's incapable, he's just rushing and missing obvious things.
- He'll have syntax errors in his pull request.
- He'll accidentally add auto-generated text files to the pull request because he's not looking at the files he commits.
(These are simplified examples, I know code-reuse is bad and that the gitignore should be configured to exclude certain files. These are the kinds of things that indicate that he's rushing and not checking what he's doing.)
I'm not even that worried about technique as such, because I know that he'll learn that as he goes along. I just want him to slow down and double-check his work before he decides he's 'done' with a task. It would be nice to work with him on technique, but his pull requests are so full of other disasters that I haven't even been able to get there yet.