‹ BackHN Continuity

Thread

What makes software development engineering

48 points · 63 comments · ibobev

  1. testing22321 · · focus · HN ↗
    My degree is Software Engineering, and is fully accredited by the Australian Institute of Engineers.

    It was two years longer than computer science, and all of those extra courses were with the “mainstream” Engineers.

    1. pull_my_finger · · focus · HN ↗
      Can you elaborate on the extra courses? What are America's developers missing (I imagine ethics is glaringly missed)?
      1. budman1 · · focus · HN ↗
        I suspect it was statics and dynamics (2 courses), heat transfer, electrical circuit theory (2 courses), differential equations, and complex variables. Along with some pre-reqs.

        In the past it was not uncommon for every 'engineering' degree to require the basic sophomore level classes for mechanical and electrical engineering. (inThePast = years<1990)

      2. dpark · · focus · HN ↗
        > I imagine ethics is glaringly missed

        You imagine wrong. Everyone I know with a software-engineering-type degree took a mandatory ethics course.

        1. TomOwens · · focus · HN ↗
          This is right. Not only are ethics courses required for accreditation, but ethics is built into a number of other courses. It was primarily the design courses, but there was usually at least a module on some kind of ethical failure in whatever system the course was covering, like embedded, enterprise, or whatever.
      3. TomOwens · · focus · HN ↗
        I suspect that testing22321's program is what Steve McConnell called software _engineering_, as opposed to the software engineering program that I went to, which is aligned with McConnell's _software_ engineering.

        There's a chapter on this in McConnell's Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers.

        His example of software _engineering_ was McMaster University in Canada, where the graduate could achieve licensure by taking and passing the appropriate exams. Courses include materials, thermodynamics, electricity and magnetism. His example of _software_ engineering was based on (an older version) of the program I went to at RIT, which covered courses in software project management, software engineering process, and a lot more software systems design. Both had similar math, computer science, and software development courses, but I suspect McMaster would have courses in linear algebra and multivariable calculus that I didn't have.

        Are American developers missing something? We missed out on the opportunity to get licensed in the mid-2000s and 2010s. People who went to _software_ engineering programs probably couldn't pass an FE exam unless they took (and remembered) a bunch of courses that have little to do with building software and would fall outside their normal academic program. I'd say that the software _engineering_ programs that don't get into the nuances of how to manage organizations and teams building software systems are the ones missing useful knowledge.

      4. kcexn · · focus · HN ↗
        The grading rubric for all engineering units here in Australia require that students develop an understanding of ethics and professional practice. There are a number of units dedicated to teaching project work, legal, and business aspects of engineering.

        Typically the software engineers also do more maths than CS students. Reasoning from first principles is an important skill for professional engineers to have.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.