[Tutor] A slighty off topic question/rant for the experienced.

Sean 'Shaleh' Perry shalehperry@attbi.com
Wed Dec 18 01:05:02 2002


On Tuesday 17 December 2002 06:42, Jmllr891@cs.com wrote:
>
> Do I have the current technologies down? Noooo! I also have to learn Pe=
rl,
> XML, XHTML, DHTML, BTHTML (some new technology that I saw an ad for), a=
nd
> god only knows what other languages and technologies. My question is wh=
ere
> does it end? How much does the average Joe Smoe have to cram his head w=
ith
> before he's a wizard hacker? Ugh...I think my brain's gonna explode...

I am 25 and have been employed in computers since I was 18 (I have been a=
=20
computer user for about 8 months longer).  Why the background? I think it=
=20
helps set up why I am about to climb up on the soap box so please bear wi=
th=20
me.

When times were good I dropped out of college and made the "real money". =
 Now=20
I see the errors of my ways but I am now married and have a wife who depe=
nds=20
on me.  Finding time (and money) to go back to school is not easy.  So do=
 it=20
right the first time.

What led me on this road was the false belief that since I knew how to wr=
ite=20
code college was a waste of time.  Friend let me tell you, knowing where =
a=20
semicolon goes does not a programmer make.  Languages are just a means of=
=20
expressing youself.  It is the underlying theories, algorithms, data=20
structures, thoughts that make a programmer.  It is possible to get this =
at=20
work but it is much, much easier to get it in school where you have the t=
ime=20
to learn.  Most employers are not interested in hearing "sure I can do th=
at,=20
just give me a month or two to learn how".  They can just hire someone wh=
o=20
already knows.  Some things are also quite difficult to pick up on your o=
wn. =20
Someone is bound to reply saying "man, I never set foot in no school and =
look=20
at me".  Good for them, every person has their path.  This is my own=20
experience and that of several people I know.  many are stuck in low to m=
id=20
level jobs because they can write perfectly fine wrapper scripts but can =
not=20
do the deep architect level code work.

and now for something completely different (-:

My suggestions on learning to be a better coder:

* learn one of each type of language.  Learn Lisp or Forth or ML.  Break =
your
  habits often.  A C coder can write C in any language but a truly good c=
oder
  writes in the idiom of his current language.  This means learning more =
than
  just how to write a for loop or a function call.  If you saw someone's
  python code and they never used a class or a dictionary you might just
  wonder why they used python.  Then there are perl coders who try to use=
 a
  regex or a hash for absolutely everything, even when a simple string op=
 or
  list would suffice (and that is not a perl slam, we all do it sometimes=
).

* when you read a book try to avoid "XXX solutions" where XXX is some
  language.  As another poster commented languages come and go but the
  solutions are still there.  Read books which talk about the act of
  programming not where to place a semi-colon or the right library routin=
e to
  call.  A book like "Design Patterns" is relevant every day of my progra=
mming
  life while "improved Delphi" was only good for 3 months.

* never, ever let yourself stagnate.  This is my other hard earned lesson=
 from
  the dot-com boom.  I was employed for 3 years working on a pet project.
  However in that time work never forced me to do something new or diffic=
ult.
  It is in the new and difficult that we learn, expand, grow, and change.

* other side of the coin, find projects you enjoy and write them.  Just t=
ry to
  avoid being pigeonholed.

Enough of the sermon.  Let me end with one of my favorite music quotes fr=
om a=20
band with the funny name of "Jimmy's Chicken Shack".

"Because living increases knowledge, and when you die, you're dead".