My recent post about Working With Canadians generated some interest (and discussion), so I figured I’d move forward with a second post on a related subject.
Much like the previous post, my goal isn’t to provide a perfect profile of every techie (generalizations, by their very nature, don’t hold for every member of a group). Instead I just wanted to highlight some of the characteristics that are common with people who’ve chosen to work with computers. This could be useful to help understand the system administrator at your office, the web developer you’ve hired to build a website for you or that cousin who earns a living designing digital circuits.
Much like the Canadian post, I am a computer nerd, so against my best intentions I might be projecting some of my own characteristics onto computer nerds as a whole (please call me out on it if you disagree with anything I write here).
“The Big Bang Theory” is about physicists more than computer workers (one of them is an engineer, so that’s a little bit closer). They’re certainly nerds though. The running joke of the series is contrasting the four main male characters intellect and geekiness with their neighbour Penny’s attractiveness and common sense.
Allowances have to be made, if someone is doing technical work at a company, don’t put them in a role which requires social skills they may not have. If someone is a genius programmer but insults customer, KEEP HER AWAY FROM THE CUSTOMERS! (and let her code) I’ve always warned employers in the past that I have no artistic skills, so if they ask me to build an interface (or design the website myself), it’s going to be ugly. Fortunately most are aware of this, and respond something along the lines of “oh yeah, we never expect programmers to do the design”.
Some technical people DO have solid social skills, and for this rare combination consider putting them in a role to take advantage of both (such as managing other techies or working with customers).
I don’t mean to say that a nerd will never tell a lie, but there IS a tendency for them to BE more honest than is typical and to EXPECT more honesty than is typical. I had a job pull a “bait and switch” on me (they said I’d be working on one thing, then after I’d quit my current job and started with them they moved me to another, less desirable, project). I was never able to get over this initial deception and the job didn’t work out in large part because of this.
Don’t try to “sell” stuff to techies. Computer people tend to be very good at thinking for themselves, and if you misrepresent something they’ll probably be able to see it. Present the facts, if some things aren’t ideal, be upfront, provide an explanation and let the nerd make up their own mind about it. For example, if you need a website done, DON’T try to convince a nerd that 1/2 market rate is the going price for websites! They’ll realize that’s not true and get angry at being lied to. If you say something like “there’s a lot of developers looking for work right now, so we’re looking for someone with extra time who can give us a good deal” or “that’s all we can afford right now and realize it’s below market, but we want to build a relationship with someone and will hopefully be able to offer higher paying jobs in the future”) they’re more likely to buy it.
This isn’t to say that salary or working environment are unimportant, but computer nerds NEED interesting problems to work on. If you hire someone and say “we want you to do this exact thing in this exact way for the next 5 years”, they aren’t a real computer nerd if they don’t quit. This isn’t to say there aren’t jobs well suited to people who are willing and able to use computers, but for people who *love* them, we need variety and challenge. One fortunate element to this is you can turn a boring task into an interesting one by saying “how can we automate this or make it easy enough to let someone earning minimum wage operate it?”. *BAM*! It just got interesting.
How Things Work
A computer nerd will be very interested in understanding how things work. The benefit to this is that they’ll learn systems inside and out. The downside is that they’re likely to spend time where it looks like they’re just playing with the technology (which they are), but that’s part of the process.
The original meaning of hacker, rather than meaning someone who breaks into computer systems, was people who delighted in understanding a system so thoroughly that they can stretch it’s capacity and make it do new and surprisingly things. From a security perspective, this often entailed getting permissions from the system you weren’t supposed to have, but other real world examples include things like the coffee cam, creating new senses or Steve Wozniak building one of the first personal computers.
Because they investigate things so thoroughly, hackers tend to to be VERY good at what they do. Like any other employees, problems come up, but if you have a problem with a nerd, jumping to the conclusion that they’re not competent is probably a mistake. It’s dangerous territory to accuse them of this. On the off chance you’re right, they’ll probably be abashed and redouble their efforts to understand what they’re working with and become competent. If you’re mistaken about this, it’ll probably trigger the honesty issue and lead to very bad feelings (being called incompetent, or having this implied, is probably one of the worst things you could do to a serious computer type, so tread carefully).
Computer nerds are natural optimists (I read once that no one would ever start writing software if they were honest with themselves about how many problems they’re likely to run into). The good side of this is probably they’ll see a new project in the best possible light. The downside is that you’ll often get “best case” estimates from nerds, no matter how often you ask for most-likely or worst-case. Pad estimates whenever possible so that there are resources in reserve that can be allocated if it turns out the problems are harder than expected (they always are).
Inmates Running the Asylum
When you’re working with hard-core hackers, chances are they’ll understand what they’re working on FAR better than you do. Many people used to a traditional management role will be bothered by this. It means that you’ll have to ask questions and gather information from the techies working for you, instead of dictating things to them. Say they estimate it’ll take two weeks and you demand it be done in one? You’re going to have problems (if they *DO* deliver it in a week, I guarantee either it won’t work properly or your team will have killed themselves to meet the deadline, they can only do that so often). Say they recommend designing things one way and you demand they do it another? Chances are there are going to be unforseen (by you) problems with the design that could have been avoided by talking to the people implementing it.
So I’ll turn the post over to our readers at this point (nerds and non-nerds hopefully both have a perspective on this). Any of these you agree with? Any big points I’ve missed that you’d add? Any of these points that you feel miss the mark?