1 Year ago I switched from Backend to Compilers.
Since then, my day to day consists of designing and implementing Leetcode extra-hard graph algorithms.
I escaped the CRUD matrix.
Last year I wrote my own database from scratch.
Here's some stuff I learned
1. DBs are one of the few programs that still have to worry about "running out of memory" even today with so much RAM
Example:
User runs
SELECT * from t
and t is 8GB in size but you only have 4GB RAM
Porting decades old programs to Rust is dumb.
They already fixed countless bugs / security issues, spend the time fixing remaining issues instead of starting all over again and re-introducing them.
Memory safety doesn't prevent dumb logical errors.
Use Rust for new software.
Multiple, serious security vulnerabilities found in the Rust clone of Sudo — which shipped with Ubuntu 25.10 (the most recent release).
Not little vulnerabilities: We’re talking about the disclosure of passwords and total bypassing of authentication.
In fact, we’re getting new
Mi experiencia con la escalabilidad hasta ahora:
Si diseñas el sistema de forma escalable desde el principio, nunca necesitará escalar y habrás montado tremendo overengineering. Si no lo haces, necesitará escalar y meterás un tremendo refactor.
Haz lo que te salga de los huevos
OOP is like Communism.
If you say "it's bad" and give an example, someone is guaranteed to come and say "but it was not applied correctly, that's not actually OOP".
Cuando tengas 20 años de experiencia entenderás por qué lo que tú haces está mal y lo que yo hago esta bien.
- Frase de "senior" que lleva manteniendo el mismo software escrito en Java desde que salió de la uni y nunca se ha actualizado.