Got this from linux-programming@linux.or.id maillist, posted by fade2blac
1.Understand and accept that you will make mistakes.
2.You are not your code.
3.No matter how much "karate" you know, someone else will always know more.
4.Don't rewrite code without consultation.
5.Treat people who know less than you with respect, deference, and patience.
6.The only constant in the world is change.
7.The only true authority stems from knowledge, not from position.
8.Fight for what you believe, but gracefully accept defeat.
9.Don't be "the guy in the room."
10.Critique code instead of people- be kind to the coder, not to the code.
1.Trying to do too much in the first version.
2.Taking a major dependency on unproven technology.
3.Competing with an existing internal project that is either a cash cow or has powerful backers.
4.The team is understaffed.
5."Complex problems require complex solutions".
6.Schedule Chicken
7.Scope Creep
8.Second System Syndrome
9.No Entrance Strategy.
10.Tackling a problem you don't know how to solve.
1.Process is no substitute for thinking.
2.Get out of your office.
3.Use your product (the one your customers will).
4.Fix things that are broken rather than complain about them being broken. Actions speak better than your complaining.
5.Make hard problem look easy. Don't make easy problems look hard.
6.Use the right communication tool for the job.
7.Learn to make mistakes.
8.Keep things simple.
9.Add value all the time.
10.Use their product.
1.Talent is one-third of the success equation.
2.95 percent of any creative profession is shit work.
3.If everything is equally important, then nothing is very important.
4.Don't over-think a problem.
5.Start with what you know; then remove the unknowns.
6.Don't forget your goal.
7.When you throw your weight around, you usually fall off balance.
8.The road to hell is paved with good intentions; or, no good deed goes unpunished.
9.It all comes down to output.
10.The rest of the world counts.
1.Object orientation is much harder than you think.
2.The difficult part of software development is communication.
3.Learn to say no.
4.If everything is equally important, then nothing is important.
5.Don't over-think a problem.
6.Dive really deep into something, but don't get hung up.
7.Learn about the other parts of the software development machine.
8.Your colleagues are your best teachers.
9.It all comes down to working software.
10.Some people are assholes.
1.The Pragmatic Programmer: From Journeyman to Master
2.Refactoring: Improving the Design of Existing Code
3.Design Patterns
4.Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition)
5.Mastering Regular Expressions, 2nd Edition
6.The Algorithm Design Manual
7.The C Programming Language, Second Edition
8.The Little Schemer
9.Compilers
10.WikiWikiWeb