Only Me and Me



That reminds me of something.  The first time I gave my bbpack to Bill for code review, he rewrote 75% of my code.  I still remember the one comment he made.  He said: "When 2 years from now, someone looks at this piece of code, I want him to think that it is the God that wrote this."  I have improved significantly during the time Bill was the Dev Lead because I always had the fear that Bill would be the one that reviews my work.
Since Bill left the team, I have been taking on much more responsibilities outside just coding.  And the passion of writing robust and elegant code has been fading away in the mist of other things.  I guess I am too caught up with the fancy things like project planning, development schedules, scrum meetings, etc.  Today as I was looking at some of the recent code I produced, I was very much disgusted with how they turned out.  I suddenly realized that the key difference between a star programmer and an average programmer is not that how many languages he can work with or how many technologies he knows about.  The key differentiator is how much he understands about the principle of software programming and how much passion he has to push his work to the limit of perfection.
After all, I am a programmer.  If I cannot write decent code, it is meaningless to talk about all these high-level things.  It is like talking about how to spin out a drift when having trouble to do a parallel parking.  You never have your car parked safely and you get killed when the first time you attempt a drift.

13 responses to “Passion

  1. Goden June 11, 2008 at 5:05 am

    thats same to PM 😉

  2. miaomiao June 11, 2008 at 11:45 am


  3. miaomiao June 11, 2008 at 4:15 pm

    bug ya…please delete the following.

  4. Qin June 11, 2008 at 11:05 pm

    In my previous team, everyone was so obessive with the code review. Code must be elegant and beautiful and blabla. The interfaces are very flexible and extendable.  If I check in some code which doesn\’t meet a Senior\’s standard, he will force me to revert the change and checkin again. It freaked me out all the time.   Unfortunately, our elegant code doesn\’t scale. I am not a big fan of writing beautiful code. As long as the functionality is correct, scable, easy to understand, it is fine with me. Actually I hate those engineers who are obessive with beautiful code!

  5. Demon June 12, 2008 at 12:02 am

    @ Goden: Passion of writing better spec\’s? : )
    @ miaomiao: 希望标准不是现代诗,hoho
    @ Qin: I rarely get obsessed with something. Same here. I am not obsessed with pretty coding style or something like that. I just don\’t like what I have been doing in the past 2 weeks, : )

  6. Mira June 15, 2008 at 10:47 pm

    I learned something recently:
    1. Passion is something that never fades away;
    2. Before 1, Make sure it is *Passion*, not *Vice*.

  7. Demon June 16, 2008 at 2:13 am

    I agree with Pt. 2, but disagree with Pt. 1.  Passion does fade away.  Actually, quite often is that the case.  Otherwise we will not see so many heroic figures in history squander away their fame and power accumulated throughout years of hardwork once they reach a certain level of accomplishment.  The key is not to keep up high spirit for every single day and I don\’t think that\’s possible anyway.

  8. Mira June 16, 2008 at 2:58 pm

    so, for a sleeping lion, it should keep sleeping most of the time except for some impulse out of passion to shout loud, which is a healthy way to live longer~

  9. 小狗儿 June 16, 2008 at 7:36 pm


  10. Steven June 16, 2008 at 8:38 pm

    Interesting reading! Recently I found several facts that might arouse your interest FYI.
    (1) Engineers tend to over-design things and they enjoy that.
    (2) Few managers/leads are willing to pay for code refactoring/re-architecturing when the project is big enough and the functionality is fine even if the code base is messed up while the engineers will find themselves uncomfortable fixing bugs in the mud.
    (3) The same thing for Code Review. Good code review process results in greatly improving code qualities but the big resource cost always frightens managers.

  11. Mira June 16, 2008 at 11:05 pm

    Streamlining and synthesizing the pieces into an integrated *work* is always the toughest part before the project due date, cuz people are different and their mindsets are different, too; thus, for the perfection and the quality, it is hard to reach the maximization and the optimization; wasting is for sure, even if contributors have the same speaking rights.
    But this is good for improvement; any existing system or organization is not perfect, which means the successors can always find something to work on – we call it "improvement space".

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: