> However, on many job postings you'll see words like "grit" or "passion" listed as requirements. These are codewords for "we'll work you hard" and "overtime expected", as far as I can tell.

I was talking with some younger friends here in Seattle, and they expressed similar concerns. This was a total shock to me, because I've been involved in hiring at multiple firms and we use those terms not just in our postings but in our internal discussions for evaluation, etc, and we DON'T mean what the fears are.

In my experience, talking about "passion" is basically shorthand for "we won't have to train you and we'll have minimal mentorship - you'll learn and improve on your own". So..not really a _positive_ meaning, but a very different one from the fear. We don't expect people to put in long hours - the normal 40ish work-week, maybe with a crunch day or two each quarter, roughly speaking. But we do expect/want that people are coming in with the interests to improve and the existing skill to do so. Most places are severely shy of "senior" people (In part, IMNSHO, because they keep trying to hire "senior" people rather than committing to getting more "junior" devs) and as a result they don't have people with the time to spare for proper mentorship.

While this expectation has been consistent across the places I've worked, that doesn't mean it's a universal truth...but I've not seen anything that suggests "passion" and "grit" mean "will work stupid long/hard" outside of the game industry and startups.
(Notably, most places rush to get to the point when they can recruit as "post-startup", meaning they no longer ask for those kinds of hours).

I'm in Seattle, and to address your questions:

* Roughly 40 hours/week, normally a bit less (8-4, with a work-provided lunch so I end up not working for only a short time). In the course of a year I expect to have maybe 5 days that I do crazy hours (12-15+ hours/day) and maybe 10 days that I do long (10ish hours). Probably work about 2 weekend days/year on average (excluding answering a text/message, or doing a small code review - anywhere from 5-15 of those on weekends/year, each measured in minutes, not hours)

* Higher paying jobs (I've done 90k - 180+k in Seattle) haven't required more hours, though being willing to put in hours when something real comes up is always taken as helpful and does a lot to help with promotions and bonuses. The trick has been finding places that defines something "real" in terms you agree with. Prod issues that really impacts a customer and comes up 1-2 times/year? Cool. Being "on-call" each month means you WILL get a call? Not cool.

* Certain positions DO expect more hours, particularly when a problem arises. Generally Ops people and those that have to resolve production-critical bugs. This should all be openly available info before and during interviews, though you may have to ask.

That said, I've also noticed a name cachet - My Amazonian friends, depending on their teams, have put in some hours I would consider stupid. They do this WITHOUT a pay bump relative to others in the area/field - getting the name on your resume is considered worth the extra effort. Then again those on other teams have done nothing outside of my norm.

To put this all in context - I moved here ~7 years ago, and have worked for 3 companies out here. I've more than doubled my salary in that time, but my workload hasn't changed too much. One place shifted from a good work/life balance to having "crunch-time" start to extend to being very frequent - I left, and so did most everyone else. One of the big benefits of a high-demand area is that you can be assured of being able to safely leave a company, so work-you-crazy certainly happens and in places, but cannot be the norm.