Después de años programando y aprendiendo (sobre todo aprendiendo),...

Hay ciertos conceptos que todo buen programador debe dominar, sin importar el lenguaje que uses.
Aquí van los más importantes 🧵👇
Antes del código, está el pensamiento.
Saber descomponer un problema en pasos pequeños y razonables es 100 veces más importante que saberse una sintaxis.
Listas, pilas, colas, árboles, mapas…
Entenderlas de verdad cambia cómo diseñas tus programas. No es teoría, es pura eficiencia.
Búsqueda, ordenamiento, recursión, backtracking...
Son herramientas mentales. Te enseñan a pensar en soluciones y no solo en código.
Imperativo, orientado a objetos, funcional...
Cuanto más amplio tu enfoque, más elegante será tu solución.
No es solo para subir código a GitHub.
Saber usar bien Git es como tener un superpoder para trabajar en equipo y evitar catástrofes.
Nombres claros, funciones pequeñas, separación de responsabilidades.
Tu yo del futuro (y tus compañeros) te lo van a agradecer.
No para aplicar como receta, sino para reconocer problemas comunes y resolverlos con elegancia.
Probar tu código debería ser parte del desarrollo, no un lujo.
Tests = confianza para refactorizar sin miedo.
Saber encontrar errores rápido es una habilidad subestimada. A veces, entender un bug te enseña más que escribir 1000 líneas nuevas.
Sí, aunque no escribas mails bonitos. Saber explicar lo que hiciste o entender lo que otros necesitan es tan clave como saber programar