Physical security is important, too.
Warbeard is at a conference, walking by an un-manned table with a computer and banner that reads:
"Max.secure, your security API in the cloud! Now with: single sign on... cryptography..."
In the third panel, Warbeard has taken the computer.
The type of security they forgot was "physical access"
According to Myers Briggs, I'm an ENQM.
Walt: Has everybody got their Meyer-Brigg test results?
Lain: Yeah. I'm an "ICC". Introspective Cold-Cut. I like quiet walks and America's Favourite Bologna.
Milo: I'm a Justicar-Thinky-Thick-Carved-Ham.
Warbeard: Mine just says "Probable Arsonist"
Lain: Walt, I am concerned that you may have cheaped out on the personality tests.
Walt: Eh, it's not any less scientific this way.
One of my longest-standing pet peeves is the office personality test. It's meaningless office-astrology.
Sometimes you need more than just a revert
Sparky: Could you help me out? I just can't seem to get git to produce a completely clean environment.
Warbeard types: git reset --hard HEAD; git clean -fdx
Sparky: Ok, cool.
Sparky: What's that for?
Warbeard is holding a gas can.
final frame: Warbeard is standing in front of a flaming wreckage.
"Now hand me your passport."
"Uh.. okay. Here you go."
"Why is it made out of glitter and macaroni?"
Your BIG DATA is not so big
Walt: So, after a look at our customer's big data needs, how many servers do you think we're going to need to provision?
Warbeard: Um... one?
Walt: But they have thousands of customers and gigabytes of data. We're planning a whole orchestrated Hadoop cluster!
Warbeard: A 1U blade server can be equipped with 800 Gigabytes of RAM and 24 cores for less than we charge for two weeks of consulting.
Warbeard: We could fit all of the data our customer generates in 10 years on a blade without ever writing to disk.
Warbeard: I've seen that look on your face before. We should still write to disk. Non-negotiable.
Alternate Titles: 'Small Data', 'Blades of Steel', 'Dodge RAM'.
Software developers are like this in real life, I promise
Cube Drone: Hey, if we put an IoT Lightbulb inside the bathroom, we can check whether it's on or off from a web interface. No more wasted bathroom trips when the can is occupied! |
Melissa: Nah - what if someone leaves the light on? We'd need a microphone in there.
Warbeard: Or some biometrics! Lots of people have heart attacks on the john. |
Several revisions later: Milo is wearing a large, clunky "Poop Helmet v7.4".
This is based closely on a very real conversation that we had at work.
Severity one? It can't possibly be that serious
Warbeard gets a text: Boop! |
Warbeard: A severity 1? Seriously? Someone had better be in mortal danger or I'm going to be angry. |
Smoke is pouring out of the server room.
Warbeard: Ok, good use of a severity 1.
I wonder if Warbeard knows that there's a still in there.
Who filed an ops ticket instead of calling the fire department?
It's been just over a year since the last team portrait.
It's a picture of the whole team. Nobody says anything.
It's been just over a year since the last team portrait. Nobody has grown or changed, but they got everybody in the picture this time, and there's a new hire!
You start a new job and the codebase is a clusterfudge, what do you do?
Melissa: So, where can I check out the build code?
Warbeard: Oh, it's on the build servers. |
Melissa: Yeah, but where do you keep it?
Warbeard: I said, on the build servers. |
Melissa makes a very sour face.
But who builds the build code?
Here are some of my thoughts on hiring...
So, lately, I've been reading a lot about how traditional culture-fit and whiteboard interviews tend to produce monocultures, very little useful data, and often choose confident air-bags, people who are great at "gotcha" puzzles and language minutiae, and great culture fits over shy-but-awesome people.
So here's a process that might work. Take with a grain of salt.
Create a list of skills that you feel would be valuable to the team. ("Android Development", "Conflict Resolution", "Ability To Eat Many Hot Dogs") For each skill, decide which member of your team would be best equipped to evaluate that skill.
For each skill, have the subject-matter-expert on your team prepare two to three open-ended non-trivia questions about that skill. ("How many hot dogs would you say that you can eat?" "Describe a time when you have eaten many hot dogs.")
Prepare a five-point scale for every skill, with a loose definition of what a person should be expected to know for each point on the scale.
Pick a language that nobody has ever programmed in, ever, like Rust, Eiffel, O'Caml, or M.
Choose a trivial problem space that is very well defined, like "Scoring Poker Hands", or "Scoring Yahzee".
Think of a single thing to change about the problem space, after the fact. "2s are now wild".
Let your prospective candidate know every step in the hiring process from the get-go, with a friendly chat with the team lead that lasts at least 30 minutes.
Have the candidate take home a copy of every open-ended question, as well as a description of the problem space. Ask them to produce a library, with documentation, in Obscure Language, that allows users to solve problems in that space. Try not to allow the candidate more than one day to work on the library.
Have every member of your team look at the library. Score each library on how easy it is to learn to use, how flexible it is, how easy it would be to adapt the code to account for the change in the problem space, and how easy the code itself is to understand.
If the library meets the criteria, bring the candidate in for the interview. Grouping by team-mate, have the subject-matter-experts ask their prepared questions. Estimate their skill using the rubrics.
Have two team-mates ask the candidate questions about their library, asking how they would change the single thing about their problem space, and to talk about any technical decisions that they made.
To get a lot of useful baseline data, perform this series of steps on all of the people in your current team (making sure to ensure them that their jobs aren't at risk).
That opening is the longest run-on sentence I've included in a comic in ever. Yugh. I apologize, everyone. Doubly for the "scare quotes". Yeesh.
Warbeard: So you're here for the UI Designer role? Lots of... Photoshop, I guess?
Applicant: Actually, I imagined it would be more wireframing and InDesign.
| Miloslav: How would you reverse a linked list in C?
Warbeard: What's the linux command to check file permissions?
Applicant: I... Uh...
Walt: So he couldn't even answer simple questions?
Walt: Finding a decent UI designer is going to be way harder than I'd thought.
In their defense, he did bring a blank sheet of paper as his resume.
Happy New Year!
The whole team is standing around on a roof. Walt is holding champagne.
Walt: A toast!
| Walt: To a team who can handle just about anything!
| Xyzzy (remoting in, on a phone): To working from home!
| Lain: To long life and short line lengths!
| Miloslav: To failing fast while you can
| Warbeard: And failing gracefully at 3AM
| Cube-Drone: And to never hardcoding the year into anything!
| Everyone but Sparky: Cheers!
| Sparky: shit.
Sparky hardcoded the year into something. The joke has now been explained.
Cube Drone: So, Warbeard, I notice you're not on Facebook or Twitter. |
Warbeard: Yeah, I used this old, reliable set of technologies - you know, email, irc... |
Cube Drone: How do you send your friends pictures of your food before you eat?
Warbeard: I... dont?
I even sent a fax, once.
It's just a picture of the team.
I havent forgotten that I have a comic, i've just been distracted by animated shorts
Bingo: Software Developer Edition: go, ember.js, dart, rails, zeromq, noSQL, node.js, nmp, SOA, REST, Free space, LESS, Vagrant, Docker... |
Warbeard, to Cube Drone: Yeah, this is pretty funny, but have you seen the system administrator's version? |
Bingo: Ops Edition: fuck, fuck, fuck, fuck, FUCK, fuck, fuck, fuck, fuck, free space, fuck, fuuuuck, fuck!!, fuck
I am really starting to miss physical media. Maybe I could make a pencil drawing that is a little more coherent than this. I hate this art and everything in the world.
Cube Drone (singing Vacation by the Go Go's and driving a Toyota Matrix): Vacation all I ever wanted... |
Warbeard: Welcome to the cabin. Did you pack anything even remotely appropriate for the outdoors? |
Cube Drone (happily clutching an armload of electronics): Not even a little bit.
I am at a cabin, I do not have time to write alt text.
Warbeard: Okay, dev team, there's been some confusion lately about my policy on deployment environment changes, so I though I'd put together an informative presentation. |
There is only one slide. It reads 'no.'. |
I mean, technically its not Powerpoint, its OpenOffice Present or something like that, but you know what I mean.
Warbeard (to phone): Hey, this is Warbeard, your friendly neighborhood dev-ops.
Phone: Server's down! Fix it! |
Warbeard: Yeah. Scheduled downtime.
Phone: You don't get downtime. We have a five nines support contract.
Warbeard: Uh... have you read the support contract? |
The Contract: 50.99999% uptime
Ugh, the words are almost unintelligible. And poorly placed. Handwriting is hard.
Warbeard: Look, you network-operating centre sons of bitches, If I don't see a working virtual machine in thirty... |
Warbeard: *expletive* your nagios with a heaping does of *expletive*
An arrow saying Dev-Ops is pointing at Warbeard. |
Warbeard: mother<expletive> and your stupid
Cube Drone walks away, whistling.
The swearing continues for at least another 15 minutes, and 5 of those minutes are in fluent Hindi.