From: jm59@prism.gatech.EDU (MILLS,JOHN M.)
Newsgroups: comp.lang.c
Subject: Re: Any hope for me..?
Date: 7 Jan 93 19:49:20 GMT
Organization: Georgia Institute of Technology

In article <C0Hty1.DvH@netnews.jhuapl.edu> bandy@netnews.jhuapl.edu (Mike Bandy) writes:
>raph@panache.demon.co.uk (Raphael mankin) writes:
>
>>My experience of CS graduates is that, by and large, they have read nothing
>>and know nothing that was not in their degree course.

This seems very cavalier!  It's no more likely than the same said about any
other profession.

>
>I've had the (mis)fortune to work with a lot of EEs who were thrown
>into programming without any college computer coursework.  Their attitudes 
>are often that they, because they have 'engineering' in their degree, are
>better than the computer science types at their tasks.  In reality, they
>know little of the basics (data structures, networking, optimization
>issues, etc).  Whereas I'm sure that the history major has a more well read
>background, he does not have the basic requirements for the job.

I'm an ME, and design (usually) firmware and (sometimes) electronics for
computer-based control systems.  I don't think I have the background
to design a compiler or interpreter, nor an efficient database manager.
I would certainly hire a person with computer science training for these
tasks, had I no better selection criteria (such as demonstrated proficiency).

I _do_ understand the dynamics of the systems I wish to control, the
electrical and mechanical interfacing through which I manipulate them, and
the programming tools to write controller code.  I have few reservations
about my experience and capability to realize designs where these are
significant factors.

I have seen the work of engineers _and_ computer scientists uncomfortable with
the realities of tight constraints of execution time, object size, and
interface limitations.  If you can't consider these issues, you can't
build embedded systems (to use today's nomenclature).  I wouldn't be
surprized to learn that these topics aren't universally required in CS
curricula, but I also suggest they are probably available as electives in
classrooms within easy walking distance.  Or they can be learned on one's
own time, as many of us have learned programming.

The best of both worlds would be to have the best of both worlds-- both
types of background.

Second best is to respect what your colleagues can bring to a project, and 
what you can learn from those you work with.  A two-way street, and enjoyable to
travel.  As a minimum, you _must_ know enough to find experienced help when
the going gets tricky.  Listening is also an under-rated skill (at least I
find it can be very difficult to practice).

>Why is it that they'll let anyone program, but let a non-EE major (for 
>example) apply for an EE job, and he's eliminated from consideration 
>immediately?

That's a whole other issue, which should start with analysis of the 
job-creation/hiring process, not individual competence.

Isn't this the group which recently suggested that an inquiring newbie
do penance with assembly language and Pascal, before learning the holy
code of c?

Always happy to contribute to a religious war.

Regards --jmm--

-- 
John M. Mills, SRE; Georgia Tech/GTRI/TSDL, Atlanta, GA 30332
uucp: ...!{decvax,hplabs,ncar,purdue,rutgers}!gatech!prism!jm59
Internet: jm59@prism.gatech.edu
 ... Not so fast -- I'm still thinking.
Newsgroups: comp.lang.c