[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Teaching Soft Skills (Was: System Administration)
>Oh for goodness' sake. I don't think Randal has a CS degree, and I
>know Larry Wall doesn't (his degree is in linguistics). Me: Cognitive
>Science. Bryan McDonald: Spanish Literature. Paul Evans: History.
Me: BA Spanish, et al.
Having a CS degree is certainly not going to automatically make you a
better sysadmin. In fact, it may hurt it. One's ability to produce
proofs regarding computational theory is nearly totally irrelevant to
the sysadmin professional.
The most important skill is, in fact, one's ability to solve problems.
That means playing around on your own, fiddling until things work.
It means digging around and debugging and benchmarking and profiling
and doing high-level analysis.
A CS degree certainly doesn't confer that talent. And I'm not really
sure how to nurture it, or develop it in someone who doesn't have it.
As for software developers, that's a bit different, although
problem-solving ability is still very important there. And as far as
I've seen, no university education teaches this (Evi excepted). It's all
formalistic, whereas reality is nearly always ad hoc. I'd rather hire
someone without a degree who shows problem-solving initiative than an
applicant who has a degree but as so often can't demonstrate a thought
process that shows an ability to solve problems outside the narrow bounds
of whatever book-learning they have.
#BEGIN SOFTWARE DEVOLUTION RANT
Now that computing has been downgraded from the math and science section
of the paper down to the business and get-rich-quick pages (and sometimes
even to the politics pages!), everyone is pushed to produce something
someone will *buy* irrespective of quality or time-frame or aesthetics.
Nearly all other criteria beyond the voracious and avaricious market
are ignored.
Software is getting worse (bigger, slower, harder, more complex) much
faster than hardware is getting better.
(Is this an M$-Intel plot? :-)
We don't need more computer scientists to develop graph theory algorithms
or robust network caching and locking strategies. Nor are we in desperate
need of computer engineers to design new boards or take an oscilloscope
to odd hardware. Both these professions are essential, but these aren't
the folks whose absence is hurting us.
No, what we really, *really* need is software engineers, or if you would,
software design architects: people with a sense of overall system design
and interface engineering; people with aesthetics and patience and vision
and creative inspiration.
Smart people make ever-more-elaborate systems. *THIS IS A PROBLEM*
Only a genius makes powerful and simple things. And there aren't enough
of the latter group to go around, and even those that exist seldom have
the freedom from business pressures to create works of beauty.
And I still recommend reading "The Art of Mathematics". :-)
--tom