• Document: How to be a Programmer: A Short, Comprehensive, and Personal Summary. by Robert L. Read
  • Size: 236.94 KB
  • Uploaded: 2019-01-13 17:26:43
  • Status: Successfully converted


Some snippets from your converted document:

How to be a Programmer: A Short, Comprehensive, and Personal Summary by Robert L. Read How to be a Programmer: A Short, Comprehensive, and Personal Summary by Robert L. Read Published 2002 Copyright © 2002, 2003 Robert L. Read Copyright © 2002, 2003 by Robert L. Read. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foun- dation; with one Invariant Section being ‘History (As of May, 2003)’, no Front-Cover Texts, and one Back-Cover Text: ‘The original version of this document was written by Robert L. Read without renumeration and dedicated to the program- mers of Hire.com.’ A copy of the license is included in the section entitled ‘GNU Free Documentation License’. The home of the transparent electronic copy of this document is: http://samizdat.mines.edu. Revision History Revision 1.8 22 Apr 2003 DocBook format, GFDL, and major fixes Revision 1.5 03 Feb 2003 Incorporated Slashdot feedback and fixed typos Revision 1.0 01 Dec 2002 First publishing of pdf at Samizdat Dedication To the programmers of Hire.com. i Table of Contents 1. Introduction ....................................................................................................... 1. ................................................................................................................4 2. Beginner ........................................................................................................... 1. Personal Skills ...........................................................................................5 1.1. Learn to Debug ................................................................................ 5 1.2. How to Debug by Splitting the Problem Space ....................................... 6 1.3. How to Remove an Error ................................................................... 7 1.4. How to Debug Using a Log ................................................................ 7 1.5. How to Understand Performance Problems ........................................... 8 1.6. How to Fix Performance Problems ...................................................... 8 1.7. How to Optimize Loops ..................................................................... 9 1.8. How to Deal with I/O Expense ............................................................ 10 1.9. How to Manage Memory ................................................................... 10 1.10. How to Deal with Intermittent Bugs ................................................... 11 1.11. How to Learn Design Skills .............................................................. 12 1.12. How to Conduct Experiments ........................................................... 12 2. Team Skills ...............................................................................................13 2.1. Why Estimation is Important .............................................................. 13 2.2. How to Estimate Programming Time ................................................... 13 2.3. How to Find Out Information ............................................................. 15 2.4. How to Utilize People as Information Sources ....................................... 15 2.5. How to Document Wisely .................................................................. 16 2.6. How to Work with Poor Code ............................................................. 17 2.7. How to Use Source Code Control ........................................................ 18 2.8. How to Unit Test .............................................................................. 18 2.9. Take Breaks when Stumped ............................................................... 18 2.10. How to Recognize When to Go Home ................................................ 18 2.11. How to Deal with Difficult People ..................................................... 19 3. Intermediate ...................................................................................................... 1. Personal Skills ...........................................................................................21 1.1. How to Stay Motivated ...................................................................... 21 1.2. How to be Widely Trusted ................................................................. 21 1.3. How to Tradeoff Time vs. Space ......................................................... 21 1.4. How to Stress Test ..

Recently converted files (publicly available):