- Make systems as observable as possible. Stuff will break, the easier it is to identify the cause, the better. Logging things at different program flow points helps immensely.
- Question every decision in the codebase you are working on, but thoroughly weigh any refactoring attempts
- Don’t fall in love with own code
- Prefer readability over performance (in most cases)
- Don’t follow trends blindly. More than likely your boring stack is the best way to go
- Allow room to recover from a malformed system state
- Don’t abstract prematurely. If you struggle with designing your abstractions, you are probably good with concrete case(s) for now
If true AI ever arrives, it will determine what it wants to accomplish and then, if computers or other machines are needed to accomplish any of the steps of a solution, imo AI will communicate directly with the machine in the machine's natural language (machine code in today's machines).
You are thinking like a human when you think true AI would need a "language". True AI will be fully capable of "thinking" in the natural language of the machines at the time (quantum machine code for example) without needing any higher languages that then get translated into machine code. IMO, those steps are needed by humans, but not by a true AI.
In my case, I absolutely hated investment banking and this career and my Finance degree were wrong choices that I just didn’t want to admit to myself.
I started thinking what I used to enjoy doing before university and I realized that I always loved computers and even programmed a good amount of Visual Basic and Pascal back in days.
As for the transitioning process, I took the radical approach. I first combined learning to code (again) with my job but it was very difficult. So I saved 6 month living expenses, quit my job and locked myself in my apartment for studying. Ran out of funds before getting enough knowledge to land an actual job. Took side hustles from my previous career for about 2 years to continue learning. Eventually managed to land a job paying 25% of my past salary. But once I got into the industry, I grew rather quickly because of how motivated I was compared to my previous career.
The moral of the story is, if you feel like there’s something that is much better suited to your personality, it’s okay to start from scratch. It will be painful for sure, but the pain is temporary compared to a lifelong feeling of being miserable on a wrong path.