Ask HN: Resources for the “engineering” aspects of software engineering

26 points by jedimastert ↗ HN
What are some good resources for learning the aspects of software design, development, and other elements?

I'd like to learn more about everything that's outside of just typing code. Things like design principles, project management, architecture, communication, and even things like creative processes and ethics. I feel like my education was really lacking in these areas and I think it's important to be more than just someone typing at a keyboard.

10 comments

[ 4.5 ms ] story [ 30.3 ms ] thread
US SW Engineering license exam prep might be a good starting point, a lot of the items listed are applicable across all engineering disciplines. At least it should help identify key areas to expand on: https://ncees.org/wp-content/uploads/2015/07/SWE-Apr-2013.pd...
That's actually a really good list of topics. I had no idea a software engineering license actually existed.
The road to hell is paved with well-meaning licenses though. I'm not sure if the licensure route is a good thing for the general software industry at large, but I think it should definitely exist at least as a signal for companies that make life-critical software to know you're not just a wide-eyed padawan.

Leave the wiz-kids to Facebook/Pinterest/Snapchat/Instagram, I think few people have an interest in having some young ego moving fast and killing people. This SW Engineering license may be a way to filter them out. But if a company ends up making the license a requirement, then that's a difficult road to be on for the next decade, since the license has only existed for 5 years.

I didn't think there was a licensing body for software engineers! You're right though, this is exactly the kind of thing I was looking for. There are a few topics on here that didn't even occur to me.
Pretty much any book by Steve McConnell, but I'd start with Code Complete.
The classic book in this area is The Mythical Man Month by Fred Brooks. It was published in 1975, but is just as relevant today as ever.

Another great resource is The Architecture of Open Source Applications series. (Available for free online.) Each chapter has the author(s) of a major open source system go in to detail and history about their design decisions and philosophy. Very good for getting the feel about how maestros think about the large-scale organization of software.

Look into books by Gerald Weinberg and Steve McConell. Both have served as great mentors for me in the mentioned areas.