Hi...I hope you all have read the book "seven habits of highly effective people" by steven covey. It is a best seller classic book and a highly recommended one for self-improvement.
I was browsing the net today and found an article which says "seven habits of highly effective programmer'. After going through the article, I found them very practical and important to a software programmer. So here I give a summary of that article.
Habit1 :Understand Your Requirements
The first step in becoming an effective programmer is to ensure that you are spending your time wisely. And there is no greater waste of time than in working on something that is not useful or never shipped.
We need to have demonstrable system working as early as possible.
Once you have something working, don't just leave it as a "proof of concept". Let people play with it, see their reactions, and let this guide and prioritize your development.
Habit 2 :Keep It Real
Keep your software running in as close to a shipping state as possible. You never know when you'll have to demo the system, send out an evaluation copy, or even deliver ("OK, time to wrap things up!")
Use real data : If you just test with sample data, that big iceberg of real data out there is going to sink your program.
Use real builds : Remember the development build on your machine is not the real build.
Habit3: Understand Your Code
Life is full of wonderful mysteries, but your code is not the place for them. You don't have to know how your car works - if the engine starts making strange noises, you drop it off the mechanic. When it comes to your code, if you don't understand how it works, or doesn't work, no one will.
Code with style : Give proper intents and comments so that your code is readable.
The opposite of stylish programming is cut-and-paste. Grab some code from somewhere that is supposed to do something like what you want, tweak it until it sort of works, stir, repeat, and voila, you have the software equivalent of mystery meat.
Keep it clean: you should periodically inspect your code, sweep up accumulated hard-coded numbers, outdated comments, misleading function names, or you'll inevitably end up with uninhabitable code that's embarrassing to show anyone else
Habit4: Optimal Programming
People always talk about "optimization", but that isn't really a correct word. We're rarely shooting for the optimum - instead, we make improvements and tradeoffs to achieve good-enough performance. The main aim is to get the things done in less number of lines and less system overhead.
Habit5:Manage Thyself
We have to manage ourself to complete the program. We should have a good initial estimate on the task completion time and track our progress to make sure we are in the right direction.
Bugs may come and we may have to break our head to solve it(this is very natural), we should try our best to keep the deadline (even if we have to spend some sleepless nights).
Habit6:Continuous Education
This can be called "sharpening the saw". We know there are many articles and books available on latest things. We should always try to do the things in smarter way than just getting the result. This smartness comes by continuously educating ourself. Just about everything you need is on the Internet tutorials, discussion lists, and free softwares. All you need is the hardware and a broadband connection.
Habit7:R-E-S-P-E-C-T
We should have the respect of our peers and managers, at least in the technical capabilities to have the control of your work and influence over others.
Asking intelligent questions that enhance others' respect for you is a professional skill. A good question that exposes unresolved issues tells people that you know your stuff and you're sharp enough to catch all the implications. Asking for clarification about a specification shows you know how to find and read the spec and your ability to detect ambiguities.
Let everyone know that you read the documentation and googled the subject.
The above article is just a summary of the main article I found on net. For more reading please use the below link
http://www.technicat.com/writing/programming.html
bye for now
sijith
Thursday, October 19, 2006
Subscribe to:
Posts (Atom)