James Madison
Software Engineer Meme
by James Madison


Other Pages:

James Madison





Friends think we can fix their computer.  Software engineering has nothing to do with getting a home computer to work.  We build massive systems that move terabytes of data across thousands of nodes to serve millions of people and generate billions in revenue.  But we buy our home computers from some generic company like Dell, just like anyone else.  If it breaks on warranty, we call the company.  If it breaks after the warranty, we get a new one.  That’s all we need to know about fixing a computer.




We grew up playing video games.  Our moms thought it was a terrible use of time.  We now argue that it was an early investment in our current careers.  The focus and dedication required to defeat the video games of our youth is not unlike that required to drive the computer into submission at work today.  Of course, there are millions of kids who played video games who didn’t become software engineers.  So clearly, all those degrees and certifications must matter too!  But it all started with video games.




Society thinks we’re out to get them.  Not you or me individually of course.  Or, really, any particular software engineer they’ve ever actually met.  But somewhere out there, are people who are trying to hack into their bank accounts, the national power grid, the global defense system, something!—much like in this scene from Sneakers where the resident genius finds that the bad guys have the code to break into anything.  Actually, we expend much effort specifically preventing such things, and have proven quite successful at it.




Everyone else thinks this is easy.  Software engineering is easy—to specify.  So how much harder could it be to do?  “We need undo/redo,” a manager once told me.  It took 3 seconds to say, and added 20% to the program cost.  “Ever code undo/redo?,” I wanted to say.  But of course he hadn’t, so instead I proceeded to explain reversible commands, stack traversal, system state preservation…at which point his eyes glazed over and he withdrew the request.




We can stop bullets!  To quote Joseph Weizenbaum, “The computer programmer is a creator of universes for which he alone is the lawgiver. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or a field of battle and to command such unswervingly dutiful actors or troops.”  When I am in the machine, I am god!




We spend a great deal of time on worthless tasks.  Sadly, converting software engineering skill into money requires actually having a job.  And most software engineering jobs come with many questionable tasks, as iconified by the famous TPS Report in Office Space.  So while advanced problem solving may be at the core of our value proposition, we actually spend as much time filling out time sheets and status reports as we do engineering systems.







This site does not require or capture any of your personal or financial information.
http://www.qa76.net  |  © 2016 James Madison  |  madjim@bigfoot.com