The Internet is a surveillance state. Whether we admit it to ourselves or not, and whether we like it or not, we’re being tracked all the time. Google tracks us, both on its pages and on other pages it has access to. Facebook does the same; it even tracks non-Facebook users. Apple tracks us on our iPhones and iPads. One reporter used a tool called Collusion to track who was tracking him; 105 companies tracked his Internet use during one 36-hour period.
…and he wrote that essay before the Snowden/NSA revelation showed us we’ve gone far beyond it being only an Internet surveillance state. We have collectively delivered ourselves into the power of ideas we do not know we have accepted.
Getting done right does not mean getting done slow. Getting done right means getting done fast. You will go faster if you do things right. You will go faster if you come down off the “high” generated by the illusion that effort is speed. You will go faster if you calm down, follow your disciplines, and refuse to rush.
While he’s talking about software development in general, and test-driven development specifically, this is true for – I think – everything. My experience is that this is true for software development, and other technical work. But it is also true of martial arts practice, parkour, games, building model airplanes… you name it.
The pervasive admonishment should be “do it well,” rather than, “slow down.” Do it well and you’ve – by definition – done it as fast as possible. What’s the point of doing it poorly? What’s the point of rushing to completion; If you didn’t do it well, then it’s not done.
Let’s re-read the statement: “This supports the idea to take humans out of the loop (because they are unreliable and inefficient) and replace them with automated processes.”…which are designed by humans, who are assumed to be unrelia…oh, wait.
(If you’ve understood any of that, you will be cursing the scum-of-the-earth people who spend time making up this malicious stuff. Awesome that! …let’s fix this sh*t and go get beers.)
Now, Imagine you were working on something when that little item was brought to your attention. “Hmmmm, I wonder if that’s as serious as it sounds . . . “
You need to understand the threat; That’s rather difficult once you realize that the god-level security geeks haven’t fully figured it out yet.
You have various systems that might be affected; You need to check them.
If you’ve been attacked, is it safe to even check the systems? …ok, you’ve figured that out.
Check them. All of them.
Devise your defense, (or decide it doesn’t apply to you.)
Now implement changes to fix, or prevent, future problems.
Then wonder: Do my usual work practices and designs prevent this vulnerability? …should I change my practices or designs? …can I generalize this specific problem into a general sort of problem that I can defend against all future problems like this one?
Great! Do that.
Then you can go back to being the mother hen roosting on her eggs.
I’m not complaining. This is simply a part of what I do. Just thought perhaps some of you, dear readers, might like a glimpse behind the curtain.
…to anyone who has ever wondered if using m4 macros to configure autoconf to write a shell script to look for 26 Fortran compilers in order to build a Web browser was a bit of a detour, Brooks’ book offers well-reasoned hope that there can be a better way.
The article is a scathing condemnation of, well, an entire generation of programmers. There is merit to Kamp’s criticism, but he’s thrown the baby out with the bath water.
The explosive growth “of IT”, (as Kamp calls it,) in the last 15 years was made possible by the behavior and activities he’s condemning. The pendulum is, in my opinion, now swinging in the direction of “craftsmanship” and “professionalism”, and the chaos is settling out. I’ve encountered several projects where a small group of people, operating ala Raymond’s “bazaar” have undertaken replacing foundations of things for the right reasons.
We still build “cathedrals”. The definition of “cathedral” has simply been improved.
Obviously the ‘farmer’ video is a commercial. It intends to stir up empathy and appreciation for hard work, solid work ethics, traditional American values, (and perhaps some spirit of ‘rally around the under-dog,’) and then the corporation hopes everyone will associate those positive characteristics with their product. (This is also known as, ‘Intro to Marketing.’)
The ‘sysadmin’ video is a spoof. It engenders a healthy dose of pride, enables those who work in the profession to smile at the references, and to have a bit of winsome fun.
There are also important similarities.
Both professions entail difficult work, (the type of difficulty is of course different,) and have clear work ethics. Without the farmers, or without the sysadmins, life as everyone knows it would end rather quickly.
But, here’s the rub:
The average person will understand all of the things which the farmers are said to do, but will understand almost none of those things which the sysadmins are said to do.
Sysadmins like to think, and I’ve said this myself, that they are part of a profession with a “long” history. In reality, computers and the profession are in their infancy. We have just 70-ish years of history if we measure from Alan Turing’s ideas, and we have just three different generations of people who have worked in our profession.
If we want to be treated as professionals, if we want to be individually granted a measure of respect based on our chosen profession the way farmers, doctors, and (some) lawyers are, then we must continue to work hard as we have done for 70-ish years.
We also need to work hard to raise awareness of our profession. We need to work together more, as a community of people, rather than an archipelago of individuals. We need to take better care of ourselves; We must not sacrifice our own physical and mental health at the alter of short-term advancement. We need to work to solve the larger problems — the ones which aren’t even system administration problems, but which are organizational, societal and philosophical problems — which put many of our fellows into untenable situations.
My background is not in Computer Science. (My background is in Engineering; More in About.) I happily stumbled, more or less backwards, into network and systems administration. Although I’ve always had the analytic and scientific skills for this work, I’ve had little education, formal or otherwise, on the theoretical side. Recently I was delighted to find a survey-level CS column in the Communications of the ACM.
Reading CS classics widens your perspective by introducing stable, timeless ideas. You escape the popular themes of your times and evaluate the field from a more literal position. You learn about the qualities that make a person a great scientist. You realize those people are delighted to think over problems. By learning the history of computers and studying the lives and works of eminent computer scientists we all recognize the true merit of being part of such a respectful profession and privileged community.
I dutifully queued the reference list for assimilation, and eventually I arrived at the following. If you’re a dyed-in-the-wool computer scientist, you surely see where this is going, and I encourage you to start laughing at me at this point.
I propose to consider the question, ‘ Can machines think ? ‘ This should begin with definitions of the meaning of the terms ‘machine’ and ‘think’. … Instead of attempting such a definition I shall replace the question by another, which is closely related to it and is expressed in relatively unambiguous words. The new form of the problem can be described in terms of a game which we call the ‘imitation game’.
I had to hand type a URL to figure out that “MIND” is a “quarterly review of psychology and philosophy”, and “LIX” was the volume number. This quoted article being from volume 59, issue number 236, circa October 1950. That’s a tri-axel dump-truck load of awesome in one citation.
HAH! Clueless me. This is THE article by Alan Turing. <me, stands gawking in awe>
Here’s what I do know. There are plenty of frustrated system administrators, developers, engineers, “devops” and everything under the sun who don’t want much. All they really want is for shit to work. When shit breaks, they want to be notified. They want pretty graphs. They want to see business metrics along side operational ones. They want to have a 52-inch monitor in the office that everyone can look at and say: See that red dot? That’s bad. Here’s what was going on when we got that red dot. Let’s fix that shit and go get beers.
The Lehigh Valley and surrounding areas are a wonderful place to live and work. Because of the density of people, tech companies and professional opportunities, I think there is a real opportunity for a community of network and systems administrators to develop.
In hindsight, I see that I’ve now spent over 18 years doing network and systems administration. Along the way, I’ve mostly had no idea what I was doing; I simply had a desire to build things and the will to figure things out. I’ve worked with fantastic people, have accomplished much, and had an insane amount of fun along the way.
This open letter is not trumpeting a grand vision. This is not a rallying cry. This is not a call to organize into any sort of formal structure.
I think it would be amazing for like-minded individuals to get together, to share knowledge and experiences, to create inroads to employment for those just starting out, to create opportunities for internship and mentoring, and much more.
Interested?
Update May 2014
After more than a year of talking to people – and I mean a lot of people – I was unable to find a single person who was interested in helping me organize the group. So the only way it was going to happen was if I did all the work of finding a location, finding sponsors, coordinating meetings and speakers, etc.
…and that’s just too much for me to do alone. :^( But definitely reach out to me if you’re interested in starting something. I’m still interested.