Formerly of Apple, I currently write software to solve all manner of interesting problems. I work and live in Coral Gables, FL with my beautiful wife and two kids.
This is so essential, I loath to think that there are teams out there where juniors are not reviewing the code of more senior members!
My very first programming job was working with a team that was in charge of a very large server product that involved everything from HTML+CSS and Ruby on Rails right down to video codecs and network protocols implemented in C/C++. When I was hired on, I had assumed it was primarily due to my experience with Ruby, so I was caught off guard a bit when one of our senior-most developers called me into his office the first week to review a commit he had just written for the work distribution algorithm that involved BSD socket APIs. I will admit, as the article here mentions, that I probably benefited more from the interaction, as I was about as useful in that code review as a Rubber Duck, but having that experience (and on the first week) cemented in my mind that we were one team and that, although I might have been hired for my Ruby skills, I was going to have to bear the same responsibility for our product as everyone else.
From that point on, I worked harder on that project than almost any other project I've worked on since.
Thanks for sharing your story! It coins exactly the point I was trying to make. It also shows a great professionalism from that senior developers part (probably one reason he/she was a senior in the first place) which, it seems, had a pretty profound effect.
I agree with you and thought the same thing. It's one of those intangible traits all senior developers should have. When I started as a developer, you tend to think senior means writing the most/best code and that's it. That should be a small part of it, absolutely. However, if you're not making those around you better, you're not being the best you could be.
Formerly of Apple, I currently write software to solve all manner of interesting problems. I work and live in Coral Gables, FL with my beautiful wife and two kids.
This is so essential, I loath to think that there are teams out there where juniors are not reviewing the code of more senior members!
My very first programming job was working with a team that was in charge of a very large server product that involved everything from HTML+CSS and Ruby on Rails right down to video codecs and network protocols implemented in C/C++. When I was hired on, I had assumed it was primarily due to my experience with Ruby, so I was caught off guard a bit when one of our senior-most developers called me into his office the first week to review a commit he had just written for the work distribution algorithm that involved BSD socket APIs. I will admit, as the article here mentions, that I probably benefited more from the interaction, as I was about as useful in that code review as a Rubber Duck, but having that experience (and on the first week) cemented in my mind that we were one team and that, although I might have been hired for my Ruby skills, I was going to have to bear the same responsibility for our product as everyone else.
From that point on, I worked harder on that project than almost any other project I've worked on since.
Thanks for sharing your story! It coins exactly the point I was trying to make. It also shows a great professionalism from that senior developers part (probably one reason he/she was a senior in the first place) which, it seems, had a pretty profound effect.
I agree with you and thought the same thing. It's one of those intangible traits all senior developers should have. When I started as a developer, you tend to think senior means writing the most/best code and that's it. That should be a small part of it, absolutely. However, if you're not making those around you better, you're not being the best you could be.
It's the classic case of: a 10x developer doesn't produce 10x the code, they influence the 10 developers closest to them to produce 2x the code.