Why junior devs should review seniors’ commits
pagefault.blog
pagefault.blog
With more experienced guys, I give them code and they fire back "Yo, those 10 things look bad, those 8 things are easy problems, those two things are probably broken, and you turned your brain off in that test".
Less experienced team members can be intimidated by code and standing and you have to overcome that. But I've had great experiences by handing them change sets, give them some time to read it until they are ready and comfortable to ask me questions about it and to tell me what it does, and then we just talk about the code.
This resulted in a really cool situation. I was working on a lock-free, cache friendly tree implementation in java and had relaxed a couple of locks and it was some really tough stuff. So we ended up talking about style, and then digressing into explanations of java memory visibility, concurrency, lock-free algorithms, several square meters of whiteboard painted over several times, and then this girl says "Yeah so if I get this right your code is slower than it could be, and wrong in a case. Let me show you". And she was right, and I was floored.
> then this girl says "Yeah so if I get this right your code is slower
How old were you and how old was she? And where in the world was this? For comparison I'm a British man who has lived in Norway for the last 32 years and I'm now 62; I have worked with women ranging in age from my age, and above, down to mid-twenties and I don't think I have ever referred to any of them as a girl.
Anyway, apart from that, well done to both of you. I wish I could say that I was able to similarly encourage junior team members to take an interest in reading the code.
This is probably a cultural thing: outside of the UK, I've often heard 'girl' used as the female equivalent of 'guy'.
The main point is, just because someone is nominally “junior” means little to nothing in terms of their ability to write and review code. The advantage of experience is largely in knowing how to restrict the search space when solving any given problem.