Who Killed the Software Engineer?

Posted on January 21, 2008  Comments (6)

Computer Science Education: Where Are the Software Engineers of Tomorrow? by Dr. Robert B.K. Dewar and Dr. Edmond Schonberg

Over the last few years we have noticed worrisome trends in CS education. The following represents a summary of those trends:
1. Mathematics requirements in CS programs are shrinking.
2. The development of programming skills in several languages is giving way to cookbook approaches using large libraries and special-purpose packages.
3. The resulting set of skills is insufficient for today’s software industry (in particular for safety and security purposes) and, unfortunately, matches well what the outsourcing industry can offer. We are training easily replaceable professionals.

As faculty members at New York University for decades, we have regretted the introduction of Java as a first language of instruction for most computer science majors. We have seen how this choice has weakened the formation of our students, as reflected in their performance in systems and architecture courses.

Every programmer must be comfortable with functional programming and with the important notion of referential transparency. Even though most programmers find imperative programming more intuitive, they must recognize that in many contexts that a functional, stateless style is clear, natural, easy to understand, and efficient to boot.

An additional benefit of the practice of Lisp is that the program is written in what amounts to abstract syntax, namely the internal representation that most compilers use between parsing and code generation. Knowing Lisp is thus an excellent preparation for any software work that involves language processing.

This is an excellent article: any CS students or those considering careers as programmers definitely should read this. Also read: Computer Science Education.

via: Who Killed the Software Engineer?

Dewar, a professor emeritus of computer science at New York University, believes that U.S. colleges are turning out programmers who are – there’s no nice way to say this – essentially incompetent.

Related: A Career in Computer ProgrammingProgramming Grads Meet a Skills Gap in the Real WorldProgramming RubyWhat you Need to Know to Be a Computer Game ProgrammerHiring Software DevelopersWhat Ails India’s Software Engineers?

6 Responses to “Who Killed the Software Engineer?”

  1. No name provided
    February 3rd, 2008 @ 12:44 am

    Yes, this was an interesting article. Perhaps this is a situation that could be helped by professional licensure. If the title “software engineer” is to be used, then perhaps it would be best to have its meaning defined and standardized.

  2. CuriousCat: Is Computer Science a Science?
    April 16th, 2008 @ 4:24 pm

    Most people seem to apply a certain litmus test of sorts to determine if something is a science. Something is a science if
    (1) it uses the scientific method (i.e., empirical research and observation)
    (2) it involves studying “fundamental principles” of the natural or physical world

  3. Eamonn
    October 2nd, 2008 @ 3:44 pm

    I program in mainly in java these days and I would agree with the article especially the part about cookbook approaches using large libraries. Too often programmers are googling solutions to problems and churning out large amounts of bloated code. The coder generally knows nothing about the inner workings of the code and can lead to very messy solutions. Saying that, a good java programmer can implement elegant and quick solutions to programming problems

  4. Curious Cat Math Blog » Problems Programming Math
    October 17th, 2008 @ 4:05 pm

    “I’ve been working on arithmetic in Mathematica for more than 12 years. You might think that’s silly; after all, how hard can arithmetic be?”

  5. CuriousCat: Rumors of Software Engineering’s Death are Greatly Exaggerated
    January 4th, 2009 @ 10:05 am

    “Software engineering already has been defined as engineering, we have an international reference standard for that definition…”

  6. Ron
    October 23rd, 2009 @ 2:48 pm

    Software engeneering is booming in India because so much work is outsourced from Europe and the states. That just makes computer science education so much more important here.

Leave a Reply