Saturday, May 23, 2009

To be a better "PROGRAMMER"

There was a very interesting post found in this page - How can I know whether I am a good programmer. From the answer, I found two point which is quite match with my attitude:
  1. A good programmer loves to program, and would do so in their spare time even if they already spend 80+ hours a week programming.
  2. A good programmer knows that she/he is not a great programmer.
I still remember when I first attend my C programming class, I start to fall in love with it. I start to realize that this is what I want to do to my computer. Not just to atend the computer class which I did in my primary school, turning on the computer, playing some games, and typing some documents.

I want to be able to instruct my computer to accomplish my command.

I feel so great, this is a real computer class I ever miss. I start digg out more stuff on pogramming after attended this class. Programming was so interesting, complex, cheating, mathematics, and mystery. I learn new everything at my own pace. Along the way, I have learned OpenGL, Win32, MFC, STL, and some web language. I am spenting all my day and time sitting in front of my computer to create something great and fun. From the things I have learned, I discovered that, OpenGL have a great library to create 3D application, MFC providing a framework to ease the application development. Whereas STL providing the algorithm library to simplify things, e.g. string manipulation.

Not there yet, there are many more to learn. When I move on to second company, I have found a new set of library which is dedicated only to the company and at the same time, I participate in OpenOffice project which is using UNO framework in the development. There are gain and loss from here; I study so hard to learned their framework, I am working with thier development style. I gained a valueble experience from here, which is, how to build up a framework for developer. Make developer feel easy. On the other hand, I was blinkly following their development style, I can't change their mind set to listen to mine idea because I am still new and young in programming during that time.

All the way in my study, start to realize the important of methodology, Object Oriented, in my development. But sometime I do think that this is some sort of bullshit theory. In fact, some brilliant people may have some kind of great thinking who can foreseen the future. Well, doest it really help? It has been a long time for me to adopt this concept in my development. That time was when I joined in a game company, I am fully utilize this concept in my development. The question come again, does it really help? I will say not neccessary. I would rather spend time on algorithm thinking rather than OO thinking.

Right until now, I have build up my expertise skill in Windows, and Linux software development, low level software design, and symbian development. Am I better enough? To be frank, I am still focus on the programming, but it is more theory about the programming language, like What the hell this PL is created? What is the fucking proof? When should I use it? Why should I use it?