No it's not you, I do get asked to be a sysadmin quite often. I have no idea why. It's not something I'm good at. I did for a short time in college to pay tuition a decade ago. I don't enjoy it. I never apply for it. For some bizarre reason, people ask if I want to be a sysadmin out of the blue. Drives me crazy.
It's not that bizarre, you write software mainly used by systems administrators. I used to work with one of the guys who wrote apache, and now work with a guy who wrote most of one of the popular NOSQL engines. And they both work as systems administrators. Not "useradd" systems administrators (although they are technically in that part of the org chart) but more like what Google calls "SREs." Rather than explaining what it is, this guy's google groups post does a better job:
If they just want you to add user accounts, that's weird. But SRE style jobs are where a lot of guys who write famous open source systems software end up.
from the google groups post:
"Yes, sysadmin skills are essential here, however we also require a very strong skillset in development, automation, high-level systems architecture, networking, statistics and general problem-solving."
Google says something like that for every job. From what I know about SREs, the "programming" you do is basically shell scripts to automate sysadmin stuff. Programming, sure, but the most boring type possible.
Yeah, SREs don't do all that much hard-core programming, but they need a skill that's almost harder: the ability to quickly evaluate whether a change is likely to bring the system down or otherwise cause reliability problems. SREs get consulted very often by engineers for questions like "Do we have enough capacity to burn 15% more CPU for the next week?" or "Is this change likely to cause an unacceptable risk of serving bad pages to users?" They also do code & design reviews.
In that respect, the job description is pretty accurate. You do need a strong skillset in development, automation, high-level systems architecture, networking, statistics, and problem-solving to perform well as an SRE. You need to be able to think on your feet and evaluate the suggestions that engineers are throwing at you before somebody does something stupid, as well as the ability to figure out how to avoid having problems recur.
"SREs don't do all that much hard-core programming"
On the contrary, some of the code I've seen written by SREs has been among the most delicate, finely tuned, and "hard core" (by my definition) I've seen.
That's because the odds that a sysadmin is an absolute nut for delicate, finely tuned, hard core code are orders of magnitude larger that the odds for a standard programmer.
It's not required, but that pedantic nature seems to help make a good sysadmin.
Personally, I cannot stand the type of programming which is encapsulating a bunch of "BUSINESS LOGIC" in code. I.e. "apply this much tax unless we are in florida or new york, then apply this much. except on the day after christmas..." or even worse, "restrict these parts of the site to the accounting department, except for gary because he's in fiance, too" etc.
You know how Clark Kent's boss, in the first Superman movie, says "A good reporter doesn't get great stories — a good reporter makes them great."?
Same thing with programming. If you are given enough freedom to do the job right, and you can find a way to motivate yourself, there are no bad programming jobs.
Zed Shaw himself has bragged about a system he wrote which does the kind of business logic you mention -- except by his description it's a meta-programming system that can add rules almost as fast as they can think them up. That sounds like some sort of constraint solver, which is among the fanciest kind of programming around.
I actually find that pretty interesting because it allows me to learn about different types of businesses I otherwise wouldn't be exposed to. I guess the key is to work in a field you're interested in.
"This role is in no way fitting for failed developers, it is for developers/engineers that have outpaced their career path. One that has a deep understanding of how things work: a complete systemic view of general site architecture."
Ah, nice downvotes, I guess a good lesson to not comment on smartass one liners who can later edit out the entire theme and content of their original post.
The original post I commented on: "Maybe because you write software used by sysadmins?"
Right now, find a company doing something bad ass with HTTP and then make Mongrel2 blow their socks off. Then repeat it again and again until I've got something.
Zed, you do not want to go anywhere near an education graduate school. All these opportunities are yours except D.Ed. — Attempt no landings there.
If you think you've been a poor fit at some companies, you ain't seen nothing yet.
Education departments attract some of the very worst students, people pathologically stricken with know-nothingness. The graduate schools then take the more craven among them, the ones that realize that their school-system contracts give them huge automatic raises for getting higher degrees, often paid for too. They often come out as worse teachers after having had the recently recycled fad pedagogies pumped through them, which they then regurgitate in a game of telephone onto their students.
If you want to work on some stellar CS education stuff, try to talk your way into Kay's VPRI. Stay the hell away from Ed schools, they'd make your blood boil.
Say what you like about the tenets of Constructivism, Zed, at least it's an ethos. I'm surprised that you'd have beef with it — you don't even like Papert's Constructionism?
As easily misinterpreted and misapplied as liberation pedagogy can be, at least it gives the non-subject-matter-experts something to apply themselves at, something they could actually help children with even if they're as dumb as a bag of rocks. It's definitely not a good fit for you, but it's far from worthless.
I'm a scientist mostly, so I prefer Direct Instruction from Siegfried Engelmann and Wesley C. Becker and learned quite a bit about how to teach effectively from them. What's interesting is DI is the only method with solid evidence backing its success. Lots of it. The others are mostly just bullshit rhetoric.
Would you like it if you weren't the author, director, and performer of the script?
DI does have it's merits — it does keep bright assholes like us from dominating the classroom as students in a mixed setting. You can also get through the material a lot faster without getting mired in repetitive interactivity, but the script has to be perfect, or you can skip past a crucial facet without noticing, and there's very little opportunity to get back on the rails, especially because from the lecturer's perspective the resulting complaints are difficult to distinguish from the usual whining.
Part of the problem with curriculum design is that trials generally only occur with either uniformly high-achieving or uniformly delinquent students, both of whom can abide nearly any method if it's intentionally delivered.
What's your sales pitch for mongrel2 against things like Unicorn & Passenger. The new features of mongrel2 seem awesome (particularly multiple protocols over the same socket) and given the success of mongrel, I think we all have high hopes for mongrel2. But I'm curious what your thoughts are on what the "killer apps" are for mongrel2 that make it the superior solution to the alternatives.
Operations guy: Mongrel2 is a ops wet dream. Totally automatable and you can use it to easily carve your infrastructure up as needed to scale and deal with all the random crap programmers throw at you.
Programmers: Mongrel2 is future proof and gives you want you need with low friction. Wanna do sockets? Got it. Use any language? Got it. Change up the request flow to work around a bug? Got it. Drop Scala for Rails? Got it.
I'm not that jazzed about the idea of reminiscing about a Smalltalk. How about instead of making esoteric references, you just say what's on your mind?
Alan Kay's talks aren't only about Smalltalk ... they are often about education, and the part computers might play in children's lives. The man is a genius.
Hello Zed. I find myself doing some sysadmin work, not by plan, but it happens that way. Something needs to be working right now, it is easiest to just do it, etc. Also, scaling and deployment issues come up, and best to just deal with stuff. The question is what fraction of time is spent on sysadmin vs. development. BTW, I look forward to checking out mongrel2, and I think using the AGPL + optional commercial licensing is a good plan.
Another comment on AGPL: I both wish that the AGPL became a often-used license and that when required commercial options would be affordable. Obviously developers control the licensing and costs of their creations, but as a for instance, if I could not use AGPL on a customer project: I would be happy to pay about $25 for a VPS license or perhaps $100 for a single server license for good bits of infrastructure software that work better, are more efficient, etc. On the other hand, the neo4j AGPLed project is awesome, I will use it for my own AGPL projects, but the $1000/server cost will probably keep me from being able to use it on customer projects (but maybe not, depending on their budgets).
Sorry for the long rant here, but I would like to see a healthy atmosphere for developers producing quality AGPL projects and the community accepting that they need to pay up reasonable fees for non-AGPL use.
That's a very good comment, and thanks. I mostly went with the AGPL to hedge my bets. It's much easier to reduce a license's restrictions than to increase them later, and I'd like to go with whatever the market wants at the time.
The interesting thing is, other people have had the same sentiment about the AGPL. It seems they actually prefer it plus some small commercial license option. I hadn't really thought people would like the AGPL for servers, but it seems that's what people are liking.
At this point I have no idea which direction it'll go, but I'll make a decision once it's more stable and actually runs stuff.
Is it me, or is this a running meme/problem for him?