I read an interesting discussion on a message board today. The topic was how to find a good programming job. A number of people said that you need to create your own company to ensure that. This seems a bit extreme. There must be some good employers out there in the software development world.
There were also some cynics in on the discussion. They came out and said that good programming jobs just do not exist. But these people were in the minority. You want to figure out how good a company is before you start working there. After you are committed, it is too late. You could try to get a feel for the corporate culture during your interview. This might be tough as they don't want to scare you away.
Employees are the best way to find out what working at the company is really like. You can try to get in touch with actual company employees via social networking sites like Facebook. This angle really boils down to doing your networking. You can even talk with people you have worked with in the past and trust. They will give you the low down on a company.
Sometimes you just need to be willing to relocate to get the best job possible. That does not sound fun to me. I am too connected to the local area. Finally here is an interesting perspective. The lower paying jobs are usually the better ones. I can somewhat vouch for this. When I made low pay, I hardly ever put in any overtime. And when I did, I was actually paid extra. Unfortunately I don't want to go back to low pay. This might not be an option.
A Little Bit of Crypto - I have been trying to figure out to "collision resistant" some of these standard hash functions are. It is a tough concept to get my head around. I figure...