in reply to
Programming is combat
According to Sun-Tzu, who wins the war is almost always who wins the logistics fight. This has two implications when it comes to programming.
- The logistics of programming - we have a set of needs that have to be provided, just as an infantryman has a set of needs. Without these needs being fulfilled, we will fail in our fight. These needs are well-known:
- Solid, unshifting requirements
- Time to reflect and look at the big picture
- Time to provide a design
- Time to write unit-tests
- Time to actually write the code
- Other professionals who do the system test
- The ability to push back when anything we are lacking
The good general is the one that provides these items for his troops. Often, like my current situations, my general is inadequate, but I have an excellent lieutenant. I also attempt to be a good NCO for my troops.
- The logistics of information - every battle that has ever been won and lost did so on the basis of timely and good intelligence. Even more so that the logistics of goods, the logistics of information wins and loses battles. There is an example in the US Civil War where the North accidentally found the battle plans of the South. The North was outgunned, had poor morale, and had the weaker ground. Yet, they won the battle so decisively that it is often considered the turning point of the war.
As IS/IT professionals, we are the logisticians of information in the world of business. We provide the capability for information to be available at the fingertips of our generals. We don't gather the information - we facilitate the gathering. We don't organize the information - we implement the organization. We don't analyze anything - we make sure that those who do can find the information they need.
We are the carpenters and bricklayers of the Information Age.
Then there are Damian modules.... *sigh* ... that's not about being less-lazy -- that's about being on some really good drugs -- you know, there is no spoon. - flyingmoose
I shouldn't have to say this, but any code, unless otherwise stated, is untested