Or: Why we tell you to turn it off and on again.
Last week 4Thought’s fearless leader and CEO Jenna Hage-Hassan outlined her roadmap on how to wrangle the geeks at a tech company. As the head geek at 4Thought Studios, I thought it was important to write a companion article to clear up some minor misconceptions on geekiness and what it takes to be a geek. I hope this can be informative both to my geeky brethren and to the less-geeky among us.
On Setting up a Computer
As Jenna pointed out in her article, we geeks might get a little excited about finding, spec-ing out, and purchasing the computer that we will be using to do our job. After all, a computer is a computer right? Wrong. We don’t need just your run-of-the-mill setup here — we aren’t just looking for a glorified google/stack overflow machine, we need some POWAH.
“But Brad,” you may be saying, “I see you coding over there — it just looks like you are mashing out archaic glyphs into a re-colored Microsoft Word — how much power could you possibly need?” The secret here is that in the modern development world, we are actually running anywhere between 2–4 separate virtual computers at any one time. Throw in having to slice up images in something like Photoshop and you’ll run out of computer resources faster than Faygo at a Juggalo gathering.
On answering technical questions
Answering technical questions is the single most hazardous activity that you undertake as a geek. Your end goal is to answer their question to the best of your ability so they can move on with their work as quickly as possible. But — the cards are stacked against you. The question will be over-simplistic, ill-formed, and you will not be given the full context of why this question is being asked of you. Make sure to consult your tea leaves to difine how much detail to go into, because you risk either insulting someone’s ego when you “dumb it down” too much, or put your questioner into defensive, deer-in-headlights mode if you start to hash out the entire architecture surrounding the little piece of code that you were happily hacking away on just a few minutes ago.
A whole other class of issue can come up when asked about something outside of your particular specialty. It doesn’t matter if you are a system administrator, a systems programmer, or an architect — you WILL be asked why they keep getting ads for Cialis popping up on their screen. It DEFINITELY has nothing to do with the meme-creator toolbar they installed earlier that day.
Ok — maybe that’s a bit unfair. That is (hopefully) not a typical conversation that you will have with your coworkers. My fellow geek Adam Perkins was kind enough to let me share a list of recent questions he’s fielded as a techie-on-hand:
- Which brand of computer is best to buy?
- So, Macs are better than PC’s, huh?
- Why does my login ID disappear from the text box after the sysadmin logs in?
- Which antivirus is best? Should I install two?
- I’ve got this idea for a Facebook killer. You code it, I’ll advise.
Let’s expand a typical back-and-forth to illustrate how these can be frustrating:
Normie: I can’t connect to DropBox to send this file to Joe.
Me: Oh ok — what’s happening?
Normie: It just won’t work.
Me: I don’t have a ton of experience with DropBox but let’s see what we can do. Are there any errors on your screen when you try to share it?
Me: So tell me what steps you are taking to share it.
Normie: I dunno — just the normal stuff. It just wont work! Fix it!
Me: Ok — walk me through it, let’s do it together. How do you normally share a file on DropBox?
Normie: I just put it in the thing and then it does the thing.
Me: Ok — what’s the first thing and uhh… whats the second thing?
Normie: Look — if you can’t help me then what the hell do I need you for, I just need to share this damn file!
On Turning it Off and On Again
Ok look — we aren’t just messing with you. Turning off a device and letting it sit for a minute before turning it back on again really does work well!
Why? I believe that factmyth.com has the simplest and most non-technical explanation as to why this works:
Electronic devices are state based machines, as in they start at one state and go to the next in steps. Programs work the same way (code is sequential and logic based). Restarting an electronic device gives it “a fresh state” and re-initializes the device, resetting it back to the initial state.
Simple right? I’m glad we cleared that one up.
Geeks are no different than our non-geek brethren. We eat the same food, we put our pants on one leg at a time, and we obsess about memory management and good testability just like everyone else. We’re not magicians and we are not inhuman, even if sometimes we try to answer a question in the form of an if…then statement from time to time. Give us some food, a good computer, and some time to play around with the color scheme of our terminal emulator and we will give you some good code. Just give us a break if we ask you to google a thing or two from time to time.