How-to: Free e-book on programming practices
- By Dan Romanchik
- February 10, 2003
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.