How to be a Programmer
Becoming and staying an effective programmer is not an easy task. One of the
most difficult aspects of bringing a software project to a successful
conclusion is dealing with fellow programmers and customers. In this
essay, the author summarizes those things that he
wishes someone had explained to him when he was just beginning as a
programmer. He discusses problems that a programmer will
probably have to deal with in actual development activities. It is primarily concerned with social situations and team relationships that occur in typical software development. It covers what the author considers the essential, often non-techncial, skills of the beginning, intermediate and advanced programmer.
How to be a Programmer: A Short, Comprehensive, and Personal Summary
by Robert L. Read
Table of Contents
- 1. Introduction
- 2. Beginner
- Personal Skills
- Learn to Debug
- How to Debug by Splitting the Problem Space
- How to Remove an Error
- How to Debug Using a Log
- How to Understand Performance Problems
- How to Fix Performance Problems
- How to Optimize Loops
- How to Deal with I/O Expense
- How to Manage Memory
- How to Deal with Intermittent Bugs
- How to Learn Design Skills
- How to Conduct Experiments
- Team Skills
- Why Estimation is Important
- How to Estimate Programming Time
- How to Find Out Information
- How to Utilize People as Information Sources
- How to Document Wisely
- How to Work with Poor Code
- How to Use Source Code Control
- How to Unit Test
- Take Breaks when Stumped
- How to Recognize When to Go Home
- How to Deal with Difficult People
3. Intermediate- Personal Skills
- How to Stay Motivated
- How to be Widely Trusted
- How to Tradeoff Time vs. Space
- How to Stress Test
- How to Balance Brevity and Abstraction
- How to Learn New Skills
- Learn to Type
- How to Do Integration Testing
- Communication Languages
- Heavy Tools
- How to analyze data
- Team Skills
- How to Manage Development Time
- How to Manage Third-Party Software Risks
- How to Manage Consultants
- How to Communicate the Right Amount
- How to Disagree Honestly and Get Away with It
- Judgement
4. Advanced- Technological Judgment
- Compromising Wisely
- Serving Your Team
- How to Develop Talent
- How to Choose What to Work On
- How to Get the Most From Your Teammates
- How to Divide Problems Up
- How to Handle Boring Tasks
- How to Gather Support for a Project
- How to Grow a System
- How to Communicate Well
- How to Tell People Things They Don't Want to Hear
- How to Deal with Managerial Myths
- How to Deal with Organizational Chaos
- Glossary
Technorati Tags: how to be a programmer, how to program
Popularity: 7% [?]
Related Posts:
