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

Reply via email to