• Nakul Vachhrajani (9/23/2011)


    One of the things that I find missing these days is patience. It seems nobody takes the time out to think and plan out the code that they are going to write. They start writing the code, then the thoughts come up and from then on, it's patching up the code to meet the requirement. This results in patched up code being rolled out from the "assembly line", so to speak.

    The other thing is that most often employees are attracted to the buzzwords, and attempt to gain an expertise on them before exploring the basics. The person may not understand how a query is compiled, but yet wants to use high-end tools and become an expert in performance tuning. I always tell any trainees that work with us to always focus on the basics - the advanced stuff will come automatically.

    Oh I so agree!

    I even have the perfect example to verify patience and planing. While this was at the university, there were 4 groups of at least four people in each group. We had 2 weeks to complete an assignment. I was leading my group and we decided that we wanted to draw up how we wanted to build the application and while we might have been extreme in the planning part, we invested 7 days in planing but then we we had a very good picture about how to solve most issues and how the application were going to work and then it only took us two days to write the application. The other three groups started to program more or less directly and none of them finished before us, there was quite a margin to our favor. The other groups was in no way any less good than our group, in fact some would perhaps have considered some of the other groups having advantages because of previous knowledge.

    So yeah, planing is really key for success. However, most developers does not find it fun to plan, I however maintain that it's necessary at least to some degree.