Oliver Wong said:
Now we both have jobs, but he makes more money than I do.
And he STILL occasionally e-mails me, asking for my advice on how to
solve problems he encounters at work.
And to some extent, that's how it should be -- not the part about your
friend making more money than you, of course, which I'm not qualified to
speak to; and not necessarily that software engineering experts should
be clueless regarding the concepts of complexity and computability,
either. However, while they are the very foundation of computer science
upon which most everything else is built, these concepts are not the
core areas of expertise of the software engineer. They are somewhat
rarely needed in large-scale business software systems.
This isn't to say that software engineering is for losers, while CS is
for smart people. It's just as poor an idea for software developers to
be undereducated as for computer science students to be so. I don't
mean to say that I think it's okay for software engineering programs to
turn out single-minded developers that can only solve a certain kind of
problems. I just don't believe that "software engineering" has
developed enough that it's possible to point to all the things that the
software engineer should know , but with which the computer science
researcher would not be mainly concerned. As the field is developing,
though, these things appear to include mechanisms for managing
complexity and levels of abstraction. Those techniques are
fundamentally outside of the domain of computer science.
If software engineers need to approach computer science (or even
slightly more computer science educated colleagues) for occasional help
with algorithms, that's what a computer science education is for.
Similarly, they also frequently approach lawyers for interpretations of
statutes that regulate the insurance industry, or approach physicists
for formulae for determining the result of collisions of rigid bodies,
etc. It is their expertise to ask the right questions, then put it all
together and make the product work.
--
www.designacourse.com
The Easiest Way To Train Anyone... Anywhere.
Chris Smith - Lead Software Developer/Technical Trainer
MindIQ Corporation