> Wait are you saying I have to be content with who I am?
When did he ever tell you to stop bettering yourself?
> What do you mean I can't expect my employer to validate my passions in life?
Because your passions are yours, and yours alone. You could get miraculosuly lucky and get an employer that shares some of your passions and lets you work in them... or you could remove chance from the equation and write code on your own, and open source it.
And try to enjoy life in the mean time. Life is not about the destination, the trip is also important. You can do things on your free time, but you can also find ways to enjoy your job more.
Being able to work the hours I want to work. I can come into work at 10 instead of 8. I can leave work at 3 if I wanted to. As long as my work gets done.
Not having a boss micromanage me. Not having to worry about office politics (for the most part). Also the freedom to run with great ideas and not have the bureaucracy of some corp jobs.
Also Being able to work on a wide range of technologies and work with people from many different verticals and experience levels is a great experience and keeps my job (programming) fresh.
Finally startups generally only last a couple years. This allows me to change jobs every few years and lets me do something else. This is really beneficial as I'm able to feel refreshed and not trapped in a grind.
I've worked from home in the past. The last stint was for about 8 months. I really enjoyed the freedom. But towards the end even with a live in girlfriend I still got a little depressed.
The problem is mostly assuredly the lack of human contact. Not physically seeing people every day got to be a little rough. I'd force myself to go out on weekends and be social but it still felt fake.
The other big problem was that since I lived in the PNW and winter was setting in. It would be dark when I got up, and dark when I shut down for the day. This mean I never really saw the sunshine. I wouldn't really leave my house for days at a time. This got to be an issue. I felt trapped, even worse than that corp job I took while in college.
Now I live in San Francisco. The startup I work for has an office. I see sun almost every day. Hell I walk 2 miles to and then 2 miles from work every day. Its great! I think the human contact combined with the daily walk has increased both my energy level and my moral.
As a caveat to this. I still prefer to work from home at least one day a week. As the break from the daily in office distractions (meetings, troubleshooting, lunch, etc..) is nice.
So I think proper life balance is in order when working from home. If almost a daily regiment that forces one to go stop working and go have meaningful human interaction.
We use them by demand from the customer. They are also VERY helpful for viral growth. While most tech savvy users will probably not use the feature there are many other demographics that will.
I would use whatever seems to suit best for your task at hand.
Need to build a site quickly that is mostly information based such as a blog or some kind of editorial site. I'd choose python with django. The automatic admin section is great for this type of task.
Need to build something with a lot of popular features (twitter, mash ups, simple shopping carts, etc..) and don't have time to really learn every little detail. Ruby using Rails might be a good solution as there are thousands of demo and live applications out there to borrow from. Should reduce your development time.
If you are looking for a new hobby language. I would choose python as it doesn't have quite as large or fanatic following as ruby. It also has a lot of room for growth. There are many libraries and verticals in the python market which could use some help.
End of the day though. It's up to you and the problem you are solving.
The problem with Portland, OR is that the tech sector is kind of weak in comparison to other cities. I spent two and half years in portland working full time and spent 6 months looking for a new job. I ended up moving.
Portland has decent public transit, its cheap to live there, and you can find decent jobs. Although you may not find a wide variety of jobs that aren't corporate. On that note I will say there are a couple startup incubators in town but those jobs fill up quick.
I ended up moving to San Francisco. Great city. Expensive, but fantastic public transit and tons of jobs.
Here are my list of cities in no real order:
San Francisco, CA
Portland, OR
Seattle, WA
Boston, MA
New York City, NY
Check them out. If you like a few, spend at least a week exploring and getting to know the city a little bit. Also try and go during the worst weather period so you really know you can live there.
I found the weather even at its worst is bearable, but I grew up in Astoria on the coast. Winters are not very cold, snow is somewhat rare, but rain is a given. And besides there's so much to do there: http://www.youtube.com/watch?v=sJ4wAPL3saU ;^).
Its greatest strength are all the "widgets" i guess you'd call them. However they are all not created equal. Some are well polished and deliver acceptable performance levels and other times they are just demos and hacks.
The Dojo examples page always froze my browser. Even after switching computers and operating systems, it would hang for a while. I never did figure out if it was just me or nobody else seemed to notice.
What do you mean I can't expect my employer to validate my passions in life?