How-to: Free e-book on programming practices

When someone offers to give you something for free, there's usually a catch, whether it is a sales pitch or high support costs. Robert L. Read has, however, cooked up something better than a free lunch. Not only does his new book, How to Be a Programmer, have no hidden costs, the advice he ladles out is sound and well worth reading. It briefly but deftly covers almost all of the skills one must have to be a successful programmer.

Read has been a paid programmer for 21 years, starting at the age of 16. He is a principal engineer at Hire.com, where he has worked for four years. He has a Ph.D. from the University of Texas, where he studied database technology, and a BA from Rice University.

Q: Why did you write this book?
A:
Although there are lots of great books on programming, I couldn't find one that discussed all of the skills needed to be a fully effective programmer. The book covers the cultural and technical issues that computer science professors don't teach and rarely even mention in programming classes. The book is also for experienced programmers, who, I hope, will find it thought provoking, if opinionated.

Q: What is the most important section of your book and why?
A:
I believe my emphasis on debugging as the first skill a programmer should learn is the most important point. It is rarely taught in schools, yet there is no way to avoid doing it on the job. I remember seeing young people drop out of introductory programming classes because they were not taught how to debug -- the professors assumed either you already knew how to debug a program or that you had a buddy to help you.

Q: If you could give only one piece of advice to a new programmer, what would it be?
A:
That's a tough one. I guess my advice would be to be crafty and efficient in constantly seeking self-improvement. Keep an open mind and actively seek out people from whom you can learn.

Q: How did you learn the lessons you teach in this book?
A:
I tried to stick to my personal experience. I have, for example, had to deal with difficult persons and keep them effectively engaged on a team. Here at Hire.com, I've had to work with a lot of different personalities in several different team structures, so I feel qualified to say something about working with teams in a typical software company. I believe that what I have to say applies to open-source development projects as well.

Q: How did you find out about Samizdat Press and why did you choose them to publish this book?
A:
I worked with John Scales and Martin Smith, who own Samizdat, 15 years ago, and I wanted a publisher of free, high-quality texts with a technical bent. Samizdat is a fine example of that. Free publishing is an incredibly powerful force. I went to graduate school for seven years and I'd guess that only eight or nine people have read my dissertation, but I've had dozens of e-mails, most of them positive, about my book.

Links:
Robert L. Read's How to be a Programmer is available free of charge in PDF format from the Samizdat Press Web site at http://samizdat.mines.edu/howto/

For other Programmers Report articles, please go to http://www.adtmag.com/article.asp?id=6265

About the Author

Dan Romanchik is an engineering manager turned writer and Web developer. His current passion is amateur radio. You can read his amateur radio blog at www.blurty.com/~kb6nu.