Geeks at work

"Being Geek" author Michael Lopp on job interviews, shady managers and knowing when it's time to go.

Career guides try to distill jobs into basic components. “Work hard and get ahead.” “Be your own advocate.” That sort of thing.

But anyone who’s been in an office for a while knows that human interaction undermines those components. The real trick — and it takes a long time to learn this — is realizing the work system isn’t a system at all. It’s an arbitrary and ever-changing rule set that often pushes reason to the sidelines.

That’s a rough conclusion for “system thinkers,” a category of worker Michael Lopp, author of “Being Geek” and the blog Rands in Repose, puts himself in. Lopp is a geek. He’s a guy who likes order and predictable outcomes. And he understands that system thinkers can face unique pressures in the office.

In the following Q&A, Lopp passes along the nuggets of workplace wisdom he’s acquired, including: how geeks can communicate with non-geeks, why geeks and managers don’t get along, and how to know when it’s time to move on.

What is a system thinker?

Michael Lopp: Michael LoppNerds are system thinkers. We have this clever illusion that the world is a knowable place. With think with enough work and enough time and enough effort, we can find a set of rules about everything. That is totally not true.

Our favorite tool is the computer. And the computer is a system that does a predictable thing. Since that tool is omnipresent in our lives, it gives us the impression that everything’s like that.

Do system thinkers put too much faith in management?

ML: I think it’s the exact opposite. What are the top three things that managers do? They organize things. They communicate. They’re supposed to be leaders. Leadership is really interesting to folks, inspiring people and being strategic. But those first two, organization and communication, sometimes turn into power trips for a lot of managers. They use information as a weapon. That is a huge violation to the geek ethic, where you’re supposed to be transparent and knowable and systematized. This is where I think managers get bad reputations, hiding information or doling it out as he or she sees fit.

One of the reasons there’s a chasm between geeks and mangers is that managers sometimes forget who they are and what they did. They get lost in the politics and people and the process. There are good managers out there, obviously, but I think that’s where geeks are a little suspect of managers. They’ll wonder, “Why don’t you speak my language anymore?”

What are the early signs that it’s time to move on from a job?

ML: I don’t know if you’re like this, too, but you sort of decide before you decide. You don’t necessarily make a deliberate choice. You just find yourself wandering.

For example, I never answer my phone. I don’t even have a phone in my current gig. But whenever the phone used to ring I’d think, “It’s a recruiter or it’s a lawyer.” And sometimes I’d wonder “What else is out there?”

Also, nerds get a high out of building stuff. When you stop getting that high because you understand the people and you’ve delivered the product three times, that’s a sign. For me, when I stop learning, when I realize I haven’t been scared in a while, that’s when I start wandering.

Programming jobs sometimes incorporate brain teasers or problem solving during the interview process. Is there a way to prepare for those tests?

ML: As someone who’s hiring, you want to see how a prospective employee thinks on his or her feet. There’s probably ways to find the top 20 most interesting brain teasers. But the point is to see how the interview subject thinks.

As a system thinker who wants to understand the rules, It would be great to walk in and know the questions. But that’s cheating. You’re trying to learn about each other in this interview process. Great interview questions reveal not just what you know but also how you’re reacting to this information.

How many interview callbacks is too many? When does it become a red flag?

ML: If you’re coming back for the third time, what does that say about the organization? Can they assess and can they execute? Do you want to work at a place where they can’t make a call? That’s the first thing that comes to mind.

But sometimes you can discern a theme from each interview. There’s the getting to know you interview. Then the next one is the deep technical interview. And then there’s the cultural fit interview. The question to ask is: Is there progress being made? A healthy interview process has a sense of progress.

Interviews go both ways. You’re learning as much about them as they’re learning about you.

How can system thinkers communicate with non-system thinkers?

ML: There’s a lot of instincts that we nerds have that are going to confuse the heck out of the non-nerd crowd. One of those things is specificity. You ask me, “How long is it going to take to do this feature?” What you’re looking for is a t-shirt size: small, medium, large. But I’m going to give you the three-minute answer about the state of the architecture, why the code is brittle, and what I’m going to need. And this annoys the hell out of you. All you want are the broad strokes.

My advice is to know your audience. Engineers learn this over time. They can read a room and understand the type of answer those people are looking for.

You use the term “nerd” on your blog, but your book is titled “Being Geek.” Is there a difference”?

ML: The intro to the book actually addresses that. I picked “nerd” as the word years ago to describe this demographic. But we called the book “Being Geek” because that sounds great. “Being Nerd” doesn’t roll off the tongue.

I did a lot of research into figuring out the difference between nerd and geek. There really isn’t one. The Venn diagram completely intersects. For every great definition of nerd, you can find the same definition of geek.

The etymologies of the words are interesting. “Geek” is the circus guy who bites the head off of live animals. “Nerd” comes from a Dr. Seuss book. That’s the only big difference I could find.

This interview was condensed and edited.

Related:


Get the “Being Geek” ebook for $9.99. Use discount code BGDD9.

Related

Sign up for the O'Reilly Programming Newsletter to get weekly insight from industry insiders.
  • David Emery

    So I wonder what the difference would be (if any!) between “system thinkers” and “thinking architecturally”?

    But I’ll take a stab at this: System thinkers think holistically. Architectural thinking considers the whole system in the context of its environment. Here’s the analogy from civil engineering:
    ‘systems thinking’ could be reasoning about the ability of the entire structure to support snow and/or wind load.
    ‘architectural thinking’ could be reasoning about the size and shape of the space to support the intended use.

    In particular, an architect would reason about the acoustics of a church or concert hall, and the engineer would think about the ability of that hall to withstand snowmaggedon or a hurricane.

    It’s my observation that (a) not everyone can think ‘systems’, and even among those that can ‘think systems’, not everyone can think ‘architecturally’.

  • Slava Agafonov

    Very good article, but I think people who can be “Geeks” are not exist. It is like in the TV show Big Bang, people just trying to stereotyping some people behavior and compare it to IT guys.

  • Rodney V

    A “Geek” is a person helps everyone. A “Nerd” is someone who helps themselves.

  • Russell Dyas

    The definition I have used is a geek is a nerd with social skills.

    Regards

    Russell

  • Greg B

    As always XKCD has something to say on this topic. http://xkcd.com/747/