I just finished reading Dreaming In Code by Scott Rosenberg today. In short; I liked it!
The book is an exploration of the pitfalls of developing and managing software projects. It follows several years of development on the Chandler Project by the OSAF asking questions such as:
- Why are software projects rarely delivered on time?
- Why are software projects rarely delivered with all of the desired functionality?
- Why is it that software projects very rarely meet the users desires?
- Why do software projects always seem to fail in some way?
Rosenburg draws upon his personal experiences, the experiences of the Chandler project and the collected wisdom of software’s sages (such as Frederick P. Brooks) presenting the reader with enough information to conclude their own answers to the questions presented in the book.
Dreaming in Code is a light, fun and enjoyable read. Easy to pick up for short, or long, periods of reading this book delivers similar messages to those in other works on the topic of software management but presents them in such a way the reader is likely to feel like they have experienced enough to draw the conclusion themselves rather than being told that it is so.
Great book, fun read and highly recommended. Whether you are an in the trenches programmer looking for an outside view or a managerial type who just can’t understand why the developers can never deliver their projects on time.
Hackers and Painters is a collection of Paul Graham‘s essays which where published as a hardback book in 2004.
I really enjoyed this collection of essays and since reading it have begun to follow Paul’s website and read each new essay as it is published, having recently read it for a second time I thought I would write some of my thoughts up here.
Arguably the essays published in Hackers and Painters are the cream of the crop of Paul’s work, particularly if you are more interested in the act of hacking as opposed to investing in and running start-ups.
The essays in Hackers Painters cover a diverse range of topics from programming languages (The Hundred-Year Language), the social aspects of being a nerd (Why Nerds are Unpopular) and wealth (How to Make Wealth).
Paul’s essays understandably cover topics with which he is extremely familiar, namely starting a software company and programming. That makes this collection of essays particularly interesting reading for those interested in starting their own start-up and gaining Paul’s insight into how to beat the opposition (hint: higher level languages).
I find Paul’s essays to be well written and well researched without being afraid to convey his opinions on the matter. In particular I love the title essay (Hackers and Painters), wherein Paul explains why he sees hacking not as a science, nor a form of engineering, but as an art form; akin to sketching and oil painting. This view gels particularly well with my style of programming and has been one of the several influences on me planning to learn Lisp.
All of Paul’s essays on programming languages are insightful and informative, his views for the Hundred Year Language are interesting and I look forward to seeing the outcome of this thought process in Arc, Paul’s Lisp dialect.
If you’ve heard about Lisp but don’t really understand it or why it’s proponents tend to be so enthusiastic, often eschewing all other languages in favour of Lisp, the essays in Hackers and Painters will help you t understand the theories and advantages of Lisp before getting involved in the initially strange looking syntax and programming style.
User Interface Design for Programmers
Joel Spolsky – Apress (2001)
This book does exactly what it says on the cover. It is a concise (144 pages including index etc) introduction to the areas of UI design that matter to programmers (as opposed to designers and HCI types).
The 18 chapters are all less than 10 pages long enabling the book to be digested in small portions. Each chapter focuses on a specific area and delivers some sage advice in a humorous and entertaining way.
I read this book over the course of a very busy few days reading a new chapter whenever I had 10 minutes spare. The principles taught within are all well conveyed and thought provoking although the book does show it’s age in some areas – particularly the chapter on web design.
Regardless, the content is still valuable and the best introduction to the area that I have experienced.
I wouldn’t recommend this book to anyone that already knows about UI design but for those that are interested in beginning to learn about the area the book offers a sound introduction.