Rating: Summary: Ready, fire, aim, aim, aim ... Review: Tip 15: Use Tracer Bullets to Find the Target. That's among 70 "tips" you'll get from Hunt and Thomas, and one of the most important. I used to think you had to plan everything ahead of time down to APIs and data structures and then go program it like an automaton. Both this book and _Extreme Programming_ by Beck explain why this is a flawed idea in the face of the plastic medium of software. You often don't know what you want, you'll often learn a lot by implementing the first module, or the customer may change their mind about what they want (especially after seeing early versions). I went from academia to a start-up, and this book was a very good outline of how to program in a real world setting. My boss, another former academic, also read it and loved it. You might not learn anything from this book if you're already an old hand at professional programming on a great team. Or maybe it'll just ring the I-knew-that-but-now-I-have-a-name-for-it bell. The discussion of rubber ducking is a good example (just nodding your head behind someone while they explain their code to you and debug it themselves). The discussion of the stone soup phenomenon is another case (read the book to see how it applies). My other favorites among the tips include: don't live with broken windows; make quality a requirements issue; don't repeat yourself; there are no final decisions (strongly related to tracer bullets); keep knowledge in plain text; use the power of command shells (but don't bother reading Neal Stephenson's book on the subject even if you love his other books as much as I do); use a single editor well; "select" isn't broken (think horses not zebras); design with contracts; test your estimates; design to test; test your software or your users will; test early. test often. test automatically; find bugs once; and finally, sign your work. (I wish software designers could do this a little more literally; I love how hardware designers get to etch cool logos on circuit boards.)
Rating: Summary: This is a rare kind of book... Review: I'm an entry level software developer and I have to say that this may be one of the most important books in my career. I've been "playing around" with software development since my mid-teens and now it's my full-time job. I bought this book this afternoon and I haven't wanted to put it down - it's written in an easy to read, sensible manner. It isn't boring - which is really hard to do with any technical book. If all my development/technical books were only 1/2 as good as this one at keeping your attention - I would be a much more informed individual.
Rating: Summary: Besides being overpriced... Review: The concepts are well-presented with cross-discipline explanations making it compatible with all programmers. A quick read with many benefits and inspiration.
Rating: Summary: A new dimension to problem solving. Review: Programmers are a definitely a different breed. We often learn most from so-called tricks of the trade over time and independent experimentation. Most of which really isn't taught at universities or in certification classes. The main reasons to buy this book is that 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. The book opens your mind towards a new dimension of problem solving more than I have ever seen in recent years.FinancialNeeds.com.
Rating: Summary: Wish I woulda read this way back when. Review: I've been a programmer for 15 years. This book confirms all the hunches about the right way to do things, and displays a lot of the things good practicing programmers learn the hard way. It could easily be titled 'The Professional Programmer' and is required understanding for those who claim to be one. You can learn it the hard way, or read it here. Of course, you still have to put it into practice. Great book.
Rating: Summary: Software Development Lifecycle good practices Review: This book is a guide to parts of the software development lifecycle that doesn't refer to any specific programming language. It focuses on the requirements gathering phase, the design phase, and the testing phase of software development. The advice is practical and some of the practices they suggest overlap with Extreme Programming (XP) practices, such as coding for the easiest case and building up from there. The suggestions are practical, the writing is concise, and there are numerous examples. I especially like the way each section has a list of related sections at the end. As an example, the section on Tracer Bullets lists Good-Enough Software, Prototypes and Post-It Notes, The Specification Trap and Great Expectations. This way it is easy to skip around and read what you are interested in. A minor complaint is that the author refers to another book for more information at one point. This is useless unless you have the book or feel like spending more money. Overlooking that, this is precisely the type of book I was looking for to improve my effectiveness as a software engineer.
Rating: Summary: An excellent and very useful book! Review: The mantra of this book is: pragmatic. Also: think. Think about what you're doing. Figure out ways to make things happen automatically. Don't duplicate knowledge -- it wasn't a good idea for databases, and it's not a good idea in general. Sound advice: keep making the best investment possible, which is investment in your own skills and knowledge. Learn a new language every year, read a technical book every month. It's a pragmatic, valuable book, and you should look into it.
Rating: Summary: Really a gift to programmer Review: I often ask and keep asking the professionals how to become a good programmer. The only answer from them is just keeping writing and gathering experience from projects. Whereas I found myself grab very little in this process. With this, I got my really answer to be a real programmer, it doesn't mean I can fly or get to be professional immediately, whereas, now that I know what is going on to my code and I know what a programmer should do. Written in a systemetic approach, programmer can easily grab what they want. A MUST pick for real programmer!
Rating: Summary: An eye-opener. Review: I have always wanted to know what I can do to be a better programmer. I wanted to know what "good programmers" do. This book answers my prayers beautifully. It carries breadth rather than depth. The authors share many little, little things that one can do to be a "pragmatic programmer." I find these little, little things valuable. Simply valuable. If you were to read only one book this year to improve your programming skills, may I suggest The Pragmatic Programmer.
Rating: Summary: I love this book Review: This is an excellent book that teaches you how to improve your skills as a programmer. I often find myself coming back to this just to remind myself of ways to improve my craft.
|