Month: January 2024

Remote Learning

Remote Learning

Ohio in the early 90s had few educational options for a middle schooler interested in computers. But when there’s a will (and willing parents, thank you) there’s a way. Somehow I got signed up for a correspondence course in Pascal in 8th grade. Yes, an actual class where I never met in person (and only rarely spoke to the teacher on the phone). Where the majority of exchanges were via the good old fashion United States Postal Service. Where code had to be printed out, mailed, marked up, and mailed back (how’s that for slowing down rapid iteration!)

Despite it seeming painful to modern ideas of remote learning, the material was quite useful in my overall development. Up until then I was completely self-taught; reasonably good in BASIC and some rudimentary C. Learning Pascal, however, really opened up a new world. And luckily for you all, I still have a number of my Pascal programs, which I recently uploaded to Github for your browsing pleasure. Here’s the good stuff that awaits you:

  • MARKET.PAS – This one’s special for two reasons. First, it’s the oldest of all these files, with a last modified date of Dec 6, 1992, making it the earliest example of code I wrote that I still have in digital form (the absolute oldest being this handwritten BASIC program from 1987). And second, it was my attempt to implement the Stock Market Game, a board game from the 1970s that my mom and I played together when I was a kid. No one else in the family ever wanted to join; it was kinda “our thing” (as was Scrabble).
  • GRADE.PAS – A simple gradebook app for teachers. I believe this was the final project for my correspondence course.
  • CYBER.PAS & CYBORG.PAS – Today you couldn’t pay me enough to get into video game development, but as a youngling I had a thing for trying to build them. This code is a tiny step towards what looks like a side-scrolling shooter involving robots and lasers.
  • KARATE.PAS & KGRAPHIC.PAS – Another game effort, this one a fighter like Mortal Kombat, but with stick figures, because I am terrible at visual art. Pretty sure I got it to a reasonably playable state, though the mechanics were terrible and it required two people because there was no AI to speak of.
  • JDNCRYPT.PAS – Built this encryption tool to protect DIARY.TXT, which I still have (but no, I’m not gonna share it). Basically I reinvented a simple rotation cipher using an insecurely predictable pseudo-random number generator, with an easily bypassed magic parameter kill-switch on the executable. How cute. Rule one of cryptography: never ever write your own.
  • GAME133.PAS – In college a mathy friend of mine and I got really into the Number Jumbler. I wrote this solver to do research into combinations that had no solutions. Two years later when I started my first real job, I was tasked to learn Ada, and as part of that effort I ported this solver.

FYI, in upcoming posts I intend to expand on my personal tech history; including a visual history of my computer setups. Will it be of interest? Maybe! But I’m going to do it regardless.

Life Hack

Life Hack

It may not seem like much, but you never know the lives you touch
just by always showing up, even on the days you feel so small.
Turns out it all matters after all
.

– Derek Webb

Want an easy way to be perceived as good at your job? Set aggressive goals for being responsive across all your communication media, and especially strive to avoid failing to respond or missing messages altogether.

My own personal targets are the following:

  • Slack / Text: 5 minutes ideally, 1 hour median, never more than 24 hours
  • Email / Voicemail: 4 hours ideally, 24 hours median, never more than 3 days

Even just an “I got it, will have you a better response by X time” goes a long way (assuming of course that you do indeed follow-up). Liberal use of tools like reminders, snoozed messages, and do-not-disturb / notification settings make this achievable without completely giving up on work/life balance.

I call the approach “radical responsiveness”. In my experience, it’s a simple way to earn trust with colleagues and customers alike. It works across levels and roles, though it’s particularly helpful when being attentive is part of the job, like sales positions, and especially critical for people management. Be the boss that always responds quickly and your team will be imminently thankful.

Of course you won’t be able to meet these objectives 100% of the time, but being known as a responsive person 95% of the time usually means others will assume the best of you for the 5% of time you fail.

Distant Well-Wishers

Distant Well-Wishers

Of all the sources of happy birthday messages (which are truly delightful, by the way), one I least expected was a text from the customer service agent at CoveredCA that I worked with to get health insurance after I was laid off nearly 5 years ago, and haven’t interacted with since.

I get that it’s trivially easy for any organization that knows your date of birth to send out such messages, but…

That’s gotta be some kind of automated message, right? Or a mistake? In any case, thanks for “thinking of me” on my special day!

Buckle Up

Buckle Up

There’s nothing like an effort to make sure all my years of accumulated data is backed up to kick up some nostalgia (not to mention an impending birthday). I doubt anyone else much cares, but this is my website and I’ll fill it up with digital relics from my past if I want to. Consider this fair warning.

We’ll get things started with this beauty, which I wrote September 24, 1992, if the file’s timestamp can be believed. Over 31 years old, it’s the oldest digital document I can find that I wrote myself.

I do not like to go to school. All the teachers do is teach you things you already were taught in 5th grade. That is, except for math and computer class. In math, we learn all about neat things, like 3y2+4(2x3+4). Mr. Farley is a great teacher, and the other teachers should teach like he does.

In computer class we learn about computers, such as this one, and about different computer programs. That is really neat for me because I enjoy working with computers, although some kids are really dumb when it comes to computers. But it is not like English, which is the same every single year. BORING!!!!!

I suppose that Science is O.K. Mr. Freese is pretty cool, and we learn some new stuff, and some old stuff. Like the scientific method. We learned it in 7th grade, and we learn it again now. It doesn’t make any sense.

This is my story about school. I hope that someday teachers will be able to read this and learn from it. Although they won’t listen to the small ideas from a thirteen year old boy, maybe they might get ideas anyway.

For the tech nerds, the file was in WordPerfect format (which definitely squares with the technology I was using in 8th grade), and opened perfectly on my Mac using LibreOffice.

More to come!

Praise And Thanksgiving

Praise And Thanksgiving

Never pass up an opportunity to express gratefulness, especially in the workplace. In my (almost) 45 years of life, I’ve never heard someone say “You say thanks too much, please tone it down.” Do it often, do it out loud, and do it in front of an audience.

That being said, the object of your expressed gratefulness matters. What you praise is what you encourage to happen more often. But the converse is true too, what you don’t praise you will discourage. And if your praise for a person’s work is disproportionately towards things less important to their job, you may be having the side effect of making them feel they aren’t actually doing a good job with the things that do matter.

Of course, that may literally be true. You may be using praise of the inconsequential as a defense mechanism to avoid hard feedback of what is consequential. Or you may not be. But if your praise quotient is out of alignment, the individual you’re praising will have to guess. And that ambiguity can be disheartening.

Missing The Trees

Missing The Trees

Are you the kind of person who, when you have a bunch of questions you need answered, dumps them all into either a single email or a series of Slack messages (optimizing for overall throughput)? Or do you dole them out serially, waiting on an answer for each time before moving on to the next one (optimizing for clarity and completeness)?

I’m not here to say either approach is right or wrong, but I tend to be the “spew all the questions at once” type. And I wonder how many times it’s bitten me.

I came across one obvious example over the weekend when writing my previous post. The discussion of recruiters got me nostalgic, and I went back and read the original email thread I had when going through the initial screening process at Amazon. This exchange jumped out:

You’ll notice I was addressing several things in one go: I was responding to a specific question, and asking a bunch more, somewhat unrelated questions. The recruiter did a decent job with a detailed response, but never answered the highlighted question in particular.

Now, that oversight may have been deliberate (or at least subconsciously skipped) because those roles likely weren’t in this recruiter’s purview. But looking back, I would have been considerably better suited for them vs the one I ended up initially taking.

I’m not complaining about how things played out, but I still have to wonder how differently my Amazon experience might have gone if I’d not made the blunder of burying a critical question, namely ensuring I was aligned to the best job for my skills. Yes, I was unemployed at the time and trying to move fast, but that’s no excuse.

Whether this anecdote means serial communication is better I’ll leave as an exercise for you, dear reader.

Discount Double Check

Discount Double Check

Today’s cautionary reminder to know your audience is something of a sequel to Left Hand, Meet Right Hand. It involves a cold email from a recruiter I got two days ago. Which isn’t a rare occurrence by any means, but what was out of the ordinary was that 1) it was from my former employer, despite there being absolutely no indication the sender realized I was a recent ex-Amazonian, and 2) the jobs being offered were at or below the level I’d been hired at back in 2019, a full five years ago. Needless to say, I’m not interested (and I’m not just saying that because my current boss sometimes reads this blog).

Look, I recognize that this email was probably auto-generated from a LinkedIn search, but it’s a recruiter’s entire job to not only find, but adequately entice, qualified candidates. The poor person was hoist on their own petard with the boilerplate about “raising the bar” and “becoming an industry leader.” Failing to do even a modicum of homework is not frugal nor customer obsessed.

It’s not like it would be that hard. Even if the automation was solely LinkedIn based, my entire work history is right there and it’s pretty obvious I haven’t been a mid-level software engineer in ten years. But an Amazon employee could easily do even better, given that there’s robust internal tooling for querying data on current and past employees. I should know, because I wrote some of it. In fact, from memory I bet I could write a Python script that could cross check a list of potential job candidates against Amazon’s employee lists.

Thanks for the chuckle, my recruiter friend. But do better. Open up your browser, go to https://<redacted_wiki_domain>.com/view/Jud_Neer and you’ll find all the resources and documentation you need to avoid this error in the future.

Run It Back

Run It Back

I’m a creature of habit with a particular love of regular daily routines. Thus starting back to work after holiday is one of my favorite times of year. 2024 is shaping up to be a season of change, though not until summertime, so for a few months at least I’m looking forward to normalcy.

I’m also not superstitious, so I don’t mind saying the above despite things turning out quite differently the last time I posted a similar sentiment.