“Hey, we’re not talking rocket science here,” my coworker argues.
Rocket Science? Just what is this rocket science stuff anyways? Rocket science consists of mixing volatile stuff together, explosives, and squirting the resulting exhaust out the back, using the thrust to hopefully get where you want to go. Rocket science consists of Newtonian mechanics:
s = vᵢt + ½at²
This is algebra. Big deal. s, the distance traveled, is the sum of two elements: the product of initial velocity and time, and one half the product of acceleration times time squared. This is rocket science?
Okay, it gets trickier in two and three dimensions, when you factor in angular velocity, gravitational attraction, wind shear and the rest. But it’s just math! A little trig, a little computation, maybe a differential equation if it gets really messy. If you’re dealing with large masses or speeds that are a significant fraction of the speed of light, then you might need to throw in Einstein’s mass defect calculations as well, to keep precision, but, hey! This is just numbers.
The numbers get hard to work on a hand calculator, sure. That’s what computers are for, after all. Did you think computers were invented for you to play Solitaire, chum? Guess again. Computers were invented to solve ballistic equations. Cannons, mortars, V-2 rockets. The fact that computers now wallow in big fat GUIs and let you waste your work day oogling at cheerleaders.com is just a by-product, and an unfortunate one, at that. Computers were made to blow things up, bigger things, bigger explosions. Looked at this way, computers are probably the single most destructive tool ever invented.
So that’s rocket science. Big deal. Numbers. Sheesh.
Now, application development, that’s real work. We don’t have stinking numbers to tell us what to do. Application development requires reading the client’s mind. Application Development means making complex decisions on balancing application functionality against budget, against political realities. Going on gut instinct to decide if a denormalization makes sense considering the distribution of queries against the net throughput of the network, the latency and seek time of the drive array, the likelihood of a cache hit. Application Development is hard.
“I said, this isn’t rocket science,” my impatient coworker repeats.
“Damn right it’s not” I say.