Jerry Weinberg: The 10 Commandments of Egoless Programming
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.
Dare Obasanjo: Top 10 Signs Your Software Project is Doomed
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".
8.Second System Syndrome
9.No Entrance Strategy.
10.Tackling a problem you don't know how to solve.
Omar Shahine: Top 10 Tips for Working at Microsoft (or Anywhere Else)
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.
Michael McDonough: The Top 10 Things They Never Taught Me in Design School
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.
Andres Taylor: Top 10 Things Ten Years of Professional Software Development Has Taught Me
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.
Steve Yegge: 10 Great Books
1.The Pragmatic Programmer: From Journeyman to Master
2.Refactoring: Improving the Design of Existing Code
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