So far I have had 3 jobs in software field. And I have noticed an interesting pattern. But before I get to the pattern let me explain 3 main things I look for in a job.
Pay: Getting paid slightly above current market value, or having good benefits.
Hours: Not doing more than 50 hours of work per week.
Environment: Being in a fun friendly environment where you feel like part of the team, and you are never bored and always have at least some kind of a task to do.
This is what I have observed.
My first job was in a medium sized company, and while hours and environment was great, the pay suffered. It was filled with awesome people, and I "almost" never had to work more than 50 hours each week. However they paid 10% below average market value. So after I stayed there for 20 months, I moved on to job 2.
It was a very small start up. The pay was awesome (15% above what I have seen being offered anywhere else), people were one of the best I have seen. Type of work I did allowed to quickly gain a lot of skills. However working at least 90 hours each week was pretty much mandatory. The people I worked with made it fun, but I got burned out pretty quickly. Needless to say my health only held up for 16 months before doctor said quit or die.
Now I am in my 3rd job for 15 months now. I work for a super gigantic corporate company. My pay kicks ass. I have best benefits, and never had to work more than 40 hours. But I am so very lonely and bored. There is almost no one to talk to, and when I have a question and even if someone sits beside me I have to email them to ask and can't ask them directly in person.
EDIT: I scraped the last question I asked and will rephrase.
Is it possible to find a "perfect" job where you are paid slightly above market value, you are not forced to work more than 50 hours a week, and you are surrounded with people with whom you can talk with and feel like a human being?
Also I am happy with all 3 jobs, and do not regret working there at all whatsoever. This question is simply to wonder if it is possible to find something that suits my needs down to a T.