I'd also like to jump into this fray (even though it seems off topic...)
For the education part: I do happen to have a BS in CE. My opinion is
that getting the degree (which I completed in '93, so maybe my info
is dated) did a couple of things: gave you a well rounded education
(i.e. made you learn non-CE things that you might have liked to skip
at the time but I've found to be relevant later on) and gave you a
solid basis in CE. I say solid basis because it gave you shit for on-
the-job skills - unless you happened to land in a heads-down-only non-
team environment that valued ideal algorithms on a relatively time
and cost free basis. Do I think that a 4 year CE degree is really
required to be successful at most computer jobs? No. Do I think that
it is a great weeder when you get dumped on with a bunch of resumes.
Yep (along with no typos and good grammar and ...). But job
experience trumps education almost every time in my book.
When I interview someone, I look for solid relevant job experience
(dev language, platform environment, other technologies involved,
previous position, etc.) and communication skills. I almost never ask
generic comp sci level questions (such as write a search algorithm)
because a) you would never need to do it in my line of work, and b)
if I ever caught somebody writing code at that level, I'd probably
find a way to get rid of them because they're not working on the
right problem. I would ask job task specific questions to a) gauge
how much they've fluffed their resume, b) hear them problem solve out
loud, c) see if they're honest and admit when they don't know an
answer, and d) determine if they're up to date on current trends by
knowing where to look for the solution (such as some open source
package or at some layer in the architecture). Many software problems
are less about heads down code writing and are more about thinking
through the problem, picking the right package/structure/framework to
start from or use and writing as little new code as possible. What
does give me some comfort in skipping basic compsci stuff is that I
would assume they've learned that at school. And when asking the
other questions, it usually becomes obvious if they're lacking the
basics.
Walter.
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