Books

My plan is to read 16 books. You can find more information about this here. The current progress is:

From the former list, and not only, some books get into the next list. These are the books that I highly recommend.

book_howibecamestupid

How I Became Stupid (Martin Page)

Publisher: Penguin (Non-Classics)
Publication: 2004, English
ISBN: 9780142004951
Pages: 176

Twenty-five-year-old Parisian Antoine is sick. The disease? Intelligence. Desperate to find a cure for his overactive brain, Antoine considers alcoholism, suicide, and lobotomy, but none seems quite right for his special needs. A new job, though, is just the ticket. Accepting a position in his high-school friend’s brokerage firm, Antoine finds the burdens of consciousness gradually slipping away. This delightfully over-the-top debut novel was a smash when it was published in France in 2001, but will it play as well stateside?

After all, the mediocrity that Antoine deems essential to being happy in today’s society features many elements common to mainstream American culture. Still, there is always an audience–if not an enormous one–for novels that skewer thick-headed simplicity, and this absurdest comedy mounts a formidable attack. Only an abrupt and puzzlingly optimistic ending detracts from the note of cheerful pessimism that drives the story.

Amazon link

book_buildmaster

The Build Master: Microsoft’s Software Configuration Management Best Practices (Vincent Maraia)

Publisher: Addison-Wesley Professional
Publication: 2005, English
ISBN: 978-0321332059
Pages: 288

Say what you will about Microsoft, they know how to successfully build and release software. Vince Maraia has been a key member of the build teams for many of their major software releases over the last fifteen years. In this book he distills the wisdom he has learned about building software, while also setting it into the context of related steps, including configuration management and deployment. While he uses Microsoft tools and case studies from within Microsoft, the book is as tool-agnostic as possible, to make the ideas applicable to the broadest possible range of readers. The book is written so that each chapter builds upon the previous one, following the standard development schedule; however, each chapter can also stand alone as a reference to that particular piece of the process. Microsoft has been so successful at developing build procedures that work that they will be incorporating many of them in the forthcoming suite of products called Visual Studio 2005 Team System, so this book is being released at a very opportune time.

Amazon link

The Inmates are Running the Asylum

The Inmates are Running the Asylum

Publisher: Sams; 1 edition
Publication: 1999, English
ISBN: 9780672316494
Pages: 288

In this book about the darker side of technology’s impact on our lives, Alan Cooper begins by explaining that unlike other devices throughout history, computers have a “meta function:” an unwanted, unforeseen option that users may accidentally invoke with what they thought was a normal keystroke. Cooper details many of these meta functions to explain his central thesis: programmers need to seriously reevaluate the many user-hostile concepts deeply embedded within the software development process.

Rather than provide users with a straightforward set of options, programmers often pile on the bells and whistles and ignore or deprioritize lingering bugs. For the average user, increased functionality is a great burden, adding to the recurrent chorus that plays, “computers are hard, mysterious, unwieldy things.” (An average user, Cooper asserts, who doesn’t think that way or who has memorized all the esoteric commands and now lords it over others, has simply been desensitized by too many years of badly designed software.)

Cooper’s writing style is often overblown, with a pantheon of cutesy terminology (i.e., “dancing bearware”) and insider back-patting. (When presenting software to Bill Gates, he reports that Gates replied: “How did you do that?” to which he writes, “I love stumping Bill!”) More seriously, he is also unable to see beyond software development’s importance–a sin he accuses programmers of throughout the book.

Even with that in mind, the central questions Cooper asks are too important to ignore: Are we making users happier? Are we improving the process by which they get work done? Are we making their work hours more effective? Cooper looks to programmers, business managers, and what he calls “interaction designers” to question current assumptions and mindsets. Plainly, he asserts that the goal of computer usage should be “not to make anyone feel stupid.” Our distance from that goal reinforces the need to rethink entrenched priorities in software planning. –Jennifer Buckendorff

Amazon link

The Pragmatic Programmer

The Pragmatic Programmer (Andrew Hunt)

Publisher: Addison-Wesley Professional
Publication: 1999, English
ISBN: 9780201616224
Pages: 352

Programmers are craftspeople trained to use a certain set of tools (editors, object managers, version trackers) to generate a certain kind of product (programs) that will operate in some environment (operating systems on hardware assemblies). Like any other craft, computer programming has spawned a body of wisdom, most of which isn’t taught at universities or in certification classes. Most programmers arrive at the so-called tricks of the trade over time, through independent experimentation. In The Pragmatic Programmer, Andrew Hunt and David Thomas codify many of the truths they’ve discovered during their respective careers as designers of software and writers of code.

Some of the authors’ nuggets of pragmatism are concrete, and the path to their implementation is clear. They advise readers to learn one text editor, for example, and use it for everything. They also recommend the use of version-tracking software for even the smallest projects, and promote the merits of learning regular expression syntax and a text-manipulation language. Other (perhaps more valuable) advice is more light-hearted. In the debugging section, it is noted that, “if you see hoof prints think horses, not zebras.” That is, suspect everything, but start looking for problems in the most obvious places. There are recommendations for making estimates of time and expense, and for integrating testing into the development process. You’ll want a copy of The Pragmatic Programmer for two reasons: it displays your own accumulated wisdom more cleanly than you ever bothered to state it, and it introduces you to methods of work that you may not yet have considered. Working programmers will enjoy this book.

Amazon link

cleancode

Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin)

Publisher: Prentice Hall
Publication: 2008, English
ISBN: 9780132350884
Pages: 464

Even bad code can function. But if code isn’t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn’t have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer—but only if you work at it.

What kind of work will you be doing? You’ll be reading code—lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.

Amazon link

book_codecomplete2

Code Complete, Second Edition

Publisher: Microsoft Press
Publication: 2004, English
ISBN: 9780735619678
Pages: 960

For more than a decade, Steve McConnell, one of the premier authors and voices in the software community, has helped change the way developers write code–and produce better software. Now his classic book, CODE COMPLETE, has been fully updated and revised with best practices in the art and science of constructing software.

Whether you’re a new developer seeking a sound introduction to the practice of software development or a veteran exploring strategic new approaches to problem solving, you’ll find a wealth of practical suggestions and methods for strengthening your skills. Topics include design, applying good techniques to construction, eliminating errors, planning, managing construction activities, and relating personal character to superior software. This new edition features fully updated information on programming techniques, including the emergence of Web-style programming, and integrated coverage of object-oriented design.

You’ll also find new code examples–both good and bad–in C++, Microsoft(r) Visual Basic(r), C#, and Java, though the focus is squarely on techniques and practices.

Amazon link

You might also find interesting: