Storytime: some of my worst interviews

I start my new job tomorrow, so I thought I’d write a little about some of the worst interviews I’ve gone through.

The worst of the worst (my fault edition):

I was interviewing as a junior sysadmin at a company located in Arlington. For some reason that utterly escapes me, I decided NOT to take the Metro from Vienna, but drive. This was not too long after I’d moved up to NoVA and well before there was such a thing as Waze or Google Maps. We had MapQuest but that still involved printing or writing down turn-by-turn, and had no notion of traffic or road construction.

As I said, at the time I’d basically never even been out of Fairfax “farther in” than the Vienna Metro stop (at the time, the most distant station for the entire suburbs and exurbs of NoVA). I had no idea about any landmarks anyone tried to give me.

I ended up in DC somewhere.

I was now doubly lost, because I needed to get out of DC and figure out how to get back to where I needed to be. I had no interactive maps or GPS and only a pre-Razr-era cell phone.

Also, related, it was summer and my car didn’t have AC and I was of course dressed up in a full interview outfit.

I managed to call them and tell them I got lost, which was sort of a bad way to start the interview but it did happen back in those days, so they were miffed but a little understanding.

Then, once I got near where I needed to be, I had to park. The closest parking I could find was over half a mile away or something. I was already incredibly late. I ran as hard and fast as I could in my stupid, uncomfortable interview shoes, and got there, something like 2+ hours past my appointed time. I was drenched in sweat, my feet where blistered from just a short jog, and I looked like a crazy person. The people who needed to talk to me had just bailed; clearly I was a fuck-up and not worth bothering with.

They gave me a glass of water and asked me some half-hearted question about Linux, and then thanked me for my time and escorted me out.

I didn’t get the job.

The worst of the worst (their fault edition):

I went through the interview process at a small web site that sells books and other merchandise. It consisted of a phone screen, a second phone screen with coding test, and then a final on-site coding test/culture fit/torture session.

In the first coding test, they FizzBuzzed me. Like literally gave me a test to do Fizz/Buzz/FizzBuzz. Opinions vary – some people claim it’s still a valid test – but I’ve done hiring of engineers and the only people who fail FizzBuzz are 1)morons or 2)people too lazy to do 5 minutes of searching for common programmer interview questions (which, if you think about it, are morons).

I guess I’m not a moron because I passed it and several other coding questions and got an on-site. Yay!

The instructions were simple: Arrive at 10, and you may dress casually (clean jeans and a decent shirt). I arrived early, as usual, and talked to the security guards to announce myself and tell them who my contact was. They called for them and I was told to sit down.

By 11 – after asking numerous times what the FUCK was going on – I was still just sitting in the reception area as numerous employees came and went. At around 11:30, someone came and fetched me, and escorted me to a huge conference room and told me to wait.

After another 30 minutes or so, a TV on the wall came on and someone started talking to me. It went very badly because whatever they were supposed to talk about, was based at least in part on some conversation I was already supposed to have had! So they tried their best and ended their portion of the interview, and said they would signal the next person to come and get me.

Still more time passes; it’s some time after noon and I was getting thirsty and hungry. Lunch was in theory on the schedule, but when?

Someone came to fetch me and was clearly, obviously, profoundly annoyed at having to do so. They then wordlessly carted me around several floors looking for someone to interview me. Everyone was incensed at the suggestion they stop their important day to talk to some asshole. Some of them had copies of my schedule for the day and were angry that it had been violated, and clearly were looking at me as the source of the problem.

I got bounced around a few tech interviews, and eventually managed to get a quick bite at their cafeteria. The tech interviews were, in my opinion, the worst type: they weren’t interested in how you thought, they just wanted to see how long it took you to get to the answer: “Given a string, find the longest palindrome, you have 30 seconds”. Several of the questions were so jive, I actually asked them, “is this a problem you’ve had to deal with in code before?” which further angered them.

I was already WELL over schedule and over, like, an hour and a half later than I was supposed to be there. I was a little tired, and a lot bewildered at the entire experience, and I had one more 45-minute whiteboard coding session to go. “Since you’re over, you could leave now, but it probably would make you score lower” was the official line. OK, fine.

Another angry asshole, another giant conference room with a whiteboard. He handed me a circuit diagram and wanted me to use OO to model the circuit and then implement it to produce the same, pictured answer.

I just stared at him. “This is a graph. It’s a directed, acyclic graph. You want me to model a DAG.”

“Yes, uh, I mean, model and implement whatever you think it is.”

I was furious. I was on time and had been treated like shit all day, and now this. “OK, answer me this. Is this a DAG? I think this is a DAG.” and I drew a quick sketch indicating the differences between cyclic and acyclic. “Am I even remotely right, here?”

He nodded and sorta grunted that I was. “Fine”, I said. “The next thing I’d do is hit Google to remind myself what the class model for a DAG looks like, because I’m tired and grouchy, every programmer I’ve ever met uses Google or Stack Overflow or even a file full of notes to do a lot of their work, and frankly my dude I have better things to do than this. I have correctly identified the problem which is, like, 90% of professional programming. I’m done. Thank you for your time.”

He looked like he wanted to hit me. He ran out and got someone. I was quickly escorted out without a word from anyone.

I didn’t get the job.

Applescript is unrelenting garbage, an ongoing series

From the docs for the “Standard Suite” command make:

Screen Shot 2018-03-07 at 2.43.23 PM.png

 

As written this says that new is a required, optional keyword to the make command.

The intention/actual meaning is that the type class is a required argument to the make command, and use of the new keyword is optional.

Also, for what it’s worth, with data is required (in BBEdit anyway), which another part of the documentation says is optional.

A brief, painful attempt to understand JSA

JSA is “JavaScript for Automation”, aka Apples attempt to embed JavaScriptCore into their Apple Event model.

The use case here is, roughly, “I know JavaScript and [love|like|tolerate] it, but I cannot under any circumstances be arsed to do anything useful in AppleScript, because AppleScript is easily one of the worst software platforms ever created by man”.

Seriously, AppleScript is extremely bad. I have in my life encountered a few people who loved it; and nearly 100% of them are not work-a-day programmers. AppleScript is purpose-built to confuse, annoy, and frustrate people who can chew through languages like Swift with little effort.

(I’m not trying to start a “you’re not a real programmer” thing; if you write a program – any program – you’re a real programmer! I’m just saying that the norms AppleScript adheres to are typically diametrically opposed the stuff we work-a-day programmers have deeply, deeply internalized as “normal”.)

Anyway! I decided rather than replace a bunch of light switches my wife has decided are no logner aesthetically pleasing, I thought I’d spend the morning trying to hack on some JSA. After all: how hard can it be? It’s JavaScript and I know JavaScript, and I have once or twice managed to fumble around with AppleScript until I accomplished something useful.

I can sum up the morning with the phrase, “Oh, for fuck’s sake”.

Continue reading “A brief, painful attempt to understand JSA”

Modifying Uncharted Worlds ship combat to resemble “The Expanse”

Uncharted Worlds has a Move called “Shields Up”. It’s a pretty simple move to resist damage. But ships in The Expanse don’t have shields. So what the heck do we do?

PDCs to max!
Attempt to shoot down incoming torpedoes; roll 2d6.

On a 10+, you eliminate the most dangerous torpedo attack pending.
On a 7-9, you defeat the incoming attack but the next attack takes -1 (include any previous negatives).
On a 6-, the PDCs have failed to protect and the torpedo hits.

But what about railguns?

Defensive Maneuvers
Roll, pitch, and move along the thrust vector; roll 2d6

On a 10+, you dodge the incoming railgun attack. Yay!
On a 7-9, take half damage.
On a 6-, you take full damage.

OK not exciting, but that’s about all they do in the show.

Alternate skill resolution systems

I was thinking today about different ways to implement a skill system.

The question I asked myself was: how often did I “fail” a “test” at work?

Ok, I get it, developing ecommerce software in Perl is hardly an epic adventure that our PCs regularly face, but there are parallels:

  • A fantasy group haggling with a merchant
  • A scifi group working on fixing the stardrive or whatever
  • A cyberpunk group fencing stolen data

So relative to those sorts of tests, I thought about the Powered by the Apocalypse “success with complications”. That’s pretty interesting, but not quite what I was thinking about.

The mechanic I was envisioning probably exists in many systems: it’s a question of time. How long does a task take to succeed?

This goes back to my thought about work. I rarely failed but some of the time, it took me a considerably longer time to complete the task. Still other times, I had a sudden flash of inspiration or just a solid work day and knocked out whatever was on my plate. Similarly, adding more people to a task often helped (and sometimes hurt – you can’t have 9 women birth a baby in a month).

I think this resolution method applies mostly to professional or vocational skills, not “instant” actions (although, if you’re a professional locksmith …).

Still, something to think about when working out how your PCs tackle a task.

Motivations of the Big Bad

Another thing I think about a lot of the time is the motivations of my Big Bad. I’m running out of ideas for something new.

An example is Justice League. (Spoilers, I guess.) The motivation of Steppenwolf is to find these 3 magic mcguffins, and then use their power to “terraform” the planet into his. (His ecology is apparently lots of fire and yelling, none of those awful plants or animals)

This is really dumb, because it presumes that for some reason there’s not a lot of interesting places to terraform. We’re talking about a universe with both Old and New Gods, and dimensional travel and all sorts of other things, AND probably the Drake Equation. So … why the hell does he even need Earth? Just find a rock in the habitable zone you need, and use the boxes to “clean it up”. No muss, no fuss, and no pesky Atlanteans and Amazons messing with you.

In other words: this is an example of a Big Bad whose motivation is dumb. He’s a garden-variety sadist with a magic McGuffin. That’s boring.

Another funny thing to think about is how any attempt to bring forth some “new dark age” will always end up creating a boring, bureaucratic empire. Your glorious dark legions will run out of things to conquer, and will spend most of their time trying to get those layabouts in the GleepGlorp mountains to pay their goddamned taxes. I mean, what else can happen, once you’re on the throne? What the hell else would happen had Sauron won? He’d have plowed over the gentle agrarian Hobbits in favor of factory farms, and you can’t just kill them all because those Orcs of yours are hungry.

So I’m thinking a lot about the idea of a kind of aging Dark Lord. He conquered the known world with fire and steel and his evil magics, every hero fell before his loathsome might. But now, it’s a thousand years later. The players take the role of higher-ups in his regime. They have to deal with all sorts of unusual problems: reports of a rebellion (turns out it’s just a play, but the regime refuses to listen – and wants the “rebels” exterminated), politics (those pesky taxes and the functionaries who collect them), and what happens when your death-dealing shock troops run out of enemies. As a kind of complication, the players may work for a kind of Chaotic Evil regime but they themselves are not really evil at all.

It might get boring, or it might be hilarious. I can’t decide.

It’s the end of the world as we know it

Post-apocalyptic settings are numerous in RPGs: here’s a good feature on quite a few of them.

They mostly feature the “fun stuff”: mutants, dungeon crawls, weird tech, a nuclear war, and so on. Something awful happened; the world changed; I need to dress in leather, chains, and old tires, and fight to survive against waves of bloodmurder fuckvikings.

Rebuilding the “world that was” is a central theme to a few of them: The Morrow Project, for example, and in a roundabout way, Traveller: The New Era.

One of the themes I don’t see explored, and wish I could, is the idea of emptiness. How do you build and populate a meaningful game world that is empty, and cold, and lifeless, and barren?

Without the requisite bloodmurder fuckvikings (or whatever) is it just a series of “collect food and clean water” skill checks, until you die? Could all that emptiness be turned into a kind of meta-mystery?