There’s more to tech than programming

If you reduce an entire industry to one field, how are you helping diversity or education?

App Camp For Girls

Girls Who Code

Black Girls Code

I want you to go to all those sites and read up on their programs. Because they are all wonderful programs and movements. But, there’s a problem. (The title of this piece is a hint.)

“Everybody’s got to learn how to code early” —President Obama

We’ve heard that refrain how many times in the last two years? It’s the rallying cry of STEM education these days. Learn to code. If you just learn to code, you can rule the world. Learn to code, everyone’s got to learn to code early, IF YOU DON’T LEARN TO CODE, HOW CAN YOU COMPETE IN THE GLOBAL MARKETPLACEAAAAAAAAAGH!!!!!

The problem and a story


There’s a problem here. Slowly, and subtley, STEM is being winnowed down to programming. Or Computer Science if you want the more academic term. Now, don’t get me wrong, there’s nothing wrong with programming, it’s kind of important. But I’ve been in the computer field in one way or another since 1983 and my senior year of high school and I’ve never been a programmer. CompSci courses have always been hideous amounts of work for me. The only language I’ve ever been any good with is AppleScript.

I have no idea why, but I can tell you that C and C-like syntax, or various forms of dot-syntax have no resonance with me. My brain has no ability whatsoever to retain any of it six seconds past whatever lesson I’m reading or in class for. Javascript, ObjC, Perl, Python, PHP, Visual Basic, VBA, C++, C, C#, VB.Net, all of it. The only reason I can use AppleScriptObjC is because there’s enough AppleScript in it that I can read and write it. If Apple ever dumps AppleScript, I’m pretty much done even scripting. (Shell is just fucking strange, but given how shell programming is created, it’s not a surprise.)

By the messaging we’re getting today, I shouldn’t have a career in this industry. I can’t program. I’d rather eat glass than be a consultant, and quite honestly, the entire startup industry as far as I’m concerned, is nothing but jockism with code instead of sports and the most excellent scam of wringing huge amounts of work for what ends up being a pittance in real pay, and vague promises of promises of money I’ve ever seen. The ghosts of 19th century industrial tycoons are in awe of how well the startup industry has managed to get people to give away their labor .

I did have, for about two years, a job that was mostly as a programmer. It was in a 4GL (OMG NINETIES FAD) called The Edify Electronic Workforce, wherein you built your programs via what was basically flowcharts, and that was rendered down into scripts and binary and you had an IVR system. Ran on OS/2, and later NT. So even then, I wasn’t “writing” code, not really. But I was reasonably good at it.

The point is, while I can manage to make code do stuff, it is a very hard process. The syntax, with the aformentioned exceptions is nothing I can really understand well, and I find it too detached and well, boring. Even “team” coding or whatever the fuck that hotness is, (and it is suspciously close to “Two Idiots, One Keyboard” for my tastes) is still terribly isolating. (Pair Programming? Seriously, leave room for the Holy Ghost. Do these people never fart?)

However, thanks to a lucky random stroke of luck in the 12th grade, I learned that there was more to computers than programming. A lot more. I had gone to the computer room (Atari 800s. The AP kids had Apple IIe’s, but for color and sound, the Ataris kicked their ass. They were way jelly. way) to continue my desparate attempts to not fail a BASIC class. I walk in and my teacher has all these tools and wires and shit all over one of the tables. I’d never seen the tools before. I asked him what he was doing, and he said he was building a serial cable so all the computers could connect to the serial switch box and talk to the printer.

For the first time, I got what he was talking about. That made perfect sense. You have one printer and 30 computers, so you need a switch, one with multiple positions to enable this. I’d built multi-rocket launchers for model rockets before, basically the same thing. What could be simpler? I asked him “Can I help?” He looked a little fearful, (pity the poor man, he’d seen my code), but said “…okay. Here, let me show you” and introduced me to the glory of a pin tool.

Fuck me if I didn’t get that thing like ducks and water. It was something I could hold in my hand, and build. It made sense. Even the joys of RS-232 cabling pinouts were easy, and finding mistakes was cake. I was cranking out cable ends like a machine, and he was blown away. So when the lunch bell rang, he said “John, I’ll make you a deal. You help me keep these things running, help me build cables, and do all that kind of stuff, and you’ll get an A in this class.” “But, I’m really behind on my programming already…” “This will take the place of that.” “Really?” “I’m doing me far more of a favor than you. I am not sure what you are good at, but I am absolutely sure you are never going to be a programmer. You seem to be able to do this kind of thing well, let’s see what happens.”

With the most backhanded compliment ever, I started becoming what would one day be called a sysadmin. Because this shit was not only easy, it was real. When I went into the Air Force as an ECM tech on B-1Bs, (technically Defensive Avionics), I was thrilled that it was the same kind of thing. All hardware, all real, and no programming. Mind you, B-1Bs are rotten bastards of planes. All our stuff had this coolanol shit running through it, (actually called “Cooling Oil” but because the first B-1Bs were stationed in Texas…Coolin’ O’l…coolanol), troubleshooting them was 3 parts procedure and manuals, 3 parts “well, my gut tells me” and 4 parts blind luck. (We got them new. As in fresh from the factory. We didn’t even have real test sets for 3 years. We had to create this shit the hard way. And a lot of it didn’t work at first. WHEEE!!!!)

I was still trying to get a CompSci degree, because well, that was all there was for computers. Electrical Engineering wasn’t any better. A bit more hardware, but a shitload of programming anyway. (Same thing with robotics. Hardware fun, programming ugh.) For a while I gave up and was an American History major. History was more interesting anyway, it was real.

After the Air Force, my first civilian gig was with the City of Pinellas Park as an MIS Tech, and the first truly great civilian boss I had, Jack Nelson. Jack taught me…well, honestly, he taught me how to think. How to approach a problem. He taught me that the logic I used was more important than memorizing a bunch of technical shit, because if I did that, then the first time something changed, (to give you an idea of what stuff was like then, IDE drives were new. We were living the RLL/MFM life baby!), I’d be screwed. I’d have to be forever memorizing shit.

But if I knew how to think, how to analyze a problem, how to really listen to what the user and the computer were telling me, then I could do well even in an unfamiliar environment on an unfamiliar platform. Jack taught well, and did even better. Ye Gods that man can analyze a problem. (he also had like a 4' vertical leap and played goalie in a local soccer league. Jack was regularly terrifying. But in a good way.) Thanks to him, and his relentless insistence on doing it right the first time, I learned the right things. He helped me mold my small talent into a usable skillset that has kept me, and keeps me employed to this day.

But I’m not a programmer. None of the resources I listed at the start would have done me a bit of good, regardless of my gender, because they all would have ignored the things I was actually good at, and tried to force me, ultimately unsuccessfully, into becoming something I would, and still do, suck at.

This saddens me tremendously, because I look at the laudable concept of making STEM more open to people who aren’t a bunch of honkie males, hell kids in general, but see how it’s all focused on one specific skill set, and think “But what about the girls who would geek out on how ethernet cables work? What about the black girls who can’t code, but would totally get learning the Linux or Windows or OS X boot process and how to troubleshoot problems on those platforms? What about the boys who may never master syntax, but have the ability to figure out why that goddamned bastard printer is being such an asshole and bend it to their wills?”

What do they do? Fuck off and dig ditches? Because in 20+ years of being a sysadmin, I’ve rarely met anyone who set out to be one. The vast, vast majority of sysadmins kind of stumble into it. Which probably has a lot to do with why the stereotype of a sysadmin is, honestly, shit. (Our mentoring system is kind of pants, to be frank.)

People blather on about diversity in STEM, but then REMOVE ALL THE DIVERSITY FROM STEM IN THE PROCESS. Forgive the caps lock there, but holy shitballs people, I can’t be the only one seeing the problem with this. Even setting aside the non-computer parts of STEM, (I have no real experience there, so I tend to stay away from it, and what I do know about diversity issues in “the sciences” indicates that it’s way more complex and nuanced than in computers), there is a lot of neat stuff you can do without being a programmer. I’ve some friends who are IT consultants, and while being a consultant is hard work in and of itself, IT consulting has allowed them to literally travel the world on someone else’s dime. Being a sysadmin requires a lot of hands on. If the things needing your hands on them happen to be in Japan, to Japan you go.

(I read about one guy who managed to become an IT consultant for people who own superyachts. A lot of his work happens in docks in places like Tahiti. Poor guy, I wonder how ever he manages. And what his email address is.)

I’ve worked for big companies, small companies, private industry, higher education, science companies, financial services companies, advertising companies, a really wide breadth. I’ve been able to also work with some really awesome people, all of whom are smart as hell.

And, while the startup field may be nothing but Whitey, the Honkie Devil himself or close to it, I’ve rarely worked in an IT shop that was all male. In fact, since the leaving the military in 1993, I’ve worked for around ten companies in many positions. Out of those ten companies, only two times were there no women. In one case, the company went under before we could expand beyond three people, and in the other (the MIT PD), I was the entire IT shop. My predecessor at the MIT PD however was a woman. (I got to help out on a fairly large theft case once. It was, I have to admit, kind of cool. Felt all CSI-y ‘n’ shit.)

In every other case, women have always been at least a quarter, if not more, of the folks I worked with. Most times they were my peers, sometimes they were my minions, (I don’t have reports, I have minions. Reports are dull, minions help you conquer the world, or have a damned fun time failing), sometimes they were my boss, or my boss’s boss. I’ve even regularly worked in shops where it wasn’t all Honkie McHonkenstein. More than once even.

Even now, some of the smartest people in the IT field I know, at least half of them? Women. They’re bloody brilliant, and I run into more all the time.

That’s not to say or imply that the sysadmin field is nailing diversity. It has quite a bit of room for improvement. But, I at least have never seen some of the bullshit you read about coming out of startups. For one, most companies that need to hire sysadmins already have grownup HR departments. For another, these are women who know about high-voltage, high-amp electrical circuits. Piss them off, they’ll wire you to three-phase AC in an uncomfortable place, and I don’t mean the back of a Volkswagon.

You cannot try to drastically increase the diversity of the computer/tech field by reducing the entire field to a single discipline. Shit, they aren’t even doing that, if you think about it. For the most part, it’s all either iOS/Android or Web apps. So they aren’t covering more than a thumb’s breadth of the programming field. Even less diversity.

I have, where I know the right people, brought up the idea that hey, maybe some of these girls might have a bent towards being a sysadmin or a network admin. Maybe you should consider adding a day wherein you have the girls learn about setting up a network and a room full of computers. Teach them about networks and the plumbing of the internet. Let then learn about the OSI model and SNMP, and what is going on underneath copying files from a server or putting code up on github.

Teach them ALL THE THINGS.

The response has been, usually, laughter, and not the good kind. Yeah, I know, it would be chaos. But it would also be learning, and maybe you’d find another kid who is all thumbs at programming, but given a spool of Cat 6, some ends, a cable crimper and a Fluke LRAT, finds their own place in tech, and maybe starts to figure out who they are. Yeah, they’ll also befoul their language in ways the non-sysadmin world isn’t ready for, (Sorry, but you cannot run a network without profanity. It’s a fact), but whatever. Proper use of profanity is a necessary life skill.

Sure, you may have a borked up network, but on a small scale, you can probably fix that. Besides, making mistakes and fixing them is kind of part of learning, right? FUBAR’ing up imaging ten machines and having to fix it will teach the hell out of a kid.

How can we be all about education, and then go out of our way to limit that? How is that even education?

Again, please don’t misconstrue this to be “TEACHING PROGRAMMING IS BAD.” Because I don’t think that not at all. But don’t just teach programming and only programming. Don’t pervert what should be an inclusive idea into something that is anything but. Because then you’re telling kids that if they can’t program, if they aren’t good at this one thing, then the corollary you are also teaching them is that if they can’t program, all of STEM is closed to them. Is that what we really want? No, I don’t think it is.

There’s a lot more to programming than iPhones and Web apps, there’s a lot more to being a programmer than working in a startup, and there is a lot more, so much more to the computer field(s) than coding. The current vogue is really limiting, and ultimately, hurting as much as it helps.

If you’re trying to help kids out, maybe you should start by not keeping them out.