Thursday, April 30, 2009

Tips & insights for programmers

Here is the list of tips & insights compiled from StackOverFlow.

1. Never be afraid to say I don't know.Manage expectations, learn to say "no".But always give it a try before you say that.
2. Never stop learning.Accept your mistakes and take that just as a new learning opportunity
3. Ask for help sooner rather than later,know that you can't do everything by yourself.Don't take all the responsibility for a problem. Sometimes you can be furiously trying to solve a problem alone and carrying the problem on your back. Get other people involved, escalate, get other folks involved.
4. Learn to take backup
5. Assumption is the mother of all screw-ups. So never assume something which you are not sure of.
6. Estimates are always off by at least 50% either way.
7. First make it work, then make it better.
8. Always negotiate deadlines/deliverables.
9. Don't hesitate to do overtime IF the situation requires it
10.Underpromise and over deliver
11.Find the balance between being realistic and being positive.
12.Be confident in your skills
13.Listern patiently to others opinion. Especially when you talk to a client.
14.Share your skills - Help others and the community with the knowledge you've got.
15.Make sure you get proper recognition and appraisal for your good work.
16.Manage your time effectively
17.Don't give people what they ask for, give them what they need.
18.No matter where you are on the pecking order of a team or project, you CAN make a difference.
19.It's more important to manage people's perception of the problem than it is to fix it.
20.Never trust the data. Validate your inputs.
21."It works on my machine" doesn't cut it. It HAS to work for them, too.
22.Show your code to other people - and listen to their comments.& Look at other peoples code and talk to them about it.
23.If you can't figure out a problem then take a break and come back to it in 10 or 20 minutes - makes finding a solution so much easier.
24.Realize that specifications are going to change.
25.Never implement new features unless you have a written request ( mail is just fine )
26.Be prepared to reinvent yourself every five years.
27.Before you roll anything out TEST TEST TEST
28.Use Source Control
29.Communicate, communicate, communicate
30.You can never have enough clarification and detail with project requirements


No comments: