Advice

Trent Shipley tshipley@symbio-tech.com
Thu, 22 Mar 2001 12:19:29 -0700


> -----Original Message-----
> From: plug-discuss-admin@lists.PLUG.phoenix.az.us
> [mailto:plug-discuss-admin@lists.PLUG.phoenix.az.us]On Behalf Of David
> A. Sinck
> Sent: Thursday, March 22, 2001 11:25 AM
> To: plug-discuss@lists.PLUG.phoenix.az.us
> Subject: RE: Advice
>
>
>
>
> \_ SMTP quoth Gorman, John on 3/22/2001 09:35 as having spake thusly:
> \_
> \_ Real experience wins every time over theoretical analysis.
>
> I'd beg to differ, in part, ....
>
> \_ Regardless of the class, schools only teach you the basics.
> \_
> \_ In school you always create your programs from scratch according
> \_ to the school assignment. You never get the experience of working
> \_ on a program that is 10 years old, or understand the disciple it
> \_ takes to write a program that may take a 6 months to write and you
> \_ have to coordinate with a team of others. You never get exposed to
> \_ office politics, which right or wrong is a reality that we all have
> \_ to work in.
>
> Schooling gives you the tools to discover whey O(n^3) algorithms are
> bad.  In a workplace, show me someone who won't throw an Intel
> solution at slow algorithm rather than try to reduce it's complexity,
> hence obviating the need for the degree....
>
> If you can't understand why things are, the large code/products you
> build will be hopelessly flawed.  I've seen code that didn't even
> understand race conditions: "Big Mystery Bug!  I can't find it!"
> Sure...you look...singly threadedly/processedly...no problem.  After I
> sprinkled some gratuitous flocks later... bamph...'bug' dead under
> real test.  If you don't know about race conditions... you'll never
> see them.
>
> Education good.  Experience good.  Both excellent.  :-)
>
> David

You know, it is not to unusual to find old-timers who believe that accademic
preparation, especially in CS, is positively detrimental to effective
performace in 'the real world' (where real world is code for industry).

The owners of my company did not go to college, regard themselves as hackers
of the first rank, and PREFER to avoid accademic eggheads of any variety.

Of course computer science is not about programming.  A CS student is
supposed to work at developing completely new algorithms, applications,
technology or above all CS theory.
   Most programming deals with variations on themes.   You redeploy the same
tools to solve related problems.  The main level of creativity is just at
the level of problem analysis.


I've been thinking about it and am starting to suspect that programming is a
trade . . . along with construction, repair, networking, help-desk, etc.
Briefly:

Computer Science :: Mathematics :: Physics                   Discipline

CIS/MIS::Computer Engineering::Medicine::EE                  Profession

Hacking/Programming::Networking::Plumbing::Journalism        Trade



This also implies that programming is an eminently TRAINABLE skill and that
our economy's system for creating coders is completely wrong....   (Which is
a good thing if you are highly paid programmer or his dependent, and bad if
you are anybody else.)