Programmer in combat

Tactical Programming for the Web

By Dave

While preparing for my second deployment to Iraq in two years, I really wanted to find a way to keep everyone connected with their families and loved ones. Of course, we had the MWR facilities (Morale, Welfare, Recreation) where we could wait in line for 10 minutes of internet, half of which was spent loading the page just to log on. This is where tactical programming planted roots for me.

I bought a satellite system and had it shipped over to us right about the time we got settled into our base. It was quite an experience to hop on a Blackhawk to fly an hour to another base to pick up a five foot satellite dish. When it was all said and done, we had the most reliable internet I think I’ve ever had. For $3000 a month it better have been! The only time it went down was when the commander ordered all communications cease from the base. The reliability of this system was no accident.

Here’s how I approached this project, as I do with many projects, including building a website.

During that second deployment, I was on a QRF (quick reaction force) team. This was pretty much what you see glamorized on TV. We would work with complete strangers (usually of a different military branch) but everything would work completely flawless.... Mostly…As we began training, we took literal baby steps. It was like teaching two year olds how to dance ballet… But with guns.- Take a step, look left, pause. - Look right, charge your weapon, pause. - Step with your next foot, turn, pause.

We did this for days. Slow as molasses. It would take us 4 hours to clear a mock one bedroom house. By the end of the training we could clear that same house in under 20 seconds. Now that I’ve been out of the military life for quite some time, I still think about all those times that training paid off. We never had to run, or panic, or compromise. Now when it comes to building a website, I don’t show up to work with a ballistic helmet on or yell obscenities to lower ranking individuals. “Program that feature or give me twenty you pansy!” I do however try to take my time. Slow is smooth… Smooth is fast…It may seem a little unnatural to put away your computer and whip out a sheet of paper to plan a multi-thousand page site. Truth is, it’s the best thing you can do. Take your team and walk through every conceivable outcome or scenario and plan for it. Practice it on paper. Walk through the flow from the perspective of the end user or client. Of course it would be nice to have all the time in the world to do this with every project we have. You’ll find that any time you can ‘slow your roll’ and walk through your ideas a few times, the end result will come out more solid and can stand the tests of ‘reality’ much better. Wouldn’t you want to spend more time planning, a bit more time building and a lot less time ‘fixing’? Of course…Where we found error when clearing a house is when the ‘new kid’ would come in thinking he’s Rambo and yell, scream and try to sprint through the process. There were casualties every time. Instead of being in and out in 20 seconds, we were in, causing a mess, getting trapped, running into each other and scrambling to get out in about 5 minutes. No exaggerations. Even if you don’t work on a team, you can still benefit from this process. It’s a great feeling to look back on your work and know exactly what you did, why you did it and how you can make it better next time.