> I personally find OOP to be the most intuitive for large scale systems design, but that's just me.
Once you're more comfortable with it and want to try a typed functional programming language, I highly recommend checking OCaml (or SML, if you're into old school tech) and see how the Module Functors are applied, most software will look extremely over-engineered after you write a few functors. It's the feature I miss the most when coding in F# or Gleam, for instance.
The largest so far. We have always been in a boom/ bust cycle. The difference is that they are coming faster and faster.
I need to figure out the next one.
The famous quote, "Markets can remain irrational longer than you can remain solvent," is widely attributed to the renowned British economist John Maynard Keynes 1883-1946
The worst part is that techies can still work around the insanity if they keep their opinions private. For the serious average Joe the AI mandates must be feeling like hell on earth.
I once worked in a company that had soviet-level efforts to push LLMs into everything, someone eventually made the classic "Natural Language -> SQL Query -> Magic Result in webpage" and got promoted, the tool got mandated for every non-tech employee as part of an AI-boosting effort (people pushing metrics up).
One day I wake up with a product person in despair because the tool couldn't handle what looked like a very simple aggregation, I stopped what I was doing, crafted a 30-line SQL query over HORRIBLE TABLES, a couple CTEs and window functions here and there got him what he wanted. I found out later that single query that took 30 minutes to make saved him from inheriting a 6-month effort to create a microservice dedicated to patching said tool.
If you come from a pure FP or embedded systems background you are exposed to a much better version of "sofware engineering" than your average React dev out there. The bar created by webdev is so low it made the whole industry look like a joke.
I once worked in a project that vendored most of its third-party dependencies, it was a culture shock at first, but damn, after a while it was so nice being able to work just by building from local source, with normal tooling like `make`, instead of pulling a shitton of deps from the outside world. Made me realize how much "webdev culture" did a disservice to software engineering as a whole.
Caching proxies are a decent middle ground like Artifactory. AWS might support that (maybe only on certain repo types?)
Generally you can also configure rules in your internal package cache about what to do if a package is missing from the cache/hasn't been pulled yet. They also commonly integrate automaticaly CVE tracking and pull statistics so they give a nice "heads up" what everyone is using even if it's a local PoC
As an added bonus, they can also lower bandwidth bills like in expensive cloud environments when you can co-locate the proxy close to CI/build machines.
> But I think we will swing back to using GUIs when we find a performant way of making them
I like this new TUI renaissance as well, but if you wanna see what a symbiotic relationship between GUIs x TUIs could look like you need to see what Emacs does with Orgmode and the whole Org ecosystem of org-agenda, org-roam, etc. Lot's of these TUIs from the awesome are somewhat already inside Emacs.
Once you're more comfortable with it and want to try a typed functional programming language, I highly recommend checking OCaml (or SML, if you're into old school tech) and see how the Module Functors are applied, most software will look extremely over-engineered after you write a few functors. It's the feature I miss the most when coding in F# or Gleam, for instance.
reply