NEWS!
A version of this has been bought by IBM 
  DeveloperWorks.
Furthermore, IBM sponsored another article, the Manager 
  FAQ, a guide to managers for hackers who are frustrated and confused by 
  corporate life. I'd like to thank IBM for their kind support of this project. 
  I'm pretty happy with the new piece, and I'm glad to have finally been nudged 
  into posting it.
I'd like to point out how reasonable and friendly IBM has been about this; 
  compare with the way that CRC has treated Eric Weisstein.
I have a Powell's "bookshelf", which is sort of a list of recommended books; some are fairly relevant to this page.  Look!  Books!
The Hacker FAQ
The following list is an attempt to cover some of the issues that will invariably 
  come up when people without previous experience of the hacker community try 
  to hire a hacker. This FAQ is intended for free distribution, and may be copied 
  as desired. It is in an early revision. If you wish to modify the FAQ, or distribute 
  it for publication, please contact the author. The author is seebs@plethora.net. 
  The official distribution site (as of revision 0.05) is "http://www.plethora.net/~seebs/faqs/hacker.html".
 DISCLAIMER: The author is a hacker. Bias is inevitable.
		
This document is copyright 1995, 1996, 1998, 1999 Peter Seebach. Unaltered 
  distribution is permitted.
Revision 0.05 - Last modified September 28, 1999
		Questions and Answers:
		Section 0: Basic understanding.
		
 - 0.0: Won't my hacker break into my computer and steal my trade
			secrets?
 
  - No. Hackers aren't, contrary to media reporting, the people who break into 
    computers. Those are crackers. Hackers are people who enjoy playing with computers. 
    Your hacker may occasionally circumvent security measures, but this is not 
    malicious; she just does it when the security is in her way, or because she's 
    curious. 
 
    - 0.1: Was it a good idea to hire a hacker?
 
  - It depends on the job. A hacker can be dramatically more effective than 
    a non-hacker at a job, or dramatically less effective. Jobs where hackers 
    are particularly good are: 
    
      - Systems administration 
 
      - Programming 
 
      - Design 
 
    
  Jobs where hackers are particularly bad are:
    
    More generally, a job that requires fast and unexpected changes, significant 
      skill, and is not very repetitive will be one a hacker will excel at. Repetitive, 
      simple jobs are a waste of a good hacker, and will make your hacker bored 
      and frustrated. No one works well bored and frustrated.
    The good news is, if you get a hacker on something he particularly likes, 
      you will frequently see performance on the order of five to ten times what 
      a "normal" worker would produce. This is not consistent, and you 
      shouldn't expect to see it all the time, but it will happen. This is most 
      visible on particularly difficult tasks.
 
    - 0.2: How should I manage my hacker?
 
  - The same way you herd cats. 
    It can be a bit confusing; they're not like most other workers. Don't worry! 
    Your hacker is likely to be willing to suggest answers to problems, if asked. 
    Most hackers are nearly self-managing. 
 
    - 0.3: Wait, you just said "10 times", 
      didn't you? You're not serious, right?
 
  - Actually, I said "ten times". And yes, I am serious; a hacker 
    on a roll may be able to produce, in a period of a few months, something that 
    a small development group (say, 7-8 people) would have a hard time getting 
    together over a year. He also may not. Your mileage will vary. 
    
IBM used to report that certain programmers might be as much as 100 times 
      as productive as other workers, or more. This kind of thing happens.
 
    - 0.4: I don't understand this at all. This is 
      confusing. Is there a book on this?
 
  - Not yet. In the meantime, check out The New Hacker's Dictionary 
    (references below; also known as "the jargon file"), in particular 
    some of the appendices. The entire work is full of clarifications and details 
    of how hackers think. 
 
		Section 1: Social issues
		
- 1.0: My hacker doesn't fit in well with our corporate society.
			She seems to do her work well, but she's not really making many
			friends.
 	
  - This is common. Your hacker may not have found any people around who get 
    along with hackers. You may wish to consider offering her a position telecommuting, 
    or flexible hours (read: night shift), which may actually improve her productivity. 
    Or hire another one. 
 
    - 1.1: My hacker seems to dress funny. Is there any way to impress
			upon him the importance of corporate appearance?
 
  - Your hacker has a very good understanding of the importance of corporate 
    appearance. It doesn't help you get your job done. IBM, Ford, and Microsoft 
    have all realized that people work better when they can dress however they 
    want. Your hacker is dressed comfortably. A polite request to dress up some 
    for special occasions may well be honored, and most hackers will cheerfully 
    wear clothes without (unintentional) holes in them if specifically asked. 
    
 
    - 1.2: My hacker won't call me by my title, and doesn't seem to
			respect me at all.
 
			- Your hacker doesn't respect your title. Hackers don't believe
			that management is "above" engineering; they believe that management
			is doing one job, and engineering is doing another. They may well
			frequently talk as if management is beneath them, but this is
			really quite fair; your question implies that you talk as if engineering
			is beneath you. Treat your hacker as an equal, and she will probably
			treat you as an equal -- quite a compliment! 
 
			- 1.3: My hacker constantly insults the work of my other workers.
 
			- Take your hacker aside, and ask for details of what's wrong with
			the existing work. It may be that there's something wrong with
			it. Don't let the fact that it runs most of the time fool you;
			your hacker is probably bothered by the fact that it crashes at
			all. He may be able to suggest improvements which could dramatically
			improve performance, reliability, or other features. It's worth
			looking into. 
			
You may be able to convince your hacker to be more polite, but
			if there appear to be major differences, it's quite possible that
			one or more of your existing staff are incompetent. Note that
			hackers, of course, have different standards of competence than
			many other people. (Read "different" as "much higher".)
 
		
		Section 2: Productivity.
		- 2.0: My hacker plays video games on company time.
 
			- Hackers, writers, and painters all need some amount of time to
			spend "percolating" -- doing something else to let their subconscious
			work on a problem. Your hacker is probably stuck on something
			difficult. Don't worry about it. 
 
			- 2.1: But it's been two weeks since I saw anything!
 
			- Your hacker is working, alone probably, on a big project, and
			just started, right? She's probably trying to figure it all out
			in advance. Ask her how it's going; if she starts a lot of sentences,
			but interrupts them all with "no, wait..." or "drat, that won't
			work", it's going well. 
 
			- 2.2: Isn't this damaging to productivity?
 
			- No. Your hacker needs to recreate and think about things in many
			ways. He will be more productive with this recreation than without
			it. Your hacker enjoys working; don't worry about things getting
			done reasonably well and quickly. 
 
			- 2.3: My hacker is constantly doing things unrelated to her job
			responsibilities.
 
			- Do they need to be done? Very few hackers can resist solving a
			problem when they can solve it, and no one else is solving it.
			For that matter, is your hacker getting her job done? If so, consider
			these other things a freebie or perk (for you). Although it may
			not be conventional, it's probably helping out quite a bit. 
 
			- 2.4: My hacker is writing a book, reading USENET news, playing
			video games, talking with friends on the phone, and building sculptures
			out of paper clips. On company time!
 
			- He sounds happy. The chances are he's in one of three states:
			
			
				- Basic job responsibilities are periodic (phone support, documentation,
				et al.) and there's a lull in incoming work. Don't worry about
				it! 
 
				- Your hacker is stuck on a difficult problem. 
 
				- Your hacker is bored silly and is trying to find amusement. Perhaps
				you should find him more challenging work? 
 
			
			Any of these factors may be involved. All of them may be involved.
			In general, if the work is challenging, and is getting done, don't
			worry too much about the process. You might ask for your corporation
			to be given credit in the book.
			 
			- 2.5: But my other workers are offended by my hacker's success,
			and it hurts their productivity.
 
			- Do you really need to have workers around who would rather be
			the person getting something done, than have it done already?
			Ego has very little place in the workplace. If they can't do it
			well, assign them to something they can do. 
 
		
		Section 3: Stimulus and response
		- 3.0: My hacker did something good, and I want to reward him.
 
			- Good! Here are some of the things most hackers would like to receive
			in exchange for their work: 
			
				- Respect. 
 
				- Admiration. 
 
				- Compliments. 
 
				- Understanding.
  
				- Discounts on expensive toys. 
 
				- Money. 
 
			
			These are not necessarily in order. The 4th item (understanding)
			is the most difficult. Try to remember this good thing your hacker
			just did the next time you discover he just spent a day playing
			x-trek. Rather than complaining about getting work done, write
			it off as "a perk" that was granted (informally) as a bonus for
			a job well done. Don't worry; hackers get bored quickly when they
			aren't doing their work.
 
			- 3.1: My hacker did something bad, and I want to punish him.
 
			
  - Don't. 30 years of psychological research has shown that punishment has 
    no desirable long-term effects. Your hacker is not a lab rat. (Even if he 
    were a lab rat, punishment wouldn't work; at least, not if he were one of 
    the sorts of lab rats the psych research was done on.) If you don't like something 
    your hacker is doing, express your concerns. Explain what it is that bothers 
    you about the behavior. 
    
Be prepared for an argument; your hacker is a rational entity,
			and presumably had reasons. Don't jump on him too quickly; they
			may turn out to be good reasons.
			Don't be afraid to apologize if you're wrong. If your hacker admits
			to having been wrong, don't demand an apology; so far as the hacker
			is concerned, admitting to being wrong is an apology, most likely.
 
			- 3.2: I don't get it. I offered my hacker a significant promotion,
			and she turned it down and acted offended.
 
			- A promotion frequently involves spending more time listening to
			people describing what they're doing, and less time playing with
			computers. Your hacker is enjoying her work; if you want to offer
			a reward, consider an improvement in title, a possible raise,
			and some compliments. Make sure your hacker knows you are pleased
			with her accomplishments -- that's what she's there for. 
 
			- 3.3: My company policy won't let me give my hacker any more raises
			until he's in management.
 
			
  - Your company policy is broken. A hacker can earn as much as $200 an hour 
    (sometimes more) doing freelance consulting. You may wish to offer your hacker 
    a contracted permanent consulting position with benefits, or otherwise find 
    loopholes. Or, find perks to offer - many hackers will cheerfully accept a 
    discount on hardware from their favorite manufacturer as an effective raise. 
 
    - 3.4: I can't believe the hacker on my staff is worth as much as
			we're paying.
 
			- Ask the other staff in the department what the hacker does, and
			what they think of it. The chances are that your hacker is spending
			a few hours a week answering arcane questions that would otherwise
			require an expensive external consultant. Your hacker may be fulfilling
			another job's worth of responsibilities in his spare time around
			the office. Very few hackers aren't worth what they're getting
			paid; they enjoy accomplishing difficult tasks, and improving
			worker efficiency. 
 
		
		Section 4: What does that mean?
- 4.0: My hacker doesn't speak English. At least, I don't think so.
 	
  - Your hacker is a techie. Your best bet is to pick up a copy of TNHD (The 
    New Hacker's Dictionary). It can be found as http://catb.org/esr/jargon 
    (last I checked) or from a good bookstore. If you have trouble understanding 
    that reference, ask your hacker if she has a copy, or would be willing to 
    explain her terms. Most hackers are willing to explain terms. Be ready for 
    condescension; it's not intended as an insult, but if you don't know the words, 
    she probably has to talk down to you at first to explain them. 
    
It's a reasonably difficult set of words; there are a lot of them,
			and their usage is much more precise than it sounds. Hackers love
			word games.
			[It is also possible that English is not your hacker's native
			language, and that it's not yours either. Feel free to substitute
			a more appropriate language.]
 
			- 4.1: I can't get an estimate out of my hacker.
 
			- Your hacker hasn't figured out how hard the problem is yet. Unlike
			most workers, hackers will try very hard to refuse to give an
			estimate until they know for sure that they understand the problem.
			This may include solving it. 
			
No good engineer goes beyond 95% certainty. Most hackers are good
			engineers. If you say you will not try to hold him to the estimate
			(and mean it!) you are much more likely to get an approximate
			estimate. The estimate may sound very high or very low; it may
			be very high or very low. Still, it's an estimate, and you get
			what you ask for.
 
			- 4.2: My hacker makes obscure, meaningless jokes.
 
			- If you feel brave, ask for an explanation. Most of them can be
			explained. It may take a while, but it may prove interesting.
			
 
			- 4.3: My hacker counts from zero.
 
			- So does the computer. You can hide it, but computers count from
			zero. Most hackers do by habit, also. 
 
		
		
If you found this information useful, please consider sending a token donation 
  to the author; email for details. You might also consider buying a couple of 
  books through my "affiliate program" link; you get cool books, I get 
  pocket change. :)
Recommended books:
The links in this section will all try to take you to Powell's, where you can 
  spend your money on cool books.
The 
  Cathedral & the Bazaar (Eric 
  Raymond) - a discussion of different ways of building systems.
The 
  New Hacker's Dictionary (Eric 
  Raymond) - a great source of trivia, lore, and translations for difficult 
  concepts. (Not always in stock, I'm afraid.)
		
		Comments about this page can be sent to
		seebs@plethora.net