For those interested in understanding the underlying case law that AB5 codifies (a decision called Dynamex Operations West, Inc. v. Superior Court), my company, Judicata, published a visual (and tech-enabled) explanation of the decision when it was first published: https://blog.judicata.com/understanding-dynamex-the-californ...
Whether or not Uber drivers are employees or contractors under Dynamex and the ABC test is an open question, but the Uber explanation of the bill's impact is more or less correct.
Although I have no experience in immigration law, as a former lawyer and software engineer (and the CEO and co-founder of a legal tech startup), I'd caution against moving into law (or at least taking a long hard look and talking to people who have made the transition).
I left a PhD program in CS to go to law school based on ideals around having a positive impact through the legal system. Ultimately, the law is a slow, difficult, and painful system to work through and with. The work is mostly tedious (relative to software development) and most of the time you're not really having a significant or positive impact. It's generally not very rewarding.
I'd be happy to chat if you're interested in hearing more about my take. (itai [at] judicata [.com])
A lot of the errors you'll see in lawyer work product is not just from being overworked, but also comes from poor quality control mechanisms and insufficient use of technology in law firms.
On the litigation side we regularly see significant typos, misquotes, and even misspellings of the judge's name - and those are just the more basic types of errors we see.
By building the technology they're using Atrium will be able to not just drive efficiency but also improvements in the quality of the legal work product they sell.
> Software developers build abstractions, write tests, refactor and simplify older code, yet no such trend seems to be occurring for law. Why not?
Actually, the Common Law[1] (which the US, England, Canada, and other English-speaking countries) very much have a legal system that includes building abstractions, refactoring, and simplifying (though there are no tests). Judicial decisions are precedential and over time rules and tests are discarded or re-written to be easier to use and more applicable.
I think the parent comment is discussing legislation (which politicians enact), but the process by which judge made law develops and improves is very similar to how code evolves and improves.
Whether or not Uber drivers are employees or contractors under Dynamex and the ABC test is an open question, but the Uber explanation of the bill's impact is more or less correct.