If you've been working for a while, you have a number of people who could be references for you: colleagues, project managers, managers. All of these are people who know what you've done.
So, how do you choose references?
- Make sure your reference can talk on the phone. If you select someone who hates talking on the phone, you are not going to get a good reference. It doesn't matter what they say, if they ‘um' and ‘err' and sound slow to respond, you will not get the reference you need.
- Choose someone who can talk about the value of your work. If you select someone who says, “Oh, yes, Tim worked here,” and stops, what good is that? Even saying, “Tim was our release engineer,” does not show your value. Contrast that with this: “Tim worked on my project for six months. In that time, he showed me the value of continuous integration. He helped influence all the other developers into doing continuous integration. I don't know how we would have finished the project when we did without his nudging and cajoling us into it.”
- Choose at least one manager and a couple of colleagues. If you've had multiple jobs, ask several peers and managers. Once you have two or three managers and two peers, you're set.
If you haven't worked in the field long enough to have that many references, ask your managers wherever you worked before you got into the field. You want to ask managers who can attest to your reliability and value.
All of these ideas require that you stay in touch with people at previous jobs. You don't have to have long conversations every week. Touch base with these folks every 3-6 months, so they don't forget you. You can even remind them you're staying in touch because you enjoyed working with them and that they'd agreed to be a reference.
Remember, these people are doing you a favor. Choose them carefully, prepare them, and don't forget to thank them.