Often these days, it is being seen that bright-eyes young graduates of reputed computer programming institutions across the nation enter the professional world and are in for a rude shock, realizing that although they know all about the technicalities of computer programming and languages, they are completely lost in terms of how the professional world looks and functions and how to write “enterprise” software. As such, many have testified that a few of the best computer programming books, that they read outside of their course material in an attempt to complement it, have gone a long way in actually teaching them all that they need to know about the much sought after world of computer programming. These books have vastly added upon their processes and professional function and have made the transition from student to employee much smoother. A working knowledge of these books will also, naturally, increase anyone’s employability.
1. The Pragmatic Programmer by Andrew Hunt & David Thomas
This reputed book, which many programmers will find on their top ten reading list, is guaranteed to give any young college programmer the broad base that they need. It is simply a list of 70 unbiased tips which touch upon most pointers that programmers ought to know, without going too deep or getting to complex on any of them. Its aim is to teach programmers to be pragmatic and also, importantly, to set the boundary between programing as a hobby and as a profession. Many young men and women get into programming ought of their interest in hacking on code and writing automating scripts and other time efficient ventures. This skillset is useful to many employers, however, once the programmers begin to view this as a profession, their outlook changes dramatically, making them more efficient and employable workers.
2. Continuous Delivery by Jez Humble & David Farley
This book revolves around one of the biggest challenges faced by programmers everywhere: the release of their programs to the public. This is such a sensitive area that programs often begin to try and avoid it altogether. This book encourages you to release your programs on a sustained basis, that is, as frequently as possible, till you improve your efficiency at it. It advocates the philosophy of aiming very high so you may strive to achieve your maximum potential as a computer programmer. Real life professional examples have proven that this philosophy does work in this professional field.
3. Clean Code by Robert C. Martin
Programmers learn during their specialized education all the coding languages and the technical training that they may need. However, this completely misses out on how they conduct themselves at a personal and professional level and how they interact with customer, co-workers, bosses etc. Both these books, which are similar in their content, teach programmers interpersonal skills in a blunt and honest manner. The Clean Code teaches you to communicate through codes and the Clean Coder teaches you to communicate through verbal and other mediums such as email.
4. Release It! by Michael T. Nygard
Programmers are often at war with the operations team as to the performance of their product once it is complete and launched to the public. This book will help you appreciate that the real life of the product and take responsibility for its monitoring, health checking, logging etc. The basic premise of this book is to simply assume that your code will fail and work upwards from there, being extra careful at each step of your coding process and preparing and backing up the end product for a worst case scenario situation. This book is a must read for anyone into enterprise application development.
5. Head First Design Patterns by Elisabeth Freeman
Both these books give you exposure into the design side of the world of programming. Head First Design Patterns is a very practical approach towards teaching you where and in what context to use what code, with excellent, easy to understand examples being given. Patterns of Enterprise Application Architecture is a more architecture and structure based, which is slightly drab and preferred by many as a reference book only. However, this too provides for excellent patterns and examples that can be applied in pretty much any coding situation and also gives coders a common frame of reference which helps them communicate better amongst themselves.
6. Working Effectively with Legacy Code by Michael C. Feathers
As a young coder just entering into the professional world, it is likely that you will be assigned an inherited code, instead of making an entirely new code as a green field project, which is what your education as a developer has taught you. As such, the coder tends to lose confidence in his work and is even tempted to rewrite a whole new code, which loses a lot of resources of time and energy. Working Effectively with Legacy Code teaches you not only to deal with these problems but also to work your way around them. It is a well-organized book that is indexed according to the usual complaints of coders and works as a reference book as well.
7. XUnit Test Patterns by Gerard Meszaros
Refactoring is a book that helps coders with a basic and very crucial function of coding that they may sometimes ignore, that is, changing the structure of an old code without changing the function. This can make an excellent base for the further work to be done without wasting any time and energy on unnecessary coding which will only be deleted later.
At the same time, refactoring is incomplete without testing the code to ensure that the usual discrepancies do not appear. Constant testing is another aspect that is often ignored by young and enthusiastic coders, who are always in a rush to put all their ideas down in code before they forget them, without testing them. xUnit Test Patterns is a comprehensive testing manual that covers all topics under code testing, including mocks and stubs, refactoring, problem smells etc.
To truly be the best in the field of computer programming, with a cut above the rest, a little extra reading is always a great idea. These and other book are guaranteed to take you a long way professionally.