Canadian engineers have to take a short closed book 3-hr Professional Practice Examination (PPE) covering "ethics, professional practice, engineering law and professional liability" as part of the licensing process.[1]
The reference is from Professional Engineers of Ontario as Canada's engineers are regulated at the provincial level, but thankfully is also generally similar across the provinces. I'd imagine the American version (PE)[2] is somewhat similar.
While engineering law (typically torte) is a very small slice of The Law (TM), at least it's a start in the right direction.
Note that this would only apply to a subset of coders who actively seek out a professional "Engineer" title designation. Most computer engineering or electrical engineering graduates (probably the most likely population) don't need to, and don't actually end up, becoming professionally designated.[3]
[1] http://www.peo.on.ca/index.php/ci_id/2060/index.php?ci_id=20...
[2] https://www.nspe.org/resources/licensure/how-get-licensed
[3] Anecdata
I would also imagine that they make up the overwhelming minority of software engineers. I don't know about Canada, but in the US the licensing authority did away with the software engineering PE entirely for lack of interest a few years ago.
If an engineer wants to answer a question like “The IRS and HMRC consider these stock options to have a specific tax status if an employee exercised them within 90 days of leaving a company. What defines the date of purchase of a stock? The date the payment is received or the date the stock certificates are delivered?”, what can they do (besides ‘ask a solicitor’) to learn an answer they can be sure of?
In your case, the exercise date is the date of issue
(I'm exaggerating, they probably have bespoke software which they can use for auto-generating their spreadsheets).
The lawyer only needs to learn a novel skill (Python), and then, said skill in hand, they can read through a few cookbook solutions to their problem on e.g. StackOverflow, and come away with an answer that is guaranteed to work—for at least their particular use-case—because they can test and iterate on it until it does work.
The programmer, on the other hand, would need to learn vast swathes of a body of knowledge in order to have the requisite context to understand the "subtext" (i.e. case law) governing any particular "cookbook" solution they find.
Or, to put that another way: as programmers, in the decades we've been practicing the craft so far, we've seemingly held as one of our "guiding principles" that implicit context (e.g. DSL/macro "magic") is generally bad: the more you have to know to start working on a new project, the worse a situation you're in. Programmers actively try to lower the "barrier to contribution", by 1. favoring larger libraries and fat language stdlibs over small atomized libraries, as large libraries can be shared as a lingua-franca/Schelling point; and then 2. avoiding abstractions that aren't built into the language itself, instead choosing a language for its built-in abstractions, as then programmers who "know language X" can be guaranteed to be ready to parse those abstractions.
Law has no such principle. The "law community" has in no way ever sought to make it easier to maintain or update existing legal text, and therefore, has never really developed an equivalent to the concept of "write-only code." They might make it easier to get started writing the write-only code (with templates) or might discourage writing more law than there needs to be (red-tape reduction) but there's nothing disincentivizing any particular legal document from being as impenetrable—and reliant on knowledge "from the environment"—as possible.
---
Or, to reformulate in a more productive way: if the whole body of law of a country were maintained in a reified form as some downloadable expert system knowledge-base, then anyone could learn the "pure skill" of legal analysis, which would be the skill of properly querying said knowledge-base (and, only if the answer isn't clear-cut, asking someone who has experience in predicting the way legal battles over such an issue would go.)
That's sort of the way medicine seems to be trending—doctors are more and more becoming people who practice the "pure skill of diagnosis" and less-and-less people who have a particular knowledge-base loaded into their heads. But law hasn't even begun to chart its way down this path.
For coders wanting to learn law it's much less available and significantly more costly. A lot of online legal learning resources are very oldschool, incorrect or incomplete, which is a real shame.
And if you're willing to look beyond online sources, legal treatises for laymen are available for most subjects for under $40. Many of those treatises (like the E&E law series) are so good that they're used as law school textbooks.
Meanwhile, for lawyers wanting to learn to code, a lot of online programming resources are very old school, incorrect, or incomplete. A lot of them refer to languages (or versions of languages) which no one uses anymore, features which have long been deprecated, or promote the use of code with poor security or programming practice, which is a real shame.
In that context of fragmentation, it's hard to imagine what an legal 'codecademy' would look like. You can't properly teach theory without a strong writing component, and the professors to review it would put you back into the cost structure of a full university (don't think a neural net would cut it, at least within the next decade). For a bunch of multiple choice on practical law, you would need to restrict your coverage to a specific geography, not to mention a specific field, limiting the market for such a service.
I guess you could start with the uniform criminal code + uniform civil code in the USA. Maybe common law principles too.
While it's generally great for people to learn to code as a hobby or for personal projects, I can't think of viable personal projects within law -- just as you wouldn't want to encourage personal experimentation in medicine. Likely the audience would be people trying to better understand their own problems with the law, which incentivizes Dunning-Kruger or law students, who are already in / will be law school. Unlike coding, law school degrees are absolutely required for the vast majority of legal careers.
I think the success of online legal resource providers like Clerky or LegalZoom is that they help non-lawyers navigate the law (outcome-oriented), rather than being a general educational resource.
Coding resources have come on a thousand fold, even in the last 5 - 10 years with top level teaching available for free / freemium via Coursera codeacademy, freecodecamp, udemy, udacity etc. Also all well supported by active user communities alongside stackoverflow and the massive open source community supporting the most popular languages and libraries.
There isn't an equivalent for legal knowledge in that sense, so far as we are aware.
Likewise you can't easily have personal projects with law or medicine - to do so is almost certainly illegal in most jurisdictions.
I think there should be a basic legal literacy, such that if someone comes along and asks for a feature or someone in the hiring pipeline asks a question that is likely trouble you know enough to consult legal.
Years ago I was working on an ATS system, specifically related to pre-hire applicant testing. Boss wants to be hip and with it, tells me we only need social login, e.g. Facebook, Twitter, LinkedIn. Almost immediately thought "adverse impact on a protected class," that class being "over 40." Few months ago an HN article about this very problem came up.
Had another one, team lead is assessing candidates with Hacker Rank. He starts giving random time extensions to various candidates, which opens us up to allegations of discrimination. Why did "Candidate X" get an hour longer than "Candidate Y."
And business law
And contract law
Has helped me immensely in understanding the world, and avoiding being manipulated by legal tactics.
I am not a coder nor a lawyer.
1) Contract law - if you're building software, make sure you understand how to licence it and not give away too much IP
2) Related to (1), understand Intellectual Property (IP) law - again, helps you understand what you own and what others own re the software or systems built
3) Tied to (1) and (2) increasingly, anything re data ownership and data privacy (incl. GDPR, an EU regulation re data privacy). Super important for anyone building tech that touches data, whether analytics, machine learning, deep learning, or any simple database backed product (i.e. most things).
Perhaps as an aside, relevant advertising / marketing restrictions to make sure a product doesn't fall foul of any laws re what can / can't be claimed about a product.
Naturally the laws are different in different countries / states, so make sure you anything you read relates to where you're doing business.
A good tip is to google for law firm client alerts re these topics - law firms often produce free one or two pager guides summarising "all you need to know" basic info to encourage their services. These can be a good starting point.
My recommendations might be a little bland from right here on the treadmill; but pick up introductory college textbooks on the three subjects. They will go into the overall topics and important legal principles. Also read case law as the books suggest, some are really kind of funny. At least to me.
I actually found law surprisingly useful and enjoyed those courses at uni. Maybe because I studied so little of it, or maybe because I should have gone all the way into that profession.
Protip: As an individual, drop a few legal paragraphs into a well written complaint when you've been wronged, and in my experience 9 times out of 10 the business will relent, instead of going further into legal matters.