

I know I belong in computer science, but sometimes I wonder. - Mystitat
http://blog.carolynworks.com/?p=640

======
jerf
Think about how many students were in your freshman level courses. Now think
about how many students are in your senior level courses. Add a fudge factor
for the larger dispersion in senior level courses if you like, but don't
forget seniors are also taking more of the courses per semester as well.

The size difference is basically the number of people who dropped out. A few
may have dropped college altogether but many have migrated to another major,
because they too doubted they were in the right major until they felt they had
to take action. (Or in some cases had it forced on them by failing grades.)
This is not a unique experience.

Presumably this is posted here because of the gender issue raised in the post,
but given how non-unique this experience is I don't see that the gender angle
adds anything. Scratch a few sentences out and any number of juniors could
post this. This is not "woman doubt", it's just _doubt_ , and the doubt does
not admit of "woman solutions", it's just the same "finish the degree"
solution everyone else has. I take the time to say this because I actually
think adding the gender idea into this is a little cognitively dangerous;
incorrect identification of the problem leads to incorrect identification of
the solutions. (As every engineer comes to learn instinctively after a few
years under their belt.) Those who are certain they are in the right major are
the unusual ones, regardless of gender and from what I saw in college, pretty
much regardless of major.

~~~
tarmstrong
I see two problems here: one, Carolyn is calling this a gender issue and not
doing a good job of explaining why it is; and two, any time 'gender' is
mentioned on Hacker News, twenty people defensively write comments dismissing
the gender issue.

This might be more of a gender issue than we realize. CS is just plain
unwelcoming, no matter who you are, but there _are_ fewer women in CS. We are
turning women away somehow, and it's probably in ways more subtle than we
realize.

Any time someone complains about CS being unpleasant, we should take a hard
look and wonder if it's _more_ unpleasant to women for that reason. There's no
point in trying to end or simplify the gender conversation, even if we were
brought into it sloppily.

~~~
grammaton
> CS is just plain unwelcoming, no matter who you are

I think _this_ is the problem we need to address first. Even after working in
the industry for years, I'm still constantly struck by how contentious and
irritable this industry is.

------
cyrus_
In any competitive field, from computer science to ballet, there are those who
practice for hours and hours per day.

The author does not want to be a competitive computer scientist, and is happy
being a casual one -- skilled enough to make a 40 hour-per-week living with
it, to be sure, but not obsessed enough to advance the field itself. She made
a great choice going to a liberal arts school.

When she compares herself to students at engineering schools, or references a
study of students at CMU, home to some of the top computer science students in
the world, she is doing herself a terrible disservice. She sounds a bit like a
casual runner upset by the fact that Usain Bolt exists.

Elite computer scientists, like elite athletes, live in a different world. If
you want to join that world, the rules are pretty gender-neutral -- work 80
hour weeks, write great software, publish papers, dream in code (or math,
really). If you don't want to do that, you aren't a lesser person. Just don't
compare yourself to those who do make that choice.

~~~
wyclif
I was with you until you advocated the 80-hour work week. That's a sure recipe
for burnout, not necessarily excellence.

~~~
roel_v
No it isn't, there are plenty of people working hours late that and slugging
through it. And it's true that 80 hour weeks don't 'necessarily' lead to
excellence; actually it's quite obvious. However, there aren't many people who
do achieve excellence without extreme dedication. So working 80 hours _will_
add to the results you will achieve.

It's not for everyone, fine. Not everybody can be top 1%. By definition, 99%
can't, obviously. But let's stop pretending that we're all equal and everybody
is the best. We're not, and only the brightest who work the hardest and
smartest, and have some luck, will be the best.

~~~
wyclif
Where did I "pretend that we're all equal and everybody is the best?" Please
don't set up a straw man. And my argument was not that there aren't "plenty"
of people working those kinds of hours. I am simply not convinced that working
80 per week = excellence.

You're equating hours put in with working harder and smarter. If someone plays
the drums for 80 hours a week but has no natural sense of rhythm, they'll
never excel as a drummer. If you want to make Gladwell's "Law of the Few"
argument, then make it (or cite it) and leave off the false analogies.

~~~
roel_v
"Where did I "pretend that we're all equal and everybody is the best?""

You didn't, that was a generalization, an additional message or thought, on
top of the reply to your post which was in the 1st paragraph.

"And my argument was not that there aren't "plenty" of people working those
kinds of hours"

You said that it was a "sure recipe for burnout", implying (more than that,
'positing' even) that everybody who works those hours will at some point burn
out. I disagree. Some will burn out, some (I'd even say the majority but have
no numbers to back that up) won't.

"I am simply not convinced that working 80 per week = excellence."

Right, neither am I; actually I'm convinced of the opposite, that 80
hours/week != automatically excellence. I said so, in those words, in my post.

"You're equating hours put in with working harder and smarter."

I explicitly did no such thing. Putting in many hours is just part of it, _in
addition_ to working harder and smarter. If somebody wants to excel as a
drummer, they'll have to have rhythm, study hard, and practice _a lot_. Just
the first two won't cut it, because there will be somebody out there who will
do _anything it takes_ to be the best. When there is a large group of people
competing, you cannot let _anything_ slack if you want to be the best, because
others will do what you won't. (not _you_ personally, of course, I mean
'someone who wants to be the best).

------
jedsmith
This betrays a bit of a self-confidence issue on the part of the author, as
does <http://blog.carolynworks.com/?p=537> (more revealingly). It also plays
like a specific issue trying to be painted into a gender issue, which it
really isn't.

> “Who knows what lexical analysis is? No one? What, don’t you guys do this
> constantly in your spare time? All right, I’ll show you …”

If I may, I believe that the professor was connecting lexical analysis with
what humans do on a second-by-second basis -- that is, parsing and
interpreting speech from other human beings. Your brain is lexing all of the
time, and I believe that's what the professor might have meant -- that was the
first thing I thought, anyway. I'd drop a class like a bad habit if the
professor quipped about me knowing something before he taught me (I'm not
paying for self-study, pal).

~~~
Mystitat
Self-confidence issue? Yeah, that's the point of the article. She's saying, "I
doubt myself in this area, but I am confident about these other things, and
it's not just me, so I think I'll be okay."

------
alain94040
This has nothing to do with women in tech. It has to do with specialization
vs. generalist.

The image of the ultimate hacker assumes a specialist. 100% focused on their
expertise. It could lead to a great coder. but a company will also need
someone with a decent technical background who can also relate to the end-user
for instance, or align more than one sentence when a customer calls. That
would be more a generalist.

It's ok not to want to be a domain expert.

~~~
j_baker
I don't think it's a specialist/generalist thing. I think it's a "do you have
interests outside of programming" thing. In my experience, the image of the
ultimate hacker is someone who eats, breathes, and drinks programming (which
used to be me). As I've grown older, I've learned to appreciate the value of
learning things outside of programming.

~~~
roel_v
'value' to who? You yourself and your direct environment, presumably. How much
did your other interests contribute to your software skills? Maybe a bit, but
not as much as other skills would have that you could (with directed effort)
have learned in the time you spend on other things.

I'm not saying it's wrong, I too live my life for myself, not for others, and
not to be the very best developer I could potentially be at the exclusion of
everything else. I like to do things outside of software as well, every now
and then. But that doesn't take away from the fact that I could have been
better if I'd spend the time on it.

So, 'the ultimate hacker' (as in, 'the theoretical ideal of the very best
developer') _is_ someone who eats, breathes and drinks programming (or at
least 'software development' in the broad sense). Socializing, a family,
learning macrame - all of those things do not add to being the ultimate
hacker.

~~~
paganel
> Socializing, a family, learning macrame - all of those things do not add to
> being the ultimate hacker.

When you build stuff for the outside world to use (software, architecture
etc.) then knowledge of the "outside world" is of extreme importance. You
being the "ultimate hacker" or the greatest architect since Phidias has no
importance whatsoever.

~~~
roel_v
I agree. But your point is not at odds with my point. Just taking a macrame
class to 'learn about the outside world' is not the most efficient use of
time. What I meant was (it was implied my 'with directed effort' sideline)
that there are ways to learn about what you need to build from specific focus
on those things. You don't have to have family picnics each Sunday to learn
how to best design something for 'the outside world'. When you recognize you
need to know something for the audience you're building for, you can study
that specifically, you don't need the rest.

Of course it's much nicer to go on Sunday picnics and solve cognitive
dissonance between 'I want a personal life' and 'I want to be the best at XYZ'
by rationalizing it as 'oh but these non-specific activities will make me a
more well-rounded person, which will make me better at 'XYZ'. In itself that's
OK, humans need such rationalizations otherwise we'd go crazy in no time. BUT,
just because we _use_ those rationalizations, that doesn't mean we shouldn't
_recognize_ them as such.

So, after this detour ;), my point is: having a family, socializing etc. are
not necessary to know what you need to know about the outside world to be the
best at anything.

------
strlen
As jerf has pointed out, this is Impostor Syndrome. It is present in men as
well. Ironically, the better programmer I've become, the stronger it has
gotten. The thing is, while scary, it's perfectly normal. The only advise I
can offer is just to ignore it. So what if it is true and you "don't belong"
or you're a bad programmer: so what? It's still something that you enjoy and
can make a career, a rare luxury for most in this world.

If you're worried about that the programming world implies less balance,
consider this: the big advantage of programming is that you can get a job that
coincides with your passion. That means, meetings and other bs aside, a
significant chunk of your work is what you'd consider leisure time devoted to
one of your hobbies. It means you actually have _more_ time to pursue non
programming hobbies.

That said, you should consider programming a bit outside of work and class.
It's very easy to lose focus of what is the general industry trend when you're
focused on your specific job. It can be as short as an hour a few evenings a
week and a few hours on the weekends. It doesn't need to be anything "cool",
it should be something you get a kick out of building that you don't get a
chance to do at work: it's perfectly fine to re-invent the wheel, learn a
language that isn't used in industry, write a software to facilitate a non
programming hobby e.g., I love classics of literature, so I once built a
"beautifier" for Project Gutenberg works that would convert them to LaTeX and
type set them.

The fact that you love programming should be enough of a reason to continue
doing it. Especially if you're skilled in areas outside of programming, you
won't have any issue staying employed. Since you have less ego and arrogance,
you'll be able to learn more from others, opening fields that are often close
to people who are convinced they can't be taught anything about programming in
a university setting.

P.S.

If you really are an impostor, that's likely a much more rare and valuable
skill than being a programmer!

~~~
heresy
So what would you recommend someone self-taught who just bombed his past
couple of interviews do?

Nothing like failing on elementary math questions to make you feel like a
class A idiot, especially if your title is 'Senior Software Engineer', and
here I go, bombing on freaking word problems in a numeracy test.

I feel like a total fraud, like I'm in the wrong field, I could have done
those easily straight out of high school.

~~~
strlen
The other part about "no ego" is being willing to learn from rejection rather
than either blindly going through or avoiding all situations where you may be
rejected.

I suggest working your way through the lower division mathematics requirement
that a college CS major might experience. Course material is one way (just
make sure to actually do the homework), taking courses at a local university
(or even a good community college e.g., in Silicon Valley De Anza and Foothill
Colleges) is another (make sure to find an excellent instructor for Calculus
and to take a discrete mathematics course).

The other part to keep in mind is that there's different types of software
engineering roles and different kinds of mathematics. Some (e.g., machine
learning and data mining) are very mathematically intensive (to understand
some papers, you'll need to do integration by parts), others (e.g., graph
theory) are more about discrete rather than continuous mathematics, yet others
(systems programming, application development) are least mathematics heavy
(and where they are, again, the math is mostly discrete rather than
continuous).

~~~
heresy
Well, it was a bit of a kick in the pants to fail so spectacularly, believe
me, I'm not trying to protect whatever fragile ego I do have left, after that
intro the technical parts of the interview were brutal, the interviewer
decided to hammer it into me that I wasn't good enough, and basically threw
the book at me :)

What I learned was that I am woefully unprepared to interview at such a place,
but not that I'm not going to try again (I am, I refuse to give up).

Question for you though, how did you develop a math intuition and the ability
to enjoy math? I used to enjoy math in school, but I'm 31 now, and I find it
tough to slog through the very basics again, so I find it hard not to skim
over things I think I know. I think a part of the reason I enjoyed it at
school was that it was basic, plugging numbers into memorized formulas, using
pattern matching to detect the type of problem, simple stuff if you've been
programming, so it was easy to pull off the straight As.

Time to really learn now though.

From what I have read on HN in other post, it seems there was a "light going
on" time for a lot of you? When did it happen? What did you do to get to that
stage where you started revelling in mathematics?

I think I have the substrate for math, it doesn't take too long for me to
grasp concepts, but solidifying them is what I have a problem with. Without
doing that, it's like anything in programming that I haven't written a program
for. I lose it and forget it quickly.

What is the equivalent of writing programs, but for math, for you?

Thanks

------
OncomingStorm
If the author of this blog post reads this then if I may, I have a few
comments, and everyone else should take note as-well ;)

"When they talk about how they live to program and never leave the lab"

THEY ARE BORING.

I LOVE programming, however I also LOVE playing with my 2-year old, playing
poker with the fella's, practicing origami, watching movies, working on my
(admittedly horrible) art skills.

I know exactly where you are coming from when you say that you are worried
about your programming skills not being 'up to snuff' but trust me, it is a
small price to pay for having a life that is fun and enjoyable. It's these
people skills and life skills that will make you more-rounded, and I'll be
frank when I say that the more-rounded you are, the more likely you are to
have fun, and the more you have fun the more it will show. And the more it
shows you enjoy life, the more people/bosses/hiring managers will want to hire
you to work around them.

It isn't always the technical skills, most of the time it's the soft skills
that make a difference. So practice your knitting, and definitely practice the
Japanese. And next time you are asked about what you have as a hobby, be
honest. It will impress.

~~~
true_religion
In defense of the obssessed, let me say that "fun" is relative.

Lets' take CS out of the equation and consider the case of many basketball
players. In their college and highschools, they found themselves mixed in with
people who were good at sports but had no great innate talents, and also
didn't obsesses about practice. These people punched their clock---coming in
for after school practice---then went home to enjoy other hobbies.

Now the outliers---the ones who would eventually make it to the NBA--were a
different breed. Not only were they innately talented, but they obsessed about
the game from the point of view of a 'normal' player. They practiced their
free throws till they were perfect, they re-watched their games till strategy
was second nature, they pushed their natural abilities to the limits and as a
result had far less time to do anything else.

The same applies to prima-balerinas who often started training at age 6, to
young chess grandmasters who simply played and studied chess more than anyone
else their age, to anyone who's field was competitive enough that mere talent
wouldn't take you to the top.

Is Usian Bolt boring? Was Pierina Legnani boring?

And for that matter--do they consider _their_ training to be boring?

Coming back to CS, computer science encoompases a wide enough range that one
can have a "hobby" that is in CS that isn't similar to their job or studies.
For example one can specialize in logic programming as their job, but come
home and play around by (a) making a procedurally generated game with their
kid, (b) a poker-bot for those online games they play, (c) a flash card
program so they can better learn Japanese, (d) a better Netflix recommendation
engine, or (e) art with RaphaelJS. All of these involve some level of
programming, and some level of Computer Science. Are they all _boring_ just
because they still involve CS?

------
SamReidHughes
In programming most of the variance in ability is explained by intelligence
and not effort. You can take, for example, some non-CS student, teach them
programming by saying "look, here's how you do it", and if they're the right
student, they'll instantly be better than 90% of CS students. (And if they're
not, they won't be. Oh well.) A lot of nerdlingtons who "know" programming and
argue about Java going into their freshman year end up doing poorly.

So I would recommend taking it easy. It makes sense to do what you're
interested in, and much of that is not night programming, then so be it.

~~~
jonafato
Doesn't this go against the 10,000 hours thing? Sure, taking someone who is
smarter and has more experience than other students and putting them in front
of a computer will yield these results. However, someone who is solely smarter
and does not normally program will not likely produce good code. Expertise is
much more about practice than raw ability. Most of the really good programmers
out there are really good because they're both smart and well versed, not just
smart.

~~~
lsc
Have you ever worked with someone who is more than one standard deviation
smarter than you are? I highly recommend the experience. I have watched people
go from novice to better than I am in just a few years, and I have rather a
lot more than 10,000 hours in my field. Hell, I have at least that much in my
sub-specialization.

Mentoring people, especially if you can mentor people who end up learning
faster than you did, who end up becoming better than you are is extremely
rewarding, I think, and humbling.

I mean, experience is important, but intelligence can act as a multiplier on
experience. It's like anything else; Everyone, if they start lifting weights,
will get stronger. But, some people will get stronger faster, even if they
lift the same weight the same number of times.

~~~
jonafato
I absolutely agree with you. This wasn't my point though. My point was that
Person A's 10,000 hours is worth more than Person B's intelligence advantage,
not that Person B will not overcome Person A.

You only learn from encountering situations in which learning is necessary. I
think the smarter person encounters these learning experiences more quickly,
but people don't instantly become great at something.

------
freerobby
I don't understand why you are portraying concentrated education vs liberal
arts education as a women's issue. I'm a male who also earned a CS degree at a
liberal arts school, and I had similar struggles in trying to balance my
technical workload alongside literature and politics.

~~~
derleth
> I don't understand why you are portraying concentrated education vs liberal
> arts education as a women's issue.

Well, when everyone around you is telling you all your problems are nails, you
try to fix everything with a hammer.

------
asdfj843lkdjs
_The rub for women in computer science is that the dominant computer science
culture does not venerate balance or multiple interests. Instead, the singular
and obsessive interest in computing that is common among men is assumed to be
the road to success in computing._

I no way see this as men or cs specific. It is to me very specific to any
extreme performance. Let me rephrase it:

 _The rub for new entrants in X is that the dominant X culture does not
venerate balance or multiple interests. Instead, the singular and obsessive
interest in X that is common among X practitioners is assumed to be the road
to success in computing._

Extreme tennis players, think kids drilled from a young age to be champions,
read Andre Agasi's bio, have exactly the same attitude.

As do piano prodigy's. Any group performing at an extreme has this, because it
is TRUE! To be in the top 0.1% you have to devote your life to it, you won't
have balance!

Do medical students, those headed towards surgery have balance in their lives?
Incidentally, surgery is another one of those male dominated professions.

So please, stop making this about either men or cs, it is not.

------
KevinMS
computer science != programming

Why does this very basic fact elude so many?

~~~
jonafato
Because so often, computer science education boils down to "code this, now
here's your degree" without requiring any of the mathier stuff.

------
swecker
At the beginning of this article I was reminded of Paul Graham's "Hackers and
Painters." If women tend to have broader interests, leaning towards the arts,
than I would say that those that also lean towards coding would have the
largest potential as innovative hackers. Although that's not the same issue as
fitting in with a cs crowd... just my thoughts.

------
grammaton
I think the author is making a series of hasty generalizations. In my
experience a really good developer is _more_ likely to have interesting or
eclectic interests outside of, and far removed from, programming. Development
is a mentally demanding task, and those who aren't able to find a way to
unplug and recharge - usually with something worthwhile and enjoyable out in
the real world - don't last for very long.

------
robgough
The vast majority of people I've met who code professionally DO NOT do any
code outside of office hours? (excepting for the occasional overtime).

I think those that code in their own hours, and read the blogs etc. to keep
themselves up to date are the minority not the majority.

I would also have to concur that I don't think this is gender related.

------
praptak
I think I might add some different perspective to that. I was (and to a degree
still am) one of those guys who went home from the lab to spend some more time
on programming for fun.

Besides the obvious non-IT-related downsides (made me obviously less social),
it also has some IT-related downsides. Even on the purely technical career
path (programmer->senior programmer->tech leader->architect->???) the more you
advance the more you need the skills and knowledge outside the IT field, even
if it's only to keep a lunch conversation with those weird non-technical
people who decide about IT spending :)

My point is that even if you consider this only in the context of your career
in IT, spending your time outside programming might be quite a good
investment.

~~~
billswift
>made me obviously less social

I often wonder about this; which is cause and which is effect. Most of the
people I have seen that are really "obsessed" with some subject were less
social _before_ they started focussing. The focus grew out of their greater
available time and less peer pressure, rather than the other way around.

------
aforty
In college I never once doubted myself. My father was one of the first people
to graduate with a computer science degree. I grew up around computers and I
knew from a very young age that that was the path I was going to follow. It
wasn't until very recently, a few years after graduation, that I started
doubting myself. Is this really the profession for me? I coasted through all
my computer science courses but I had some important interviews go wrong and I
felt inadequate. I wondered if this is what I wanted after all because I
couldn't answer interview questions from Amazon and others. It's not a woman
issue, it's just an issue and there is a solution... someone tell me what it
is.

------
sabalaba
I know I belong and sometimes I wonder don't seem to belong together here. We
all have busy chores to do and things that we know that we NEED to do, but
what you're studying, working on and 'doing' with your life should be
something that you absolutely LOVE. I love coming up with ideas that solve
hard problems, I love coding and I love staring into the dark abyss known as
the global market economy and asking, "What do you want?".

If you have difficulty staring at yourself in the mirror and saying "I love
what I do every day", then you should seriously reconsider what you're doing.

------
abalashov
I would concur with other posters in saying that this is not a gender-specific
problem at all.

------
gommm
It seems to me that most people on HN are programers with rather broad
interest.. So I don't think the programer who only lives to code is the
majority, although it might seem this way during graduate school

------
rick_2047
This is just opposite of what I am thinking. I am doing too much of EE. I
think about some application or the other in my spare time, draw mechanisms
for robotics while I am doodling and while in class I follow my own curriculum
as the one taught at my university it too slow. I am actually looking for a
hobby which would take me away from the abstractions of EE and put me to a
much concrete ground. Just cannot find any. Suggestions?

