This looks interesting, but there's a lot of moving pieces (rust, python, typescript, react, v8).
Maybe remove the .DS_Store files from repo and update your gitignore globally to avoid this issue. Also, Pydantic has SecretStr that might be useful to use.
I believe this pivoting example might be useful to scientists, support staff and postdocs in other fields as well (e.g., physics, chemistry, bioinformatics, material science).
A few specifics that might be useful for scientists that are considering transitioning to industry.
Pivot sooner rather than later. The transition might be a bit rough early on. In general, you can't get away with the heroic/cowboy approach that you can in a smaller academic setting. The interview process can be rough and might have a bit of RNG to it.
Aim to jump around every 2 years (3 at the absolute most) early on in your career. This will help make sure you're leveling up your skill set, getting those hard earned experience points and seeing different approaches to the software development process.
Be mindful of "infrastructure"-ish positions that might make it hard to get noticed. You probably have a high skill ceiling, but you are rough around the edges. It's essential to find a mentor that sees your potential and can help you level up (this might be challenging for remote positions).
At a minimum, you'll have an order of magnitude more job opportunities and mobility. Mobility in academic projects can be challenging to navigate. It can be easier to find a place outside of the academic space where your interests and skills will be aligned. Industry can also have interesting problems to solve.
I suspect that the current economic climate combined with the current clusterfuck housing market might create challenges for retaining support staff and postdocs in these academic/national lab driven projects.
The RSE role doesn't seem to fit into their current model. It doesn't work from a career path, nor from a competitive compensation standpoint.
I suspect that the housing crisis is also going to push more people out of these positions.
If you have a PhD in material science, physics, chemistry, biology, etc... and are reasonably knowledgable in Python (or similar), perhaps spend a year as a postdoc.
After that year, seriously consider moving to a tech company.
I covered a few core concepts (e.g., functions as first-class citizens, closures, partial application, etc...) and added a few real world examples of using a functional centric design. The text/format has some rough edges, but overall I think the text is useful for internalizing how to leverage a functional-ish approach.
It's worth noting that "except:" is not the same as "except Exception:" in Python. "except:" is catching BaseException which is often not what to do. BaseException is catching SystemExit amongst other things.
I've also found Pydantic to be a valuable library to use.
However, it does have a strongly opinionated approach to casting that can sometimes yield non-obvious results. This behavior is documented and I would suggest new potential adopters of the library to explore this casting/coerce feature in the context of your product/app requirements.
For the most part, it's not an huge issue, but I've run into a few surprising cases. For example, sys.maxint, 0, '-7', 'inf', float('-inf') are all valid datetime formats.
Perhaps a custom compose function can help with these use cases? This series has a few examples of composing computation in Python that might be useful.
Maybe remove the .DS_Store files from repo and update your gitignore globally to avoid this issue. Also, Pydantic has SecretStr that might be useful to use.