[Summary] The 'C' Word

From: "Roderick A(dot) Anderson" <raanders(at)tincan(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: [Summary] The 'C' Word
Date: 2001-07-24 14:02:51
Message-ID: Pine.LNX.4.10.10107240659221.9916-100000@tincan.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

In a time long, long ago (or maybe only a week or so I sent out a
messsage about Certification and Training with a promise to provide
the results. After getting a little busy and waiting to make sure I
had everyones messages it is at last done.
My original message follows and the replies that apply (separated by
three dashes '---') follow.

--- [Original Message]

I have been thinking about Certification issues for different software
packages and tried to follow any discussions I run across. Typically I
think of certification as an indication of an ability to
learn-to-the-exam or as a previous employer said 'shows you can take
tests'.
This brought to mind the number of questions that appear on this list
that indicate the person has very little knowledge of relational
databases. This then got me thinking about how people - especially
those on the PostgreSQL lists - got their training and education in
databases.

For myself I learned through a mix of reading (books, magazines,
documentation), vendor training (Oracle's mostly), and hands-on work (
couple of large projects for the US Forest Service). No formal school
based training.
This got me wondering about training available locally. A _very_
brief check showed only application specific training - most notable was
MS Access. Nothing on database design, relational theory, data
normalization, etc.
Now the Inland Northwest (Eastern Washington and North Idaho) isn't
exactly a hotbed of Information Technology so I was wondering where
others got their training and education and how you would suggest a new
user get some fundamental training and education.

Please reply off-list and I will gather and summarize the results.

--- [Reply]

I suppose I got my first 'training' years ago when I was doing data
entry into a 4D Macintosh system. Since I also wound up serving as
informal liaison between my boss and the freelance programmer
developing the database app., I learned some about translating
requirements into a database design in the process.

Later, still as a clerk, I complained that Excel 4.0 macros weren't
flexible enough to create all the reports my boss wanted, and the IS
department handed me a copy of MS Access 1.1. I managed to get myself
on the distribution list for "Smart Access", a newsletter edited by
Paul Litwin, and learned a lot that way. Later I went back to college
to finish my degree and got some more formal training in relational
database design and modeling. My employer also signed me up for a
couple MS SQL Server classes, although they were more about
implementation than design. Books and articles also helped of course;
anything by C.J. Date in particular.

Nowadays I'm astounded at the number of people who design or even
write database applications but know nothing about relational theory,
normalization, referential integrity, etc. Right now I'm trying to
educate the people writing the specs for the database application I'm
working on, trying to convince them of the need to design in
referential integrity. (i.e., "We can't allow users to delete a
record in table A if there are still records in table B that depend on
it... unless we also delete the dependent records in table B.")

For me, "Certification" so far seems to be a waste of time and money.
Most certifications are platform or vendor-specific, and are more
about implementation than understanding the background reasons for
doing something. My B.S. in Business/Information Systems was earned
by learning theory and general principles; the technologies used in
the degree program are mostly outdated now, but I'll be leveraging the
design principles for years to come. I'm not trying to generalize and
say that all certification is worthless; my knowledge isn't broad
enough for that. Just relating my personal experience and resulting
opinions. :-)

--- [Reply]

My education has been (and continues to be) very much as you
described, with ACM/USENIX seminars replacing the vendor training.

Even here in Boston, it is hard to find academic programs that can
match the effectiveness of on-the-job learning, nevermind the fact
that my employer pays me to learn on the job, instead of having to pay
a university. There are occasional worthwhile classes, and I will
probably eventually do a program or a certification. But more for the
credibility than for the learning experience.

I expect windows-based training might be easier to get through a
university in today's world, but I really don't know.

But you do allude to the fundamental weakness. Few places teach
programming, many teach languages. But I'd rather learn programming
and pick up syntax as I need it. Maybe that's an old fashioned
concept.

--- [Reply]

I read books.

--- [Reply]

I bought the books for MS SQL Server database design and
administration and took the tests. I was working in that environment
and thought it would be a good place to get a baseline of knowledge
and get validation of what I thought I already knew. It was a great
experience and served its purpose.

I see a lot of PG users who don't know anything about database design.
They are learning the hard way and perhaps leaving some carnage in
their wakes. Certification is a good idea only because the
pot-of-gold is a good motivation to learn what they should know before
issuing their first CREATE TABLE in a production environment. Great
Bridge should be getting some of that money instead of microsoft.

--- [Reply]

Formal training at university. I have also done some oracle and MS
training however there are some differences in the approach. One give
you an overview of a product only introducing theory as a side note,
presented as the authoritive voice of god.

Uni training tended to be far more abstract however balanced against
this the information has dated (no pun intended) less. One thing that
I really found interesting was indexing and the advantages and
disadvantages of different indexing approaches. Reading books gives a
similiar depth of knowledge however uni tend to force you to learn
theory in areas that don't currently interest you but later tend to be
valuable.

--- [Reply]

all my training was done on the job. i would agree to do something i
only had a vague idea about and then poke around howtos, faqs, mailing
lists, websites, etc until i got it done. it actually worked very well
and i didn't waste as much time as one would expect. i've always felt
a little insulted by computer classes because they assume no
learn-it-yourself attitude.

--- [Reply]

I read books. And made a _lot_ of mistakes the first couple of times
out. Also, I worked for a library, running their database, so I got
to see someone _else's_ normalisation (on PICK, though, so not
relational) design, which was pretty instructive. Oh, and I studied
symbolic logic as an undergrad.

--- [Reply]

I started out learning SQL because I wanted to database-ize my
website. I had MySQL available, so I got a copy of SQL For Dummies and
skipped past all that tedious Relational Theory and Normalization crap
and built my site, making quite a few mistakes.

A few months later, I completed a database class at my college
(Southern Polytechnic) where I learned the RIGHT way to do everything
and why FOREIGN KEYs are so gosh darn important.

Now I cringe when I see some of the questions on this list :)

--- [The End]

Enjoy,
Rod
--
Remove the word 'try' from your vocabulary ...
Don't try. Do it or don't do it ...
Steers try!

Don Aslett

Browse pgsql-general by date

  From Date Subject
Next Message Justin Clift 2001-07-24 14:16:52 Re: OS X
Previous Message Richard Huxton 2001-07-24 12:58:29 Re: Bad timestamp external representation