Basically, yes, it's standard practice but in every company that I've worked for there have been escape hatches that were relatively easy to utilize. HR usually has paperwork that both parties sign saying something along the lines of "[developer] is going to build [thing] in their own time using their own hardware. We grant [developer] the legal right to maintain ownership of [thing]".
I pay a lot of attention to what I'm signing. My side projects are important to me. They're a part of my lifestyle. I think most devs could very comfortably sign without a second thought. On the whole, state and contract law in the US combine to create a fairly good safety net for avoiding truly abhorrent contracts.
After living and working in California for 6 years, I was considering a job as third engineer at a startup in another state. I was a bit anxious about side projects, and asked about them after receiving the offer. The response was basically what you said, a pleasant surprise, not scary like Joel warned. But for piece of mind, if I took the job, I would still want to find a lawyer in the new state to review the paperwork, which is a drag.
In the end I chose to remain in CA, and it's nice. It's nice to completely not ever have to worry about this issue at all. So I get why Joel is resentful after working for years in states where unreasonable invention assignment clauses are enforceable.
I don't understand why they can't just write in the contract that you assign copyright of everything you submit to the company as your work?
If you work on your own projects outside company time and never commits it to a repository or whatever is used then there should be no problem - and if you do then you better have an agreement in place or it becomes the property of the company.
On the other hand if you work on side projects during company time then there shouldn't be any legal trouble for the company by not claiming it as theirs, from the company's perspective you are just goofing off which you could also do by browsing reddit or whatever, it shouldn't really be different. Of course if you are incorporating parts of company code into your side project (or probably looking at company code related to what you are working on) then you have made a derivative work, which would already be covered as copyright infringement - but otherwise it's just a work performance issue.
I can't really see these "everything you do belongs to us" clauses as anything but pure greed, but maybe that's because I have grown up in a place where this isn't the norm (and it probably wouldn't be enforceable anyways).
>Not related to your employer’s line of work. Um, wait. What’s the definition of related? If my employer is Google, they do everything. They made a goddamn HOT AIR BALLOON with an internet router in it once. Are hot air balloons related? Obviously search engines, mail, web apps, and advertising are related to Google’s line of work. Hmmm.
That seems... incorrect to me somehow. It matters less what Google does than what I do for Google and the information I have access to. If I'm writing algorithms to detect spam in email, and I don't have access to any IP on Google balloons or interface with the balloon group, Google shouldn't be able to claim any ownership of my balloon idea.
Joel's article does have a lot of very good points, but some larger corporations (such as amazon) do not require you to assign the IP for things that you do in your spare time. (Just a data-point in contrast).
https://www.joelonsoftware.com/2016/12/09/developers-side-pr...
It's highly informative.