20 +2 Subjects Every Software Engineer Should Know … and the books you need
Posted by Patroklos Papapetrou on July 19, 2012
I recently read an extremely interesting and useful article about the 20 subjects that every software engineer should know or learn….
What is really cool is that it’s not restricted to products, languages but it describes generally accpepted technologies, methodologies and practices.
It applies both to junior and exeperienced software engineers. The former have a guideline about the fields that need to focus whereas the latter have the chance to re-evaluate their knowledge.
What’s missing, IMHO, is to give the reader a clue about which are the best book(s) related to these subjects so in this post I give my advices on that. Of course the list of books is not complete and it’s just my opinion based on my experience.
Hope you find it useful as well!
1. Object oriented analysis & design
- Applying UML & Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development
- Object Oriented Analysis & Design with Applications
2. Software quality factors
20 +2 Subjects Every Software Engineer Should Know … and the books you need | Sonar Quality Platofrm | Scoop.it said
[…] I recently read an extremely interesting and useful article about the 20 subjects that every software engineer should know or learn…. What is really cool is that it’s not restricted to … […]
20 +2 Subjects Every Software Engineer Should Know … and the books you need « Only Software matters said
[…] A story about Acceptance Criteria and a medical procedure to help your #Agile team || @scoopit bit.ly/NHMnRO #agiledev 2 hours ago Follow @ppapapetrou76 « 20 +2 Subjects Every Software Engineer Should Know … and the books you need […]
Kevin Wright said
So I guess functional programming shouldn’t be considered a suitable topic for a “software engineer” then?
Patroklos Papapetrou said
That’s a nice thought. I don’t have the answer actually 🙂 My question is which is more importand OO or functional programming? Which is hardest to learn first? Does OO programming let you easily learn functional programming? Is functional programming so much “famous” ?
Kevin Wright said
Functional is definitely easier first, and this classic needs to be on any list of “essential” books for programmers: http://mitpress.mit.edu/sicp/full-text/book/book.html
It comes as quite a culture shock when you finally come to realise that many design patterns and practices that evolved since Pascal/C++ are just workarounds for not having functions as a first-class concepts in a programming language.
Fadi (itoctopus) said
I would add one that only a few know about:
“LISP: A Gentle Introduction to Symbolic Computation”. It explains one of the best languages in the world, and it also explains some very basic concepts in programming in a very smart way (including recursion, which, according to my experience, is one of the most complicated concepts to explain to wannabe programmers).
Patroklos Papapetrou said
Thanks a lot for your contribution Fadi!
20 +2 Subjects Every Software Engineer Should Know … and the books you need | Software Architecture | Scoop.it said
[…] I recently read an extremely interesting and useful article about the 20 subjects that every software engineer should know or learn…. What is really cool is that it’s not restricted to … […]
20 +2 Subjects Every Software Engineer Should Know … and the books you need | Androidteo | Scoop.it said
[…] I recently read an extremely interesting and useful article about the 20 subjects that every software engineer should know or learn…. What is really cool is that it’s not restricted to … […]
Lita Clizbe said
For most recent news you have to pay a quick visit the web and on web I found this web page as a most excellent site for hottest updates.|