Saturday, September 6, 2014

Fun Books for the Software Developers

After the serious readings for programming, algorithms and software craftsmanship here are some fun readings for our profession.

Entertaining History of Our Profession

Hacker Fiction

Rick Cook’s Wizardy series is a fantasy series for computer buffs that tells the story of a Silcon Valley hacker who finds himself in a different world where he discovers that magic can be “programmed” and is asked save the world from the “Dark League”. Rick Cook definitely have some familiarity with programming and I found his stories to be a fun read and his computer humor entertaining.

Friday, September 5, 2014

More Books for the Professional Developer

My previous post of books for developers focused on programming, but if you’re a professional programmer/developer/software engineer there are more things you’ll need to know besides writing code and algorithms.
Here are some books that I recommend for the professional or those who work with programmers.
The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) - Describes Brooke’s Law that adding man power to a late project makes it later and other wisdom of software development project management.
Peopleware: Productive Projects and Teams (3rd Edition) - Software development is ultimately done by people (not cogs and robots) and it’s important to remember that.
The Practice of Programming (Addison-Wesley Professional Computing Series) - Talks about the practical aspect of programming including “topics like testing, debugging, portability, performance, design alternatives, and style.”
Facts and Fallacies of Software Engineering - A lot of common sense stuff about software engineering that are often forgotten in the thick of our work.
Making Things Happen: Mastering Project Management (Theory in Practice) - There is a level of project management from individuals to teams that every engineering should be aware of. This is a good pragmatic book about getting projects done and not about specific methodologies.