Best Computer Science School in Utah
levi at cold.org
Wed Sep 26 13:11:57 MDT 2007
"Sasha Pachev" <sasha at asksasha.com> writes:
> There are lots and lots of businesses out there. Some need people who
> understand algorithms very well, others can get by with somebody who
> can generate a web page in a scripting language and create/implement
> algorithms of bubble-sort level difficulty.
I agree that there is a need for people with different skill sets, and
that deep computer science knowledge isn't necessary for all
computer-related jobs. However, I think you would be disappointed
with any programmer who didn't have the CS chops to see the problem
with bubble-sort or be able to work with algorithms a little more
complex than it.
I am also, actually, a believer in software craftsmanship. I don't
want anyone to think that I don't believe it's important to develop
those kinds of skills. The Computer Science program at your local
university isn't really the right place to learn those, either.
Craftsmen have always learned their craft through close work with a
master craftsman while on the job. The analogy with programming here
would be learning through reading the programs written by master
programmers and writing your own.
Software craftsmanship, however, is only a portion of the construction
of programs. Every builder of programs beyond a certain level of
complexity needs to have some additional Computer Science knowledge to
be able to analyze and deal with that complexity, or have someone on
hand who can help with it. If you don't have that knowledge, you'll
be limited in what you can successfully build. That's actually okay,
in a lot of circumstances, but my point has been to emphasize the
importance of Computer Science, because a lot of people who are
software craftsmen in training tend to downplay that importance.
More information about the PLUG