Language absolutely is a marketable skill because most companies are looking to hire someone who can start working day one not someone they’ll have to train for weeks or even months in a new language that heavily relies on some specific framework.
I find that code written towards fulfilling some specific database design is usually a nightmare about 20minutes into the project. You end up with garbage semantics and interfaces because you’re building an entire app for the sake of storing stuff in a database. It’s an ass backwards approach to software development imo, software is about solving a human problem and data persistence is just one of the steps in the solution. Instead figure out what data your consumers need, then figure out what domain objects can be extracted from that, then plan how you will persist those domain objects. You’ll end up with less boilerplate, better naming of entities and services and you’ll also find that the words your team uses to talk to each other make sense to your business people not just your dba.
Microservices and document db’s go brrrrrrr. Data duplication is completely fine as long as there is only one source of truth that can be updated, all copies must be read only. Then the copies should either regularly poll the source or the source should publish update events that the copies can consume to stay in sync. It’s simple stuff but keeps your system way more available and fast than having multiple services talk to a shared db or worse, multiple services constantly fetching data through a proxy.
There isn’t one, java is excellent for async and multithreading and it does it properly unlike node that fakes it by running on a single clever event loop or stealthily launches a bunch of node instances in the background depending on implementation.
I find ChatGPT more coherent than stackoverflow in many cases. Sure it hallucinates and sometimes acts like it has dementia but at the very least it won’t write 5 paragraphs about how the framework behind my issue works without giving any examples.
Stackoverflow is good for finding alternative approaches, getting explanations for how stuff works in the framework, and error investigations. Useless for getting information on stuff you don’t already know.