My .02$:
When I was a junior in the U of O CIS dept. I watched A LOT of
people graduate that I would in NO WAY hire. These people were
idiots that were not able to think on their own and did not have the
skill sets needed to be valuable employees that could take on tasks
and responsibility on their own. I was a little bitter about it at
the time, but I got over it. There were some decent people in the
program that I saw graduate, but I was surprised (and maybe appalled)
at how many people that graduated I considered potentially worthless
employees. While I think this had some thing to do with just the
UO's program, I think part of the problem is indicative to all
undergrad programs these days.
A lot of people treat undergrad programs like high school. It is
something they are forced to do. They don't really care about it and
they don't really learn anything. But they show up, and do a half-
assed job on assignments and tests. So they graduate.
Only the Algorithms class challenged me in the undergrad program. It
wasn't until I hit grad school that I had to pay attention in class.
Most challenging classes like compilers are electives for undergrads
and most undergrads choose to take easier electives.
As I have been exposed to various hiring and firing practices, I have
come to appreciate a hands on interview where the applicant is
expected to perform or at least present some work / thinking / code /
etc.. In an interview it is too easy for the a socially adept person
to hide their coding weakness, and often times, brilliant coders
won't have the social adaptiveness to show you how smart of a worker
they are.
Jim
On Feb 13, 2006, at 9:01 PM, Mike Cherba wrote:
I'd like to jump in again if I may. I spent 4 years at university
without graduating. Umich is supposed to be an excellent engineering
program, but my experiences were pretty lousy. In general, I've
gotten
the feeling that a modern Comp Sci degree just means that a person can
do what they should be able to in order to be admitted into an
undergrad
program. I've certainly found that I learned MUCH more about
computing
both before and after college than I did while in.
But this is all beside the point. When I interview people I generally
touch on basic computing concepts quickly as a weeder, and then
move on
into the "important" stuff. Generally I'm trying to figure out 2
things. Can a person think and solve problems and can they
communicate
effectively. I often use logic puzzles as a way to test people. I'll
tell them right up front that I don't care if they solve it during the
interview, I just want to see how they think, so please guide me
through
their mental processes as they attempt to solve it. This lets me
get a
feeling for how they tackle tough situations, how well they can
communicate their thoughts, and how they resolve problems. I've shot
several candidates down because, while they could fly through
computing
related minutia they showed no logical pattern in their attempts to
solve the puzzle. Most often people with a lot of seniority who fell
into the trap of thinking all problems can be mapped onto past ones.
I tend to feel that most of what is taught in a CS course is merely
syntax. that can be learned at any time. The real key in my mind is
"Can this person think and solve problems?". Second is "Can this
person
communicate adequitely?". Actual specific field knowledge is third on
my list.
Back onto my rant about most universities. I had problems because of
the pace. I'd get bored halfway through the term. I would much
rather
see one or two programs that ask students to pick a project per
term and
just make faculty available to point students in the right
direction and
help them over the rough spots. The idea being that in order to
comprehend and impliment the solution to the project the student would
have to learn the basic concepts, and being motivated they would
retain
them better. Patience is NOT something which should be required
learning at a university. The job of a university is to EDUCATE it's
students. NOT to be a continuation of our secondary school system,
where we teach to the median and to hell with all the others.
-Mike
On Mon, 2006-02-13 at 19:44 -0800, T. Joseph CARTER wrote:
On Mon, Feb 13, 2006 at 01:12:55PM -0800, Ben Barrett wrote:
Hah, that sounds about right -- but have you been to any
institutions of
"higher learning" where a BS automatically means anything about the
degree-holder?? I have not! BS degree is more or less
bullshhh... unless
you're an HR person :(
There was a time when it did mean something. As I've said though,
with few
exceptions, you no longer can expect a BA/BS degree in Computer
Science to
mean that the person could even produce an expression tree
generator, let
alone a C compiler. I remember fondly the course catalogs of several
universities when I was entering high school where a C compiler was a
common senior project for even the deadbeats. ;)
It is noteworthy that this was like 1992 where we were happy if our
classes were in the lab that had 386's with Turbo C++ 3 and Pascal 7.
As for integer sort and binary search, I know very few
programmers who would
do this from memory in 30 minutes. Most I know (yes, outside my
workplace
too...) would use libraries as appropriate, and use references. I
understand what you're saying about it being something of an
indicator about
"teachability"... but I think if there was a really good test for
capabilities that fit well across the entire "programming
marketplace" then
none of this thread would be needed :)
Oh come now. You can't tell me that they couldn't work out how to
do a
selection sort on paper. =) (Selection sort is the one that
guarantees
that after one pass, element 0 contains the lowest sorting value.)
The major bits of complexity (file I/O or input parsing) were not
part of
the exercise. I pretty much would pull one of about five such
exercises
out of a hat before an interview, but nothing more complex than
the sort
and search problem.
Joseph, have you been enrolled in CS programs anywhere else? My
experience
is limited but better than the majority of students who went
through a
4-year track right out of high school -- I started as EE at PSU
back east,
then took some time, then enjoyed LCC a bit before wrapping up
the BS at UO
in '01. I almost went to CWRU and/or CMU, too snooty for my
tastes though.
I have not managed to complete a four year program, but I have been
enrolled in a couple of two year transfer things and have evaluated a
number of four year programs' course content.
I'm sure others have feedback on this issue. For the
disinterested, my
apologies for a distinct lack of 'nix content... I've been
helping out a
bunch of folks who are slightly younger than myself, who don't
have any
collegiate degrees, who are perfectly capable and very interested
in doing
good work... and to some of them I've been advising avoiding a BS
program.
For some, I think it is worthwhile.
For all but the major corporations, real world experience trumps a
fresh
BS/BA any day of the week. The level at which I start having
expectations
of graduates is the masters level. I think the only reason the
corporate
types want the degrees is so that they need only differenciate
clueful and
compitent from clueless underachievers.
People without degrees tend to fit a much larger range of
combinations of
cluefulness and ability. That's why I tended to want them to sit
down and
write some code for me--it establishes that they have a certain
level of
both kinds of skills.
The first rule of intelligent tinkering is to keep all the pieces. ---
Aldo Leopold
_______________________________________________
EUGLUG mailing list
[email protected]
http://www.euglug.org/mailman/listinfo/euglug
_______________________________________________
EUGLUG mailing list
[email protected]
http://www.euglug.org/mailman/listinfo/euglug