[LINK] Where Are the Software Engineers of Tomorrow?

Bernard Robertson-Dunn brd at iimetro.com.au
Fri Jan 11 10:37:38 AEDT 2008


Alastair Rankine wrote:
> Bernard Robertson-Dunn wrote:
> 
>> <brd>
>> As technology based systems become more complex, CS students seem to 
>> becoming less widely educated, are focussed on the internet and less 
>> able to understand the complexity of modern systems.
> 
> 
> Bernard, just out of interest, how did you come upon this view? The 
> three criticisms you mention are quite subjective and difficult to 
> quantify.

I work in a world of large scale, complex, enterprise systems used by 
organisations such as government departments, airlines, banks, insurance 
companies etc.

Such environments are often divided up, somewhat arbitrarily, into a 
number of "disciplines". These include:

Business System Analysis and Design
Application Development
Application Maintenance and Support
Networks
Operations
Security
Back-up
Disaster Recovery
Management

Usually people who work full time in an enterprise that has all its own 
IT have quite a good idea of the overlap between, and requirements of, 
the different areas. Where problems arise is when "specialists" get 
involved.

This happens when the technology and/or applications are outsourced, 
when external "consultants" are employed, when vendors propose 
"solutions" or when people within the enterprise but well outside the IT 
environment make "strategic" IT decisions.

In this context CS and SE graduates are specialists who know a bit about 
the application development domain but not much about any of the others.

I doubt that any new graduate of any discipline is capable of being 
responsible for the acquisition and implementation of a new system 
within this sort of environment and I would not expect them to.

When I did my bachelor's degree in electronic engineering many years 
ago, it was exactly the same, however there seems to be a major 
difference in the coverage of subjects I studied. I was taught very 
little about "real" engineering as found in a large engineering 
enterprise. However I knew a lot about the fundamentals and the theory 
of engineering, physics and mathematics. When I learned about "real" 
engineering it was in the context of this understanding, most of which 
is still relevant today.

I get the impression that graduates in the software industry (and I'm 
not picking on CS and or SE students here) know a lot about products, a 
few operating systems and languages but not much about the fundamentals 
and theory of computing and systems. Nor do they learn much about the 
realities of IT operations and production systems.

The impact of this is that new graduates need a lot of training but, 
more importantly, do not understand the fundamentals. And those 
graduates who do not enter the IT profession and therefore go through 
the extra training but who become "consultants", sales people or 
managers do not realise just how ill trained they are. And they end up 
making bad decisions and, more importantly not knowing why they have 
made bad decisions.

And of course I need to explicitly state that this is only my opinion, 
based upon my experience and only applies to the environment in which I 
work.

However, In my defence I would point to the many large IT projects that 
end up as failures and suggest that there is more than a grain of truth 
in all this.

-- 

Regards
brd

Bernard Robertson-Dunn
Sydney Australia
brd at iimetro.com.au




More information about the Link mailing list