Social Problems in Computer Science

This morning, I read a blog post about women in computer science which was quite compelling. It reminded me, of course, of another article about women in CS, and I began thinking about about what my own opinion is on the subject. Sexism in CS and similarly technical fields is certainly a problem. But why? And how have I encountered it?

It struck me that I am incredibly lucky to be a student at MIT, where I have never actually encountered blatant sexism. No one has ever groped me, or told me I was incompetent because I was a woman (nor have I ever felt that was the case). I was elected SIPB Chair, but it was not that people thought I was sexy or that I slept with anyone, but that I was the right person for the job. When I ask more experienced hackers technical questions, they don't try to dumb it down or tell me that I won't understand -- they explain it the same way they would to anyone else. Really, I couldn't ask for a better environment.

However, it still didn't feel quite like sexism (or something like it) it was entirely absent. After thinking a while longer, I realized what the problem was:

The tech environment walks a fine line between being elitist and being a meritocracy, and often manages to slip back into elitism.

It's not so much a problem of sexism as it is a problem of general attitude. Becoming good at dealing with computers takes a lot of hands-on experience. There aren't any classes that will teach you how to debug NetworkManager or how to reconfigure your X configuration so that gdm doesn't fail. So those of us who like figuring out the answers to such problems have only a handful of options: 1) learn everything using Google, 2) learn everything by asking an expert, 3) both 1 and 2, or 4) give up. Sometimes, if the problem is specialized enough, 2 and 4 are really the only options. Unfortunately, it is often the case when asking an experienced hacker that they will give a harsh, unhelpful, and/or elitist response. Here's an example.

Person A: I need to reinstall this computer with Debian, but I don't have a CD or DVD burner or any flash media. I'm not sure if I have any other options. Could you help me?
Person B: I don't have time. Just use PXE.

A (thinking): PXE, what's that? I guess I'll Google it. Hmm, well, Wikipedia says it's a way of booting your computer over the network. I guess sort of like a livecd, except over the network? That's kind of cool. How do I do it? This site seems to give some links. Looks like the Debian link is broken, so I'll use the Red Hat link and see if I can just change the relevant things.

[an hour passes]

A (frustrated): This isn't working. How am I supposed to install my computer over the internet if I have to install stuff to the computer to begin with? I don't understand how this works!
B: ... what the hell are you doing? You just choose the "netboot" option in your BIOS, like you would choose to boot from CD-ROM or hard drive, etc.

Do you see what Person B did wrong, here? Person A was asking for help, and clearly does not know about netbooting (or they wouldn't have asked). Person B assumes they know what PXE is and that they know how to use it, or at least that they can figure it out for themselves. Unfortunately, the documentation on PXE is unhelpful and misleading and never mentions needing to change a setting in your BIOS. Person A tried to figure it out themselves using the vague information given to them by Person B, but only managed to waste an hour and become even more confused! Furthermore, when Person A comes back for more help, Person B acts like they are an idiot for being ignorant and confused, and treats them with disdain. It would have been so much nicer, faster, and easier for Person B to simply say in the first place "try using the netboot option in your BIOS to boot into the installer over the internet".

In my experience, the sort of attitude taken by Person B, either intentionally or unintentionally, is the most formidable obstacle facing new tech-oriented people. In particular, I have noticed that men tend to be better at muscling their way through this "barrier of newbie shame". Many studies have shown that women tend to be less confident and less assertive than men, and when the environment is such that you have to be assertive and confident in order to get anywhere, it is no wonder that many choose to give up and choose a different path. Being ignorant does not make you dumb, but many people in CS act like it does.

There is no reason why the tech environment should be so elitist. I heartily agree that it must retain a degree of meritocracy: you need to earn your respect as a hacker. However, everyone has to start somewhere; no one is born with awesome hacking abilities, and not everybody is as able to figure out how things work without a few pointers. Wouldn't it be so much better to have more skilled people in computer science, to fix even more bugs and create even more brilliant pieces of software? I believe that if we could tone down the elitism, such a world would become a reality.

Unfortunately, it's not as easy as just recognizing what the problem is. Being elitist is not always a conscious or deliberate action (most people are not so much of an ass to say "I won't be helpful because I am better than you") -- it is usually just the easy way out. Becoming a hacker in an elitist environment makes it all too simple to just assume that that is the correct way of doing things. It is easy to fall into the mindset of "I had to deal with and stand up to that sort of bullshit when I was new, so why shouldn't everyone else?". It is easy to find yourself too busy to really help, so you just brush them off with a short, unhelpful answer or tell them to RTFM. It is easy to forget that you were once the confused, ignorant newbie who didn't have the background that you now do.

In addition, I think that many people become rough and abrasive because they are all too often asked to fix things themselves as opposed to giving advice. Every tech person is all too familiar with friends, relatives, and acquaintances asking them to fix computers or install software, and most tech people I know hate it. It is especially frustrating when people who are nominally technically competent ask you to do things for them. The urge to say "no, go figure it out yourself!" is extremely strong, and it is easy to lump favor-seekers into the same category as advice-seekers. But it is important to make the distinction, and to actually be helpful when someone asks for advice.

So, how can we fix this problem? Recognizing that it is a problem is a first step, but it is not enough. Changing things will not be quick or easy, either. But, there are a few things we can try:

  1. If you are too busy to help, politely say so and apologize that you don't have the time. Don't give vague or cryptic answers.
  2. Don't assume that they have the same background of knowledge that you do, because they probably don't. Try to explain things at their level. That doesn't mean "dumb it down", but "make sure to include relevant pieces of knowledge that you have but they don't".
  3. Point them towards documentation which you know is helpful, instead of just throwing terminology around.
  4. Be polite, even if they are asking what seems like a dumb question or asking you to do something for them. You can say "no, that's not my job" or "no, I don't have time right now" without being rude and abrasive.

From now on, I will try to point out this phenomenon of elitism to people I know in CS, and encourage them to be more conscientious of their interactions with aspiring hackers. I hope that you will, too! I'd also love to hear any other opinions on this matter. Have you encountered this elitist environment elsewhere? How have you dealt with it?

  • By Greg, July 27, 2010 @ 7:42 pm

    > Don’t assume that they have the same background of knowledge that you do, > because they probably don’t. Try to explain things at their level. That doesn’t > mean “dumb it down”, but “make sure to include relevant pieces of knowledge > that you have but they don’t”.
    I often find this to be harder than you might expect, because I generally assume I know less than anyone in the room, and don’t want to come across as arrogant. I think that actually figuring out the level of the person you’re talking to can be kind of hard. (I have no good solution, just an observation.)

  • By jhamrick, July 27, 2010 @ 7:54 pm

    Greg: this is probably true, but you don’t necessarily need to be psychic about it. Asking the person if what you’re telling them makes sense is probably sufficient. If it’s not, then there’s probably information you’re leaving out that they need. I suppose that figuring out exactly what that information is may be the tricky part, but by talking to them you should hopefully be able to figure it out.

  • By Xavid, July 27, 2010 @ 8:13 pm

    A big part of the problem is that people develop their ideas of what’s appropriate by watching other people in their community. If you see lots of snarking about people who ask dumb questions, you’re going to feel a social pressure to react in the same way, and feel more justified being impatient with “dumb questions”, whether or not they’re from someone making an effort to learn. A lot of the dangers of elitism come when social structures re-enforce it. I think SIPB does better than a lot of communities here of creating a social expectation of helping everyone, regardless of knowledge level.

  • By Piper, July 27, 2010 @ 8:15 pm

    I encounter sexism a lot less at MIT than in general. I do think there’s some socialization issues with women in CS that affect us before going on campus, and even during (ie, worrying that I would promote the stereotype that “women can’t do CS” because I’m asking all sorts of questions) – but it doesn’t seem something that is reaffirmed on-campus. I would like to see the CS environment become a little more welcoming, though, because that would pull more women in even after the social damage has been done.

    But you hit the nail on the head – or at least, this all very much applies to my experience. I’ve been in Person A’s shoes many times, and it results in me feeling stupid, wondering what I did wrong or why I’m too dumb to understand the documentation (which is often poorly-written or not written for my level) – and it makes it harder to come back and repeat the process.

    It seems CS people are really concerned about spoon-feeding people, and this results in providing less-than-adequate information to people who don’t understand what’s going on.

  • By Piper, July 27, 2010 @ 8:25 pm

    One more note – I’ve tried, in a general sense, to tell people the effects of laughing at people’s “dumb questions”, but I have a feeling I won’t actually be listened to until I am a better hacker. But it seems that a lot of better hackers don’t remember what it’s like to be new. Bad cycle :/

  • By jhamrick, July 27, 2010 @ 8:37 pm

    Xavid: I totally agree about reinforcing social structures. It would be great it people spoke up when they saw people ridiculing novices for asking questions. I think SIPB does a relatively good job of not doing it as well, although I’ve definitely experienced some of it myself while I was learning. Hopefully, I can continue to try to change that!

    Piper: I don’t think you should worry about not being listened to. The less experienced someone is, the more we /should/ listen to what they have to say, and how they feel they’re treated! Also, like I said, in the world of hackers, you have to speak up and be forceful or you won’t be noticed.

  • By Kyle, July 28, 2010 @ 12:57 am

    Jessica,

    typical CS answerer = insufficient explanations, a lack of knowledge about the asker’s skill level, and a lack of detail in responses.

    typical CS asker = too afraid to look stupid by requesting that the answerer go into more detail or explain something differently.

    Many CS people are not good at explaining things, and if they do hold knowledge you want to attain, you should be less timid about pressing for it. Some CS people are definitely elitist like you’ve implied, but are you also misjudging scenarios where the answerer simply (thinks they are) being concise and calling it elitism?

  • By Leonid, July 28, 2010 @ 1:41 am

    A big part of the problem, I think, is that social ineptitude is part of the territory that comes with CS.

    For instance, economists have a problem that is similar to the phenomenon of friends and relatives of computer people asking vague questions like “my printer doesn’t work; why?”. They get asked things like “what caused the financial crisis?”.

    The CS world has this whole body of essays examining social interaction between CS people, the relevant one here being “How to ask a good question” or something like that. In the case of the broken printer, you include the exact symptoms and what you did to diagnose the problem, for instance.

    But the point is that when someone doesn’t do that, it’s not an excuse to give an unhelpful and vague answer. The question of what caused the financial crisis is in no way better — it might include some basic information about economic background, or a more precise definition of “financial crisis”, for instance. When someone doesn’t include that, the correct response would be something of the form “it’s complicated, but if you actually care I can give you details”, not, you know, “compounded subprime mortgage-backed securities”.

    Economists seemed to have sort of figured this out. It’s a pity CS folks haven’t.

  • By Bob, July 28, 2010 @ 1:47 am

    You’re on reddit. I put my comment there: http://www.reddit.com/r/programming/comments/cugvm/social_problems_in_computer_science_thoughts_on/c0vdfb0

    Copied here:

    Blah blah blah blah.

    The author starts by saying sexism is a problem in CS, then says that she’s never seen it. This does, however, not call into question her first statement that it’s somehow a “problem”.

    Then she says that the problem is really elitism. And of course elitism is a male thing, so it’s sexism?

    Yeah… apparently there’s sexism, and it’s you who are the sexist.

    Don’t feed the ego of this “expert” if he’s being elitist, find another one. And if you want to be an expert you have to learn how to learn. You can’t just ask your way to the solution all the time. These people became experts because they thoroughly researched a problem, they didn’t just ask the previous guy.

    Give a man a fish vs. teach him how to fish.

    That being said, I love explaining things (when I have the time).

  • By Anon, July 28, 2010 @ 3:36 am

    One thing to be aware of are rabbit hole questions. Very occasionally someone will come asking for help with a problem. As you suggest things that don’t work, you ask them to explain more about how they got into their situation. Sometimes it turns out that they did something very risky or against the grain of expertise. At that point there is no good solution. Walking away and now saying “I can’t help” just leaves the asker wondering why you helped in the first place. Worse still it may make the asker hide the information in the future. Soldiering on may not lead to a solution and may cause lack of time issues. When the amount of effort it takes to solve a problem is large people tend to get upset (both askers and answers)…

  • By Pavel, July 28, 2010 @ 6:52 am

    I fail to understand why identifying the asker´s competency level is responsibility of the answerer. If you don’t understand the answer, ask for clarification, don’t blame the answerer.

  • By jhamrick, July 28, 2010 @ 9:21 am

    Kyle: There are certainly gray areas, and I think you’ve touched upon how dealing with them isn’t so easy. Ideally, people shouldn’t be afraid to ask questions, if the questions are intelligent and meaningful. But, I think the fact that the typical CS asker is afraid to look stupid is a product of the fact that they’ve been made to feel stupid in the past by asking “stupid questions”.

    Leonid: That’s a good point. Maybe instead of just shunning those who don’t ask good questions, it would be more beneficial to teach them how to ask good questions. There was certainly a point where I didn’t know how to ask good questions, and I didn’t even realize I was asking poor ones until someone pointed it out to me and showed me an article about asking well-formed questions.

  • By jhamrick, July 28, 2010 @ 9:27 am

    Bob: It’s a problem because countless other women have experienced it, although I myself have not. What I said was that something felt not-quite-right, and that not-quite-rightness is the general problem of elitism.

    Could you please point out to me where I said males were the only elitists? Because I don’t recall writing that. I know many women, myself included, who are or have been at some point, guilty of acting elitist.

    I absolutely agree that you won’t learn anything yourself by asking people all the time — but that doesn’t mean that being taught can’t be helpful. Hackers are expected to learn /everything/ themselves, whereas other engineering types — like mechanical engineers, for instance — often have mentors or instruction. Unfortunately for us, there is a lot of really shitty documentation out there. Sometimes the benefit of learning something is outweighed by the time you take bashing your head against a wall! Those sorts of situations are the ones I’m referring to.

  • By jhamrick, July 28, 2010 @ 9:34 am

    Anon: I’ll admit I haven’t really had to deal with that sort of situation, so I’m not sure what the best way to deal with it is. Do you think it would work to explain why it won’t work/it’s a bad idea/etc.? I can certainly see some people being stubborn and wanting to do it anyway, but I would imagine the majority just don’t realize that what they’re doing is fruitless.

    Pavel: Because when you give a response that includes no background information, it comes off as elitist — the message it sends is “I’m better than you because I already know this, so I’m not going to bother even trying to explain it in a way you can understand it”. Younger hackers — and even non-hackers, just people who want to learn how to use a computer better — can take that the wrong way, and are therefore more afraid of asking for clarification/more questions in the future. If you want things to run smoothly in a social environment, you /have/ to color things such that they’re not so black and white. People don’t work well when exposed to blunt responses.

  • By Xavid, July 28, 2010 @ 11:30 am

    Kyle: I don’t think the problem is necessarily people /trying/ to be elitist, or presenting themselves as elitist. People who unintentionally come across this way, whether due to obliviousness or not thinking through how their behavior comes across to others, are a more useful group to target. Concise answers are appropriate in certain contexts, especially with people who are working from a good foundation, but if you’re trying to attract new people noticing when your concise answer isn’t being helpful is important.

    Bob: Teaching a man to fish doesn’t do anyone any good if they starve to death before they get the hang of it. ^_^

  • By Chris Johnson, July 28, 2010 @ 12:27 pm

    I enjoyed this post very much, and agree with some central precepts. I think one of the things that causes this sort of abrasive dismissal is the well-known fact that interruptions while programming translate to loss of focus. If I’m in the middle of programming something conceptually challenging, and I’m juggling around multiple different variables in my head, then when someone interrupts me to ask a (to me) basic programming question I get a little frustrated, and it’s not hard to see why.

    I agree as well that this is a problem, and it’s much easier to identify than to fix. I hope more people recognize this limitation in computer science so we can try to overcome it.

  • By temperus, July 28, 2010 @ 12:33 pm

    Mountains, molehills, etc. This is a classic communication problem, not a problem of sexism or elitism.

    Both people being arrogant in their own way. Person A was afraid of speaking up and saying “what do you mean, PXE?” and Person B was too busy to think about whether he/she knew what PXE was. Blaming it on either person shows needless favortism.

    Besides, automatically condescending is also a mild form of sexism. I’ve had people explode at me for both not being condescending and for being condescending. If they aren’t willing to communicate their level of competence, and I’m so busy I have to make a snap judgment, is it entirely my fault?

  • By jhamrick, July 28, 2010 @ 12:36 pm

    Chris: I definitely know where you’re coming from (although I get interrupted enough that I’ve pretty much gotten used to it by now). It would probably be good to try to teach people when and when not to ask questions — i.e., if someone looks busy, send them an email or an IM or something, but don’t actually interrupt them.

  • By jhamrick, July 28, 2010 @ 1:14 pm

    temperus: The problem is that people like Person A are often told to “go Google it” when they ask for clarifications about things like that. They tried to figure it out on their own like they’ve been “encouraged” to, because they know that they should RTFM before asking “dumb questions”. My point is that we need to make sure we’re not giving off that sort of response, or people become afraid to ask. Certainly there will always be people who are too shy or cowardly to ask follow-up questions. But there’s a difference between being innately shy and having learned that asking “dumb questions” will only cause you humiliation.

  • By Pavel, July 30, 2010 @ 9:47 am

    Well, if you get the message “I am better than you because I know what PXE is and you don’t” when someone says “use PXE” then you have a problem. When I, and I believe most other people, say “use PXE” (well, in my case it’s usually “use reflection” or something other Java-like) I always mean “use PXE” and just “use PXE”.

    Temperus is on the right track here. Assuming ignorance or stupidity on the part of the person you are communicating with is at best impolite.

  • By Xavid, July 30, 2010 @ 1:45 pm

    Pavel: I don’t think it’s unreasonable for someone to think that, when the response to their question is “use PXE”, that they’re “supposed” to be able to figure out what to do from that response. Obviously that’s not the most helpful behavior in this case, but if you’re trying to attract new people to your community, you’re not going to get very far by putting the burden of change on the new people.

    I agree that assuming ignorance or stupidity isn’t helpful, but neither is assuming expertise or experience. It’s much more useful to pay attention to the people you’re talking to and engage with them. Even something like “Use PXE. Have you ever used it before?” or “Use PXE. Let me know if you if you want help.” are much more useful.

    From my point of view, we’re not reaching out to new people out of some moral imperative, we’re doing it because getting more people involved in the projects and community we love is for our own benefit. There’s not some magic formula for getting people involved; some people thrive by diving in and figuring stuff out by reading the code and trial and error. But being open-minded to different backgrounds and different “hacker levels” is important to build a strong and varied community.

  • By blake, July 31, 2010 @ 8:17 am

    I began programming in highschool and often asked uninformed, as some would say “dumb” questions on forums. People often responded very sarcastically, sometimes being downright rude. At the time this made me feel bad, but it also pushed me to improve. I would never go back to ask a question unless I was sure I knew what I was talking about.

    Last year I won the the annual project Euler competition with the first prize of a paid undergraduate research position. Even though other people competing against me had a higher GPA, and a few had taken more classes in algorithms than I had, but they learned to program in highschool computer sciences classes or at the university. Most students learn to program with Java or Python and came to their TA with whatever problems they had, I started with C from a book and had to figure out most things on my own.

    I think what the author is describing is the CS equivalent of “tough love”, kind of like how drill sergeants yell at new recruits in boot camp. They’re doing it because they want their troops to survive in battle. When I first became a TA I often explained everything to my students, even writing code examples on the board, until I realized they were becoming too dependent on my knowledge and weren’t really learning to design programs themselves.

    I disagree that Person A “wasted” their time trying to understand PXE, Person A is learning how to research. Next time that student is faced with a problem he/she doesn’t understand, he/she will be more capable of solving it on their own.

  • By Piper, August 2, 2010 @ 1:24 am

    “I would never go back to ask a question unless I was sure I knew what I was talking about.”

    The point of asking a question is that you don’t know everything you’re talking about – you’re trying to find out! People should, of course, be encouraged to find the answers for themselves, but encouragement should not come in the form of “google it” followed by “What the hell are you trying to do?” when one tries to follow a solution found on Google.

  • By Russian Girl, August 27, 2010 @ 1:31 pm

    It’s unfair. men believe that women cannot be good specialists in computer science. You have done a very good and deep analyze of this dialog. Everything is clear and understandable. Keep going. You are great.

  • By Pavel, August 27, 2010 @ 1:33 pm

    Russian girl: actually the original complaint is the opposite. The “expert” assumed higher competency then was present.

  • By drivingmenuts, August 29, 2010 @ 2:51 pm

    Much better article than than the one at TechCrunch.

    If we’re going to bring more people (men/women/what-have-you) into IT, then we, as people already in the club, need to develop some patience and listening skills. That’s not all, but that’s a start, anyway.

  • By Joseph, August 29, 2010 @ 4:53 pm

    I’ve actually been struggling with this recently. There’s this guy at work who I know is no dummy. But the questions he asks make me think he’s never used a computer before. So he has been tasked with maintaining Java code and has watched me (quickly) setup a project. Somehow, this was not enough to get started.

    So I’m thinking the whole time, “*I* never asked for help creating a project, why is he?” So when I go to help him, he starts taking notes of the sort: Click here, then here, then enter this. I told him to stop because that would allow him to reproduce what I had done. But didn’t teach anything. I showed him again how to do it (I should have let him drive, but my patience was gone at this point), but he didn’t ask questions so I’m sure he didn’t get it.

    For myself, I think I just need more self control. Without a larger amount of patience I won’t be able to appropriately help folks like him because what I really need to teach is the way you learn something. Any other recommendations/observations?

  • By CH, August 29, 2010 @ 5:15 pm

    I’d just like to point out one point. I think perhaps there exists elitism, but in general most people are just not very good teachers.

    Like trying to drive, being good a computers, for example, requires a person to forget many things that are inherent to the operation of computers. Most of the time it’s probably like “How do I change gears (manual)”, “Oh, just like, step on the clutch, darn it! Oh.. yes the clutch, I forgot about it”.

    While this example is probably quite ridiculous if taken alone, I’d argue that this is what happens most of the time, and computers are infinitely tougher than driving especially going into more “specialised areas” like installing a Java IDE among the other things we like to do. When the old pros “teach” the newbies, it is often surprising to the pro how many things they have ingrained that the assume others would pretty much have them as common knowledge.

    That, and that most people, even if they live on forums, are not there to be nice and welcome newbies. People are generally motivated by the self and tends to hang around interest boards so they can find newer and more interesting stuff to look and see. Being warm and welcoming to newbies is probably low on their priority list.

    If the situation is really as you stipulated, perhaps one of the first things that any community should do is to design and environment that enables people to be friendly to newbies. Then again, I think most of the time many people don’t really mean to be rude, just that when people give short replies over the Internet, sometimes it turns to “sound” a little snarky.

  • By Another Bob, August 30, 2010 @ 9:15 am

    Elitism is a major issue. If you look at many of the people who respond on support forums, they act like it is an inconvenience to help others. I recently put one at a major components vendor to task on the forum because all he would do is answer with probably technically correct, but next to useless technical talk. (sounds like a joke about MS, but it wasn’t them) I told him I had not seem him post a code snippet in quite some time and that a little help like that would go a long way in helping others. He had become an elitist. We can all fall into this rut and need to watch how we respond to people when they ask for help. I love whiteboards.

  • By Eric, August 30, 2010 @ 9:39 am

    There is also the issue of people who admittedly don’t know a lot about computers trying to do something way above their ability. For example I remember someone who is a casual computer user (has a computer and knows how to download and install apps) who wants to make his own version of a Microsoft Word so he can “give it to his friends for free and they don’t have to buy Word”. When asked “How do you create a Microsoft Word?” I responded with a put down saying that programming a comprehensive gui word editor takes a team of knowledgeable programmers and probably a lot of money. In defense he said something like he knew someone else who did it but it didn’t work out…

  • By Matt, August 30, 2010 @ 10:29 am

    Great article! You definitely seemed to hit the nail on the head. I think also another aspect at least at some level is that a lot of us in the CS field are outcasts of sorts, so we’re all trying to stake our claim, causing many to have a chip on their shoulder. I’m not condoning or defending the behavior but simply trying to provide some additional insight.

    I know I’ve been guilty of some times beeing a bit snarky, but sometimes when I get asked what I think is a dumb question, I gotta laugh, I’m sorry. I’ll get it out quick and then gladly help you but sometimes the question can catch you off guard.

  • By Biff, August 30, 2010 @ 10:52 am

    Hi,
    I’ve been in IT for about 20 years. When I started out (pre-Google), I was person A in your example. I’d ask questions and was told RTFM ( a very common term back then) and was then promptly directed to a man page, a chapter in a book, or a website. I felt like you, and found this to be quite frustrating at the time. It turned out however to be invaluable to my development later on. I learned how to work independently, how to find information on my own, and I picked up a lot of information about lots of different topics in my pursuit of finding an answer to something else.

    Now 20 years later, I work for a very technical group that has interns from various universities. The interns are here to gain experience. They are generally assigned rudimentary tasks, for example, make a wiki site for our internal documentation, write a program in Java or Perl to get data from a database and print it to the command line, write a shell script to do x, y, and z tasks for End of Day processing… etc. None of this stuff is overly vexing. Any first year CS student should be able to perform most of these things, and if not, have the tools to find answers independently. For instance, I realize that you may not come across shell scripting in school, but there are LOADS of websites that have tutorials on the topic.

    The problem I’ve encountered is that most of our interns will take the easy way out and come to me for answers, often without even trying Google first. There is an expression that says “there are no dumb questions”. This is a lie. There are lots of dumb questions. Nothing is more frustrating then when someone wants to be spoon fed answers without trying to do a little research on the topic first. I certainly don’t mind answering questions that have been researched, but show me that you’ve at least tried first. Perhaps there are multiple methods of accomplishing something, which is the best way and why? I love getting questions like that. They come from someone who spent the time to RTFM. I also don’t mind giving a starting point (man page, topic, webpage). When a more Junior person comes to me for help, more often then not they are looking for hand-holding. What this essentially boils down to is that they are looking for me to be a teacher or tutor or dad and do the project for them or participate with them through the entire process. Doing this takes time away from my own projects. Not being a junior person, i am often working on more mission critical applications and just don’t have the bandwidth to dedicated to things like setting up a wiki for our documentation.

    When you add an ‘A’ record to DNS for someone and they will always come back for you to add ‘A’ records for them. Direct that same person to the Bind documentation and they will learn to manage DNS for themselves. It might suck at first, but that is how we all learned Bind.

    Being in IT means that you will be searching for information for the rest of your career. There is no way that you will learn the particulars of every compiler, OS, network protocol, database, BIOS setting, and kernel modules (just to name a few). After 20 years, I’ve just gotten better at it then more junior people.

    when I Googled ‘debian network install pxe’ (without the single quotes), the very first link mentioned changing your BIOS settings:
    http://www.debian.org/distrib/netinst

    When I Googled ‘ways to install debian without DVD’ (again without quotes) the first link I got was this:
    http://wiki.debian.org/DebianInstall (see section 7 in the TOC).

    just sayin’

  • By bob, August 30, 2010 @ 10:59 am

    As far as I’m concerned, elitism is positive thing – if everyone was happy being the dumb kid in the lab, and there were no “wow! he knows so much!!” types around, no one would ever strive to better themselves.

    Your example is flawed by the way – the idiot who spent an hour looking things up on the net should have had the balls to say “sorry, I know I’m an idiot, but what’s PEX and how do I use it?”

  • By fsilber, August 30, 2010 @ 11:29 am

    At the Miss USA contest there is a remarkable degree of resemblance among beautiful women from around the world. But each ethnic group develops its own unique way for ugly people to look ugly.

    Analogously, nice people of different talents and cultures tend to be similar, but there are many diverse ways of being an *sshole. Managers and salesmen have their way of being *ssholes, and high-tech engineers have their own way. Demanding that colleagues debase themselves by saying things like, “I know I’m an idiot, but what is PEX and how do I use it?” is the way *sshole technologists are *ssholes.

    But is that really what turns women off from technology? As a man, I too found such behavior quite disturbing, but I learned to put up with it because, as a man, I felt it was my responsibility to do whatever I had to do within my capabilities to earn a decent income that could support a family.

  • By Anonymo, August 30, 2010 @ 12:35 pm

    Part of what you are describing here seems to me to be an “organizational level” dysfunction, a reflection of poor management strategy.

    Surely, among this elite group of students there is a dedicated bulletin board for discussion of “issues.”

    It should be possible to describe a problem succinctly, and ask who the “go to” person is for this problem, or where resources are useful to deal with this problem.

    Wandering around from person to person is a waste of everyone’s time, and, making the reasonable assumption that most people with advanced technical skills are a busy with their own work as you are with yours, it is not surprising if you get “blown off.”

    The person to complain about this to is the manager/supervisor/dean.

    good luck, Anonymo

  • By Ralph Wilson, August 30, 2010 @ 2:16 pm

    Okay, speaking of elitist and assuming that everyone knows what you mean by cryptic references . . . what the heck is “SIPB”? (Is it the sip you take after SIPA? ;-) When I was attending a university (other than MIT) about 40 years ago, there wasn’t a SIPB (or a SIPA, even) and I have not run into that term.

    See how easy it is to assume everyone has the same background that _you_ do? ;-)

    As for the cryptic and incomplete (or _seemingly_ incomplete) responses from IT professionals (especially those who have been in the profession a while), a lot of it _does_ come from simply forgetting how far back from our current knowledge base we were as a beginner. (I work hard at trying not to be guilty of that sort of thing but, as in the example of SIPB, somtimes it just slips through. ;-) And, I will conceed that it often seems to be true that women aren’t as forceful about saying, “Can you explain that a little better because I didn’t understand it all.”. However, I think that there is another factor that plays into the whole communications issue and that is that hackers/geeks tend to be insecure in there interactions with other human beings _unless_ those human being speak the same cryptic geekenese language that _they_ do. It is partially an insecurity issue, IMHO, in addition to an unconscious (or, possibly, conscious) effort to raise themselves above those with whom they cannot normally communicate.

    By the way, I thank you for your use of the term “hacker” as a non-pegorative term. When I first got into IT (about 40 years ago ;-) , to call someone a hacker was a compliment and to tell them that they had shown you a cool hack was about the greatest thing you could say to them.

  • By Autodidact, August 30, 2010 @ 2:54 pm

    I came into the CS field not from university, but from a hands-on, autodidact direction.

    I would say there isn’t so much of an elitism issue, although there are certain individuals out there that don’t help, but much more of a communications issue.

    In one job I had, as a call center tech support, we had a team of 9 people in my group. We ended up going through 34 additional people during a 2 1/2 year period. The 34 people we weeded out had more than enough qualifications on the tech side, almost all of them had way more formal education than I did. What they lacked was effective communication skills.

    They would try and help T/S, but would either fail to ask the correct questions for clarifications, or they would just simply get frustrated with the lack of tech skills on the other end of the phone.

    Maybe if there was a focus in CS studies on effective communication with non-techies, there would be better sharing of information amongst all different technical levels as a whole.

  • By da808wiz, August 30, 2010 @ 3:09 pm

    Well, let me say I appreciate your honesty, and your willingness to peel back the layers of fluff people like to cover themselves in. I could feel the sincerity of your borderline rant.

    I can answer the question of what happens when I encounter one of these so-called elitists. I usually turn up the juice 110% in my brain and let er rip. This works 99% of the time. Depending upon the situation, I will usually present the person with my solution, with the exception if their head is not only in this elitist cloud, but they have that “I already knew that” attitude. Once I discover that about the person, I withhold every ounce of information from them and watch with relish as I watch them fall from time to time. Up until that point, I would see them approaching a pitfall and warn them of it, thus saving them humiliating embarrassment, but no more. I remember telling someone rather loudly over the phone at a late hour when a sacred cow coworker of mine and I were the only ones left in the office, that I will take pleasure and wait anxiously for the event when she comes falling down. She of course heard me, and surprisingly confronted me saying she did not appreciate me saying that and although she understood the reasons behind it, she said that if that was the way I really felt, and that was what I would really do, then it would be something terribly wrong.

    I apologized for my rant, and we became very good friends. I admired her courage to stand up to me. In a way, I believe deep down inside, I was beckoning her into a face to face verbal fight.

    For the 1% of the time when I exhaust too much time trying unsuccessfully to figure it out, I convince myself I didn’t need to figure it out and it is not really my problem anyway. Just a way to protect my self image which is just as fragile as anyone elses.

    I have tried confronting the elitist with an attitude, and although it produces results, it is too exhausting for me to do so on a regular basis. I have told someone, “Hey, you don’t have to be an a**hole about it. I was just asking for your help. I would help you, if you needed it.” I would sometimes even add, “Look, I helped you before, can’t you help me this ONE time?” and then follow it up, with a comical, “Don’t be an a**hole, okay?”

  • By KJMClark, August 30, 2010 @ 3:51 pm

    To echo Ralph’s point, acronyms are generally a problem, and most people who use them have no idea that the person hearing it don’t know what it means. As others have said before, figuring out what your audience knows is 2/3 of the battle. On the other hand, the longer you’re in the field, the more you realize that it’s a bit of a death struggle to keep your job. Part of the elitism is probably resentment that the more experienced folks have toward newer people. Just ask the experienced machine programmers who are being told to train the people who are taking their jobs.

    To utterly disagree with another of Ralph’s points, having gone through a freshwater school of computer science, I had never until today seen someone use the term “hacker” as anything other than a synonym of “criminal”. To most of the English-speaking world, a computer hacker is someone who breaks into computer systems with malicious purposes. A “hack” is either a quick and dirty job that no one would want to take credit for (but that does work for a while) or just a mangling of something that used to work. Check out the Wikipedia page on “hacker.” I had no idea there were people who considered it less than criminal. You might consider it a form of elitism to re-use a term that’s been in English for about 400 years, and has always meant doing a lousy job, to mean something positive.

  • By KJMClark, August 30, 2010 @ 3:53 pm

    Ouch. Please replace “don’t know what it means” with either “doesn’t know what it means” or “won’t know what it means”, in that post. Damn editing on the fly.

  • By Lev Vayner, August 30, 2010 @ 4:02 pm

    Yes, you definately are wrong!
    Person B in your example with PXE did exactly what they should have done; that is, they challenged person A.
    If everything has to be spelled out for you, then you are in the wrong industry. If you enjoy a challange, and you walk away from that scenario (as person A), with a smile because you tried to get the solution, you were given a hint, you had a chance to try to understand that hint, and it didnt work for you so then you were shown the way.

    The contacticary statement has been made by the author, on the one hand ” Becoming good at dealing with computers takes a lot of hands-on experience.” and then the example with PXE.
    It is very importaint to remember that mimicing what someone has shown you is not learning.. it does not give you the why, the how, just the course of action in this particular scenario.
    For example, person B did it for person A, next time Person A might need to specify a different address to boot from, but he would have no idea becuase person B did it for him.

    1/5 start here

  • By J_Tom_Moon_79, August 30, 2010 @ 4:56 pm

    My approach as knower is to be
    1. be patient listen carefully (I try, sometimes I jump to conclusions about the problem),
    2. and then not spend too much time helping.

    I do 1. for exactly the reason explained by jhamrick in this post.
    I always try to provide pointers to the places to seek knowledge (and I do really try to provide the best knowledge I can in brief form).

    And then 2, let the person figure out the rest.
    Why not help someone to the end? (why spend “not too much time” helping?)
    1. I can’t explain the solution to a problem in words any better or faster than the person will understand if they just figure out the solution themself. I prefer the “teach a man to fish” approach.
    2. I am not hired as salary to help other people. When I go in for employee reviews I may get vague credit for “helping others”. But the real reason this company is compelled to keep giving me money is I get specific tasks done quickly. And my manager and manager’s manager is graded in the same way. (this goes into another discussion of how to best judge an employee; the answer is every judgement method is flawed in some way because of the reality of limited knowledge).

    So I like helping people. I’m happy when someone helped is now another knowledge holder on my team. I see them as another person with whom I’m able to technically communicate.
    And balancing that, I must also help myself to keep my job. I try to place a firm limit on time spent helping others.

    anyway, that’s my approach. back to work!

    -J_Tom_Moon_79

  • By funazonki, August 30, 2010 @ 9:53 pm

    Seems to me computer “engineers” take themselves far too seriously. The repeated reference to “hackers” seems entirely appropriate. The fact is that in its current state the industry is a mishmash of ad hoc solutions compromised by expediency, lack of budget and ignorance. Presumably we will eventually sort out the mess and provide an environment (like mathematics) that is reasonably elegant, orthogonal and understandable. Right now if you don’t understand something, just laugh and ask again; the fact that the adviser can’t provide a succinct and clear explanation is not your failing, it’s the environment. By the way, I think the open source movement is making great progress in this respect.

  • By Michael Fever, August 31, 2010 @ 9:45 am

    Hacking is life, life is hacking. Of course many people do not know the difference between a programmer or a hacker or the difference between the two. Sure I program but I’m more of a hacker cuz i sit here and hack away at the problem until it is solved. Everyone still confuses a hacker with somebody who breaks into computers… bleh…. something most of us are totally not. As far as the open souce movement, I am very much for it! and always will be, and my reasons are purely selfish. I can take something that is good, and tailor it to my own needs. Try to do that with any piece of proprietary software… oh wait, you can’t. =)

  • By BOFH, August 31, 2010 @ 10:13 am

    In defence of those to whom the ‘elitist’ label might apply, it should be noticed that there may be additional factors which contribute to this. These are:

    1. People (who provide assistance) are ultimately finitely patient (not infinitely patient)
    2. Those seeking technical assistance in the information age, bear some personal responsibility to develop currency in their own personal state of technically literacy
    3. Perception: People who provide assistance ARE NOT the source of the problem, even if frustration is an element of seeking assistance in the first place.

    About 1. your post ultimately suggests there needs to be more patience, and I certainly agree. Having said that, people are still just people and generally not capable of infinite patience. The value of your post is that it does stress the need for patiences. The source of your so-called ‘elitism’ is really more likely impatience.

    About 2. we’ve all heard the ID10T and PEBKAC jokes. I personally have been berated because someone’s colleague, not directly related to my employer, was not able to send email (to any addressee) from their personal machine at home (on a network also in no way affiliated with my employer), and where my co-worker was merely a CC on the email. My surprised reaction at the request for assistance apparently conveyed a sense that I was not willing to be helpful. Similarly I’ve been asked to solve sound problems for machines with no speakers; beeping and repeated character problems for machines where the keyboard was in contact with either coffee mug handles or the bottom of desks (on keyboard trays) or power problems where the computer had no power cables. While your point about elitism stands true in some cases, there is a point at which elitism isn’t even the case, but simply computer literacy is.

    About 3. Realise that most often people seek assistance when they are frustrated. Likewise, it is often the case that the best case scenario for someone who provides assistance is simply to keep things running (status quo), the worst is to fix some major meltdown. Together these mean that a support person can at best work to NOT BE NOTICED, at worse BLAMED or least under pressure to FIX something they may not have caused.

    It is true that sometimes we BOFH aren’t as patient as we ought to be with those who seek our assistance, but it is also true sometimes people deserve it.

  • By BOFH, August 31, 2010 @ 10:23 am

    I meant to note – that the types of problems described above, they are far less satisfying than coming up with some elegant (unixy) solution to submit jobs to a grid, or run a trillion finite elements through some calculation a trillion times, across multiple nodes of a cluster, or even scale some service (such as email) to 100,000 accounts without breaking a (load induced) sweat.

    Dealing with often irritate or ill-informed users naturally won’t rate high in terms of job satisfaction.

  • By Todd, September 2, 2010 @ 9:17 am

    Me and the boys try and behave a bit better when a girl walks into the room.

    You know, not so much swearing and such.

  • By Ricardo Santos, September 3, 2010 @ 1:51 am

    In the case of forums is useful to have a beginner and an expert section, along with a moderator that will move a topic to the beginner section when is necessary. The people that read the beginner section are usually there with the idea to help someone, unless they are sadistic psychopaths that get their kicks from humiliating newbies. Fortunately only 10 percent of the population are psychopaths and only a percentage of them are also sadistic. So you have a pretty good change of actually getting help on a beginners section.

    Not to be rude. But have you consider that you waste the other persons time when you ask a question that you could easily find by doing a little research at first on your own. By doing so, you are being disrespectful to the other persons, because you have not cared about their time.

    When you ask a question you should have as much information about the problem as possible. In your example, person A should have search for “Debian Install” and in the first hit he/she will have found what is a detailed guide about how to install Debian. No need to waste person B time, specially since person B is busy.

    But lets say that person A did not found the answer that was looking. Then person A, because of necessity and not because of laziness, would ask person B. And when person B tells person A to use PXE. Person A is to say What is PXE? And person B would have known that person A has no clue on how to install via PXE.

    Person A needs to be more self sufficient and more assertive. Two qualities that would help person A on the real world.

    I do not know if you do computer programming or not. But the most productive time is when you are “in the zone” and everything else around you disappear but the task you are doing. This makes you a LOT more productive. But the problem is that it takes about 15 minutes to get into this state of mind, and a 30 second distraction means that you need to start all over again. So take in mind that a 30 second interruption can cause a 15 minutes delay.

    On todays days of politically correctness, drill sargents are needed more than ever :)

  • By Rapideor, September 7, 2010 @ 4:36 am

    Keep Posting Thumbs Up!

  • By Tom, September 26, 2010 @ 6:10 am

    Did A and B meet face to face?

Other Links to this Post

WordPress Themes