Friday, April 25, 2008

How to become a good Programmer: A Great Summary

A Really Useful stuff from:
http://samizdat.mines.edu/howto/HowToBeAProgrammer.html

I will be just putting links as writing anything else would be insufficient in regard to the huge work of Robert L. Read .

Links will take you away from my site, but it is for good!

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
How to Tradeoff Quality Against Development Time
How to Manage Software System Dependence
How to Decide if Software is Too Immature
How to Make a Buy vs. Build Decision
How to Grow Professionally
How to Evaluate Interviewees
How to Know When to Apply Fancy Computer Science
How to Talk to Non-Engineers


More articles of interest may include:

5 comments:

  1. These links are really good,
    'How to recognise when to go home' I can relate to lol, when writing a program any issue or problem I face is always on my mind no matter what. I find it hard to let it go for a break. :P

    ReplyDelete
  2. Yea, agree.
    Sometimes one is so tempted that even do not want to go to restroom!!!

    Closely there...
    nearly there...

    :)

    ReplyDelete
  3. Well believe it or not my major subjects are Hindi, Home science, History, Political science. And I am doing work in IT Company (I don’t want to write office name but its have big name in Nepali IT field). Actually I am a graphic designer and also one of the good Nepali typist (Unicode Based) in my office so they give me project as a assistance to Soft wear developer and I am doing work as a logo maker, editor in this project yeah also data maintenance .

    ReplyDelete
  4. hey man what a great list.
    this term I am taking microcomputer interfacing course and doing programming using visual basic. I never took any computer courses/training before. you imagine what is the situation. totally a different language.

    these links will help me a lot i guess coz i haven't gone through them

    ReplyDelete
  5. No brother I am not 1986 I am little older then this I m 1984. क्या करे मेरे चेहरे से मेरी उम्र का पता नही चलता। (only part of joke).

    ReplyDelete

Thanks for the comment.
Please stay on topics; off-topic/advertisement comments will be removed.

You may also like to visit : My Frame of Reference
(Press shift while clicking: Opens in New window.)