4 ms·
Ask HN: Resources for the “engineering” aspects of software engineering
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.
- genericone 8y agoUS 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.pdf https://ncees.org/wp-content/uploads/2015/07/SWE-Apr-2013.pd...
- bradstewart 8y agoThat's actually a really good list of topics. I had no idea a software engineering license actually existed.
- genericone 8y agoThe 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.
- jedimastert 8y agoI 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.
- JamesBarney 8y agoPretty much any book by Steve McConnell, but I'd start with Code Complete.
- mindcrash 8y agohttps://github.com/ossu/computer-science https://github.com/ossu/computer-science "Path to a free self-taught education in Computer Science!" Have fun!
- dcolkitt 8y agoThe 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.
- maerF0x0 8y agoTLA+ ? > It is used to design, model, document, and verify concurrent systems. TLA+ has been described as exhaustively-testable pseudocode, and its use likened to drawing blueprints for software systems [1] resource: https://lamport.azurewebsites.net/video/videos.html https://lamport.azurewebsites.net/video/videos.html [1]: https://en.wikipedia.org/wiki/TLA%2B https://en.wikipedia.org/wiki/TLA%2B
- itamarst 8y agoI write about a lot of these topics, e.g.: 1. Communication of technical ideas: https://codewithoutrules.com/2018/03/09/win-technical-arguments/ https://codewithoutrules.com/2018/03/09/win-technical-argume... 2. Feedback loops aren't just for your benefit: https://codewithoutrules.com/2017/02/10/voice-exit-user-retention/ https://codewithoutrules.com/2017/02/10/voice-exit-user-rete... 3. Ethics: https://codewithoutrules.com/2017/01/29/job-contradict-beliefs/ https://codewithoutrules.com/2017/01/29/job-contradict-belie...
- roundthecorner 8y agoLook into books by Gerald Weinberg and Steve McConell. Both have served as great mentors for me in the mentioned areas.