2 ms·
There is still a massive difference between developers and sysadmins even in the devops era. You can make a caricature of both professions to point out the diff
by waps 13y ago
There is still a massive difference between developers and sysadmins even in the devops era. You can make a caricature of both professions to point out the difference.
A sysadmin and a developer walk into a bar. They decide each to make a website doing order management and return in a month to demonstrate both solutions.
First the developer gets his turn. There's a massive version history, which is shown. After 15 minutes of browsing through commit messages and pointing out test cases and "look how easy it is", everyone in the cafe requests to be shown the actual site. After pointing out there's more LoC dedicated to unit testing the code than there is actual code, the programmer gives in and opens a web browser. "Could not connect to site". The programmer forgot to start his solution's web server. He logs into a shell, gives the command. After 3 tries he gets the command right, and it won't start. It is quickly noticed that there is a bug on the top of the main function preventing it from starting. He quickly fixes it. The website has every feature you could possibly want and more than a few you wouldn't want, and looks beautiful, if a bit "full". And every individual feature works beautifully and perfectly as designed, and then 2 or 3 features have to work together and an hourglass appears. After 5 minutes they give up the wait, and the programmer digs into the code and concludes that it was completely unreasonable for the sysadmin to ask for a demonstration of picking a product and while a mail notification service was enabled, something which was never in the requirements ! Getting a report out of the system takes the better part of the day. Before the demo can go further the web server crashes and not only did the programmer lose the entire order database, but the versioning system, including all the code, and surprisingly the crash also managed to take out the entire contents of the programmer's gmail inbox, X-COM savegames and his drink is suddenly empty. Only the drink's disappearance can reasonably be blamed on the sysadmin.
Second, the devops/sysadmin turn comes round. His website has been running for a long time, in fact he says he didn't bother restarting it to add the last 10 features he added to the site. The programmer (and everyone who isn't the sysadmin) has serious trouble distinguishing the website from a terminal window, or indeed, from an unpowered laptop. Tiny gray letters on a black background list the orders, as confirmed by an inspection of the sysadmins laptop screen with a magnifier glass and extreme brightness settings. They are preceeded with 10 letters that can be either small caps, or capitals illustrating the various properties an order might have. Oh and it can also be one of 2378 other letters that indicate various things, but even the sysadmin himself has forgotten most of them. There is one test, which starts up the system, and runs 1000 orders through them. The "RoundFloat" function in the code turns out to return a string, "dog", but is never called. There is no reporting functionality, insists the programmer. The sysadmin disagrees. Look ! echo 'cat orders//??d.2013..xyzz2??3?? | sed "&()&^#@\&^\\@#" | grep | perl -pe "lqwtq8(&()lj;lkd" | mail jef@boem.com' >> /etc/cron.daily adds daily reporting of all orders in the asian region over $220 to the system ! The sysadmin insists that this is simple, as he got it right the first time. When a person standing at the bar is asked to enter an order into the system, he tries for 10 minutes, then knifes the sysadmin in frustration, before retreating to an optician for damage control. The "web server", which turns out to be a bash script, has never spent more than .0003 picoseconds serving the page. The page ? Yes, there is only one after all. Why would an order tracking system need more than one page ? It turns out the webpage page is text/raw, not text/html, after which a baffled sysadmin enquires what's wrong with that. An inspection of the versioning system reveals 3 commit messages "start", "middle" and "end", and nothing else. It's replicated to 5 different datacenters, though. Look ! An offsite backup was initiated as soon as an order was entered. The programmer, still angry about his crashed server, takes an axe to the sysadmin's laptop, which surprisingly remains operational after being hacked in 10 pieces, set on fire, and fed to a local dog. The sysadmin declares that he's very proud of the system's features, you know, both of them.
The whole thing ends in a barfight between the two, the sysadmin insisting that a non-working website has 0 features, even if the programmer implemented 3000 "well-tested" ones, chuckling at the "tested" word. The programmer was heard saying that a single black screen does not an order system make, before breaking a beer bottle and attacking, with help of the person that was asked to enter an order into "the black hole".