5/1 This quote brought up from below, context was systems programming:
"but I am horrified by what recent CS grads do not know."
I've heard this a lot, and to me it just sounds standard old man
ranting. How much can you expect a fresh CS grad to know? I did more
systems stuff than average in college, but I was still ridicoulusly
green compared to me 4 years later. What do you think the average
CS grad should know?
\_ When I graduated in the 90s the old timers looked me down because
I didn't know the MIPS instruction level and optimizations.
When I got older I looked down on the new Cal graduates I
hired, who were crazy about OO and thought OO will solve
all the tough problems out there. However, they turned out
alright and I embraced a subset of C++/OO. A decade later we could
only hire Javaheads during the dot coms and they're probably the
worst of the bunch. However, 1-2 of the kids who stuck around
actually turned out alright. Nowadays, I can't hire anyone who
isn't crazy about fucking Design Patterns that they think is the
greatest thing in the world. I hope 1-2 of them will turn out
alright. I guess I'm just getting old and picky.
\_ I said this and I wasn't implying "recent grad" as in "fresh
out" but in terms of "people with less than 15 years of
experience". I do not feel that people with 25-30 years of
experience". I do not feel that people with 15 years of
experience will be adequately replaced by today's grads with
5 years of experience in 10 years.
5 years of experience in 10 years. This is true of some other
disciplines as well like aerospace engineering where there is
a tremendous brain drain waiting in the wings.
\_ Wow, that is completely different than my experience at my
workplace. Around here the young guys are great, very
knowledgeable and proficient. The old guys tend to be
useless. Possibly because all the good old guys left for
places that pay more.
\_ I think you are just witnessing that as people get older
they give less of a shit and have less energy. That's
true where I work. They are extremely wise and knowledgeable,
but they don't work hard anymore because they don't care.
That's not to say they are useless, even though people
like to call them dead wood. It's just that the young
guys think they know everything already and don't appreciate
the experience the old guys have.
\_ Do not confuse working hard with working effectively.
Working smart is much more important. If you can work
hard -and- smart then more power to you but usually smart
is more than most jobs require to shine.
\_ Where I work most people work hard and smart both,
but as they age they don't tend to work hard
anymore. Not just physical and health limitations but
also the pressures of daily life increase and
people tend to rest on their laurels. I think it's
only natural when people start to approach (or in
some cases pass) retirement age. I think that people who
made significant contributions in the past should have
that reward, but I also think they are underutilized by
the young go-getter types.
\_ Retirement age... by definition they should be
retired, not working hard, yes? How old are these
old people at your work? I think what you're seeing
is not laziness or laurel resting but a deeper
understanding of their work environment where they
have learned that hard work is not necessary and not
rewarded or probably even noticed. That makes them
smart, no? Frankly, who wants to work 60+ hour weeks
for their entire life? What's the point?
\_ Smart, yes. The best workers, maybe not.
\_ I'd rather have a smart guy who works 40 hours
than dans.
\_ I'd rather have a smart guy that works
60 hours, which is what I was getting
at by saying that many people work hard
and smart both. Learning that hard work
is not rewarded is definitely smart,
but not the best for producing work.
However, I do think experience counts
for something because every once in a
while there is that "new" problem that the
old guys (let's say 65-70 years old)
have seen before. The problem is then
getting those older guys to work on
your schedule instead of their own
because they just don't have the
urgency anymore.
\_ Depends on your definition of best. I'd
rather have the lazy smart guy who writes
perfect code during his 9-5 than 10x guys who
crank out tons of broken shit in their 80
hours/week. Which sounds "more best" to you?
Time invested != value. Imagine if your car
safety belt, your dad's heart monitor, or even
your favorite video game was produced by piles
of 80hour/week clowns cranking out crap....
\_ I did not say this, but I would want a recent CS grad to know
approximately how fast it takes to access L1/L2 cache and cache
latency times, memory (RAM) access times and bus width and enough
about how hard disks work to understand why seek time effects disk
latency. Some kind of clue about what kind of performance to expect
from hard disks and network access, as well. Is this too much to
ask? Does this even get taught at Cal?
\_ L1/L2 cache effects, bus, etc is taught in CS152 and not
CS150, hence it's optional. Today, 90% of the job is to
write frontend using one of the BS scripting or worse,
J2EE/EJB shit. All the interesting problems are solved
(container, persistence, storage, horizontal scale).
L1/L2 becomes irrelevant.
\_ I'd say L1/L2 stuff is a bit unreasonable. Also what is a
recent grad doing where that stuff matters? Seriously, if
are giving a green engineer that kind of responsibility without
the few days training it would take to explain you are just
asking to fail. Now if a recent grad is not able to
understand that disk and network access is going to be slow
then yes you have a problem. But really? You expect some
wet behind the ears 22 year old to write code that pays
attention to on chip cache latencies?
\_ Most of that I picked up here and there. 61c and 162 covered
basics of cache latency and disk stuff respectively. -op
\_ When I was coding, I was happy if the new grads knew some
sql, c, perl, could write make files and shell scripts and
knew their way around the common revision control systems.
Mostly what I saw was that they were scared to death of c,
make and anything that didn't come with a gui.
\_ Even grads that go into systems need to know what NP completeness
is. Many don't. -- ilyas
\_ I think if you ask them to do travelling salesman they will
know it is NP complete. The problem is a lot of engineers have
a hard time seeing that what they want to do is pretty trivally
reduced to TS/Knapsack/largest Clique finding/etc. and therefore
NP complete. (And from my experiance this is not the sort of
knowledge people gain after working in the real world, if
anything it's the sort of thing people forget.)
\_ There has been a huge demographic change in EECS programs in the
past 20 years. When I first arrived at Cal, the people in the CSUA
were, on average, seriously nerdly. They were people who really
dug technology and stayed up all night hacking for fun and had
poor social skills and hygeine. That's not what you see these
days; these days kids are being pushed into EECS by their
parents in the same way they are pushed into pre-med and pre-law
programs. This has resulted in a more mainstream population
with less real technological aptitude and interest. This
also happens with people who graduate with pre-med and pre-law
degrees; however, med schools and law schools have very aggressive
sceening and selection programs, while the IT industry does not.
-tom
\_ There has been a huge demographic change in EECS programs
in the past 20 years. When I first arrived at Cal, the
people in the CSUA were, on average, seriously nerdly.
They were people who really dug technology and stayed up
all night hacking for fun and had poor social skills and
hygeine. That's not what you see these days; these days
kids are being pushed into EECS by their parents in the
same way they are pushed into pre-med and pre-law programs.
This has resulted in a more mainstream population with less
real technological aptitude and interest. This also
happens in pre-med and pre-law programs; however, med
schools and law schools have very aggressive sceening and
selection programs, while the IT industry does not. -tom
\_ CSUA != EECS program. How many classes have you taken since
you graduated college and came to work at Cal?
\_ While I agree, I don't really think more aggressive screening
would solve any problems. There just aren't enough really
nerdy guys around to fill demand.
\_ Lack of supply does not stop the screening in medicine.
-- ilyas
\_ I'm not sure there's a lack of supply of people wanting to
be doctors. There is a lack of supply of dedicated geeks,
though, even though salaries are high. Lots of people
just aren't interested or proficient in what I consider to
be skills much more specialized than medicine which is
lots of rote memorization. Aggressive screening will
raise salaries because all of the fakers will be out
of work, but I'm not sure it will help demand.
\_ It was unclear from your paragraph what job you think
requires rote memorization, but the majority of skilled
work in both medicine and high tech requires much more
than that. -- ilyas
\_ Medicine is rote memorization much of the time.
Maybe not radiology or surgery, but a lot of it is.
Doctors seem to be terrible problem-solvers in
general even though making diagnoses is a big
part of their job.
\_ yeah, because solving problems in a human body
is just as easy as solving them in software
engineering. "Anything I don't understand
must be easy."
\_ I didn't say it was easy. I said it was
based on memorization. I'm sorry, but
figuring out why someone is coughing is
not really difficult in spite of what
shows like House make you think. I've
talked to some good doctors who *do* have
great problem-solving skills and they
would be the first to tell you that the
majority of their colleagues don't have
that ability. It's not really what medical
school is about for the most part. I do
think many more CS students could be
doctors than vice-versa.
\_ you're an idiot.
\_ You are an idiot. Moreover you don't
understand diagnostic medicine. -- ilyas
\_ And you do, of course. I have been
the victim of 'diagnostic medicine'
and I did a better job of problem-solving
than my doctors did. It got to the
point where I just demanded the tests
I wanted from various specialists
because GPs were totally worthless.
The specialists were knowledgeable
in their own fields, of course, but
most of them weren't too useful
either when results came back
negative. Finally, I found a great
doctor based on some recommendations
and *he* helped me by: 1) listening
to me (most doctors don't do this
and it's a big part of problem-solving),
2) ordering expensive tests (doctors
don't like to do this unless they
have strong suspicions because then
they have to battle insurance) and
3) being smart enough to look at the
reports written by other doctors. My
doctor and I worked as a team to
solve my health problem, but it took
me trips to about a dozen (or more)
doctors before I found one worth shit.
So many doctors are just good at
"take two aspirin and call me in the
morning" but when presented with a
real challenge they are worthless.
My neighbor is a neurologist who is
a very good doctor and he told me
about a case where he suspected a man
had a brain tumor but the teams of
doctors treating him couldn't figure it
out. They actually had him
institutionalized. Only years later
did someone discover he had a brain
tumor. It was removed and the man is
totally normal now. This is what
these people you have such high
regard for do. I am not saying all
doctors are bad. Some are excellent.
However, problem-solving is not high
on the list of things the average
doctor is good at. Lots of doctors
like to write prescriptions until
they find one that works. That's not
good medicine. It can even be dangerous.
\_ I am not sure what these anecdotes
have to do with your original
assertion, which is that medicine is
rote memorization much of the time.
If anything, these support my point,
namely that diagnosis is a complex,
difficult activity that requires
skills an average doctor may
not have. If you want to rant about
'the average skill level' in both
medicine and high tech, I think you
will find many people, including me,
more sympathetic. -- ilyas
\_ I think you misunderstand:
1. Medicine should be much
more than rote memorization
2. Yet, medical school and the
medical professional rely
medical profession rely
heavily on rote memorization.
In my opinion many doctors
do so because their own
problem-solving skills are
lacking.
\_ Yeah, I am going to go with
my original assessment of
'you are an idiot.' -- ilyas
\_ I am guessing someone in
your family must be in
the medical profession.
Who is it?
\_ There seems to be plenty of supply (from India+China if
nothing else). As for being a real nerd or not, that
is less of an issue if there is screening. The non-nerds
just need a more directed education to teach them what
they need to know, instead of relying on ubernerds to
basically teach themselves. |