Thursday, June 10, 2010

Board Chopping, Paper Folding Art

Dear bloggie,

Rather cool title eh... I actually took this title from one of my holy bibles "The Art & Craft of Problem Solving". What it means literally is that one need both tough and softness.

I recently taken a test in an interview where the result rather surprised me. I scored 39/60 but it's not the mark that put me in alarm. It's how I obtain the mark. I always prided myself as a hands on guy especially in programming. Hence you can imagine my state of mind when the test revealed I scored more in theory and experience based question compared to syntax strict programming questions. While the syntax strict programming questions are really trick questions, but it does make me wonder have I lost my edge in programming by doing to much to practical programming?

When the interviewer went through the question with me, it hit me hard just how much fundamental basics of Java, went dormant in me because I do practical programming. What do I actually mean by practical programming here? Practical programming I talking about is the programming habits we have when we strive to maximum output or get the system to bend at our will. Often, we will draw the Force from the "dark" side to get the system to work, especially when there's a insanely short dateline. I can't remember the amount of times when I , "OMG WTF!!? Where got enuff time la? %#&^&$#!!!" then proceed to hard code everything as they come into my mind without proper analysis/planning/etc in a mad rush to get the module working in time for the dateline. Evil indeed... And another one practice that I think all of us programmer tend to do, over rely on our editor. I had a collegue that practically use the editor to do everything, create ejb, create hibernate dao, create hibernate beans, eat dinner etc.. The problem you see is we lose our ability to program without our editor. If you gimme a plain notepad and console to do programming, I will hang myself on the spot. While we all have a rational logic to over rely on the editor, I means why not delegate the API and syntax things to the editor and concentrate more on important task like designing OO structure, etc.

So what is the solution? I think we need our editors, we will need to hard code, we will need the "Dark Side" of the force to meet our dateline, but ultimately we need to be aware of it's effect. Maybe we ought to revise our ancient old text book once a while or take online java tests to maintain our edge? Coz u definitely dun want to break down in a sweat when u see a syntax specific question in a interview test (with no editor in hand) for a job u really want.

0 b*tchin: