Monday, 27 August 2007

Why I do what I do

I am often asked why I enjoy what I do, to be honest most of what I do is frustrating, tedious and very repetitive. Lets face it anyone can do what I do, but then with leaning and experience I can do anyone else's job too. Using technology you defiantly have to be patient and I find as technology gets quicker people expect faster results which results in low tolerance towards slow responses. The fact that you can't do things in a flip of a switch puts a lot of people specially the older generation off using any type of technology. High tolerance is of course what I have, I have watched many progress bars in my time and unfortunately its something I have had to get use to. Ok, so I am not painting a very nice picture of what I do but there is an event that happens now and again that keeps me going, I call it “The Eureka Moment”. It mainly happens in Software Engineering but can also happen in most fields of IT. In Software, programming and design go hand in hand together as by the time you have finished the design you would have already started the programming as there is no strict line between the two. The low level design of a program takes a lot of thinking through, and I literally mean sitting and thinking how something is going to work. Paper and pen doesn't really help as you often experience white paper syndrome where you don't know where to start. Once you have solved how the jigsaw puzzle of your new software will fit together you have reached the eureka moment. It's such a great feeling and better more as thinking can be done anywhere, the moment can also happen anywhere, in the shower, on the bus or just before you go to bed. The reason I call it the eureka moment is because strangely enough it's normally unexpected, simply everything fits together which is ideal in software as normally one thing relies on another to work. Not everyone can visualise something in there mind so I believe that this is a key attribute of a good Software Engineer, lucky I have that skill.