Jumat, Maret 30, 2007

Top 6 from Top 10 for programmer - codinghorror

Got this from linux-programming@linux.or.id maillist, posted by fade2blac

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".
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.

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
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

Becoming an Aplication Developer (part 2)

I had my first PC in the year 2001, in the end of second semester of my first year. But instead to be more focus doing programming, I spent most of my time playing computer games. 'Cause of my addiction to computer games, I had a low GPA in my second and third years in my college. When my friends graduated, I was still retook lecture that I've failed.

My first application developer job was in my internship in my third years. Together with Iwan BK, my college buddy, we build an online registration system for our college. I've got many experience that I didn't get in classroom.

Next, I've joined Comlabs, building another online academic system. For all this years, web programming is the only programming method that I'm god of. I could only use Java to make an desktop application for the lecture task. Since I learn PHP for a software project lecture task, I had involved in many web project using PHP.

I've finally graduated from Informatics Department, with my final task 'Building CMS' :D It's just a very simple CMS, built using PHP and MySQL. Until now, I've made my living by doing web programming.

Right now, I'm developing an inventory application, web-based. It's my friend who ask me to build this application for his brother. This is the moment for me to make my first software product. I've had this plan for a long-long time, but couldn't make it cause I'm still too lazy and still addicted to play computer games in my spare time.

When this application done, I'll kept improved this application, and make another product, actualizing my dreams when I first touch the computer, to become an application developer ...

Becoming an Aplication Developer

When I first know about computer, years ago when I was in Junior High School, I'm very excited. My friend introduced me to his computer games collection. Being able to type in DOS command prompt to play a game from a floppy diskette is my first thing to do with my school computer.

Soon I found a BASIC programming book, it took me to the next step experience with computer. In my dad school (my dad was a teacher), I could use their computer, an old 8088 PC, only capable running DOS 6.22. I created my first program using BASICA, then found out another variant of BASIC, GW-BASIC and QBASIC. I even used my pocket money saving to buy another BASIC Programming books, and rerite code in those books.

When I graduate from Senior High School, and preparing to enter University, Informatics Department come in my mind. My parents didn't want me to go to that department, cause of my miopya eyes. They afraid my miopya will getting worse, cause I would be sitting in front of the computer most of my time.

Even thought my parents disagree, I take the risk and choose Informatics Department in Bandung Institute of Technology. Looks like it's path of my life, cause I was accepted. My parents has to accept this and bless me to do my study.

(continue to part 2...)