Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Professional software development

    Professional software development

    Steve McConnell · 2003

    Software EngineeringProgramming
    Open LibraryAmazon
    Stats for nerds
    2recommend
    6mentions
    5people
    2012–2026years
    33% recommend67% neutral

    Mentions per year

    20122014201620182020202220242026

    What Hacker News says

    1. fslothSep 2022
      To be fair, I don't think 3-5 books suffice at all. So from the point of view of adding books no-one else has mentioned, from the point of view of C++ Software Engineer, a few of my favourites:

      Code Complete 2 - McConnel

      Professional Software Development - McConnel

      Structure and Interpretation of Computer Programs (SICP) - Sussmann et all. (main artifact: Implement the scheme interpreter, not in Scheme, but in a language of your choice)

      Algorithm Design Manual - Skiena

      The Timeless Way Of Building - Alexander. Software patterns often refer this book, but the concepts used in software patterns generally are far more pedestrian in scope than Alexanders timeless vision for quality in architecture. Goes really well with this older book Notes On The Synthesis of Form.

      thread
    2. btillyNov 2017
      The value of the system shows up in things like civil engineering when it is required that an accredited engineer signs off on the design. That engineer has personal liability if the building fails. The engineer's boss cannot simply order the engineer to sign off on the design, if the engineer says that you must, it has real weight.

      The US has the same basic system, all that is different is how strictly the word "engineer" is regulated. And that varies by state.

      Before that system was adopted, bridges fell down an average of once a week in the USA. We have a lot more and bigger bridges now, but not nearly as many fall down.

      Read https://www.amazon.com/Professional-Software-Development-Sch... for case for doing the same thing for software development.

      thread
    3. TomOwensSep 2026
      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.

      thread
    4. poulsbohemianJul 2014
      It seems to me that you are making the same general argument that Steve McConnell (of Code Complete fame) made in his 2003 book "Professional Software Development", namely that CS programs serve a different purpose and clientele than a Software Development or Software Engineering program would serve. So, rather than evolving a CS curriculum, another option would be to introduce parallel software engineering programs. Honestly though, for a professional developer who sees this as a career, I'd argue you are better off doing CS at the undergrad level, then pursuing something like a Masters in Software Engineering. CS at the undergrad level gives everyone the foundation they need, regardless of what the pursue professionally after that.
      thread
    5. btillyJul 2013
      Here is an explanation that I read in a book of Steve McConnell's a decade ago.

      Certain types of tasks (eg building a bridge) require an engineer to sign off on the work. And the engineer is personally liable should the design of the bridge prove faulty. An engineer is a person whose license allows them to make those representations and have it be accepted.

      Most software developers lack that license, and cannot legally sign off on designs. And as an industry we don't value software development's expertise as a final say on what does or does not fly. The consequence is chronic security problems, nonfunctional software, privacy specifications, etc, etc, etc.

      As a society, we are not OK with bridges falling down. But apparently we are OK with having software projects routinely overrun budgets by 100+% and still fail to deliver required functionality.

      Steve McConnell makes the case in http://www.amazon.com/Professional-Software-Development-Sche... that if a true software engineering profession was recognized - not just software developers being called software developers but actual engineering certifications in the field of software development - we could begin fixing this. I don't think it will happen, nor am I totally supportive of that approach - but he makes a case worth reading.

      thread
    6. sigsergvNov 2012
      One chapter from “Professional Software Development” by Steve McConnell is directly related to this question.

      And there is no answer, moreother, I think Software Engineering is still somewhere near the “handcrafting” (if compare with Real Engineering).

      thread

    Related

    Cover of Software project survival guide
    2007–2022

    Software project survival guide

    Steve McConnell
    12 recommend · 16
    Cover of Rapid development
    2009–2025

    Rapid development

    Steve McConnell
    27 recommend · 82
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of Software Estimation
    2007–2026

    Software Estimation

    Steve McConnell
    58 recommend · 120
    Cover of Pro Git
    2009–2026

    Pro Git

    Scott Chacon
    142 recommend · 173
    Cover of Refactoring
    2007–2026

    Refactoring

    Martin Fowler
    94 recommend · 179
    Cover of Clean Code
    2008–2026

    Clean Code

    Robert C. Martin
    298 recommend · 951
    Cover of The art of computer programming
    2007–2026

    The art of computer programming

    Donald Knuth
    336 recommend · 1,799