Friday, January 25, 2013

Practical Humility - Peer Reviews

This week is my one-year anniversary at working at Raytheon. It's been a great, fun, productive year. With the help of my awesome co-workers and great boss, I've learned a lot of great engineering skills and best practices the job. Because the work environment is so different from the school environment, I've also learned a lot about myself this last year.

I was once again confronted with my inability to receive criticism. To be honest, I've never considered myself bad at receiving criticism, especially spiritual criticism, because in general, anything anyone says to me about my character is bound to be somewhat true. "Caleb, you're too proud." Yeap. "You don't treat people well enough." Yeap. "You should spend more time concentrating on God." Yeap.

The pride of the inability to receive criticism was revealed to me through one of the key steps of our software development - peer reviews. For those of you who don't know, for electronic peer review, reviewers have the ability to add "Remarks", which are sometimes comments/questions but usually defects about specific items in the code, and for every remark, you're sent an email. So let's set the stage. After a few months of doing testing,making minor fixes to code here and there, and "helping out" with various tasks, I was finally given my first real programming task. Super exicted, I make the design and code it up. Then I send it out for peer review, like my boss said.

And it got blasted. The emails with "A new remark has been added for Peer Review XX" came pouring into my inbox, each with the little "ding ding" notification. Some of them were real mistakes I made here or there, but most of them were style issues and that my code didn't conform to the style of the code already there. And that was hard to swallow. For you non-programmers, just like everything else, there are a lot of personal preferences in programming - preferred variable names, capitalization schemes, code structures, etc. And it was hard to hear that the piece of code, which I thought was beautiful and elegant, needed to be chopped up and altered to what I thought was less beautiful and elegant.

I tried to resist changing my code, emailing my coworkers in response to specific remarks, defensively trying to justify my code. One of my coworkers noticed my frustration and came over and basically told me that he understands my frustration, that none of the remarks were personal, and that it's just a necessary part of our software development process. For some reason, I had been blind to my own emotions and it was only when he came to talk to me that I suddenly realized how upset I had become.

Learning to accept and even welcome criticism has been a long process, as I take a lot of pride in my work, but I can say that I no longer get upset over remarks in peer reviews. Actually, I like getting them, because it means that someone is looking at my work!

2 comments:

  1. Just found out you had a blog and so do I! I feel the same pressure when doing film, its always rush rush rush and if you not fast enough they scream and so on. Its life but its worth it because you definitely learn.

    ReplyDelete