Review on the book "The Pragmatic Programmer"
The Pragmatic Programmer: From Journeyman to Master is written by Andrew Hunt and David Thomas, published by Addison Wesley Professional, in October 1999.
This book gives practical advice for developers who seek continuous improvement. It is organized into a series of short articles so you can read any one that interests you most. Following are some pieces of advice that I find particularly useful.
Expand your knowledge portfolio
Your daily work may require only some specialized skills. To stay competitive, you also need to keep learning new stuff to expand your knowledge portfolio. Investment in extra knowledge will pay itself in the future. For example, as suggested by the authors, you can learn a new language every year. You can also read a book once every month. I myself have been keen on reading but never find enough time to read. Anyway, I still manage to read some books and note down the dates when I finished reading them. Going through the list, however short, can be a satisfying experience. :)
Automate whenever possible
If you have repetitive tasks in your daily work, consider automating them. We use computers to do those mundane and repetitive tasks so we can have more time to do creative work. We are lucky to have the skills to automate many tasks as developers. This is certainly a big advantage that we should take. I would strongly recommend the Perl scripting language as a dispensable tool for automating many tasks.
Communicate effectively
Many developers hope that all their time can be spent just on coding. However, the truth is that you need to communicate with a lot of other people either verbally or in writing. Being able to communicate effectively is important for the success of your projects. Because human memory is unreliable and fades with time, writing documentation should also be an integral part of the development process. You will appreciate this when you have to look at projects done many months ago and have good documentation available.
Overall, this book provides many useful pieces of advice. Given that this book is relatively short, you can skim through the book and apply them to your daily work. You can also find the list of pragmatic software development tips from the authors' web site.