Vas a saber si eres buen programador con este test
#284 · 10 checkpoints inspirados en Kent Beck sin importar el lenguaje de programación
Hay una frase de Kent Beck que ronda siempre por ahí:
“I’m not a great programmer;
I’m just a good programmer with great habits.”
Claro, el señor que ha vendido miles de libros sobre buen software se puede permitir “jugar” con sus habilidades en público.
Tú y yo… ¡también!
Traigo aquí un test/checklist de 10 habilidades que el mismo Kent Beck me ha enviado.
Tiene ejemplos que debería cumplir un BUEN PROGRAMADOR/A CON GRANDES HÁBITOS.
(Al final te cuento de donde sale esta lista y el punto 11 que Kent olvidó)
1️⃣ Codificación diaria:
Cada mañana, antes de revisar mis correos, dedico 30 minutos a trabajar en un pequeño proyecto personal o a resolver un desafío de codificación. Me ayuda a entrar en "modo programador".
❌ Sería genial, pero no. Cada día camino 1 hora, ¿no me convalida?
2️⃣ Lectura constante:
Siempre tengo un libro de programación en mi mesita de noche. Recientemente, he estado leyendo sobre diseño de sistemas a gran escala.
❌ Leo libros del sector, pero no cada noche. Y el último libro era de la historia de los vampiros…
3️⃣ Pruebas unitarias:
Cuando trabajé en mi última aplicación, escribí las pruebas antes de cualquier funcionalidad. Al terminar tenía un 90% de cobertura.
❌ <ironía>Tengo un método mejor: no tiro ni una línea de código con error. </ironía>
4️⃣ Revisión de código:
Cada vez que finalizo una función o módulo, me tomo un momento para revisar y optimizar mi código.
❌ Me dice Kent que no vale si lo haces solo una vez al día.
5️⃣ Refactorización:
En un proyecto reciente, noté que repetía la misma lógica en varios lugare, así que cree una función.
✅ ¡Sí! Esto es una práctica habitual cuando pongo las manos sobre el teclado. ¡Venga que remontamos!
Si sigues trabajando con jQuery no es malo
Pero necesitas una refactorización para ponerte en forma.
Ahora hay paladas de trabajo en React.
He escrito sobre ello: Recomendaciones para dar el salto de jQuery a React
6️⃣ Uso de git:
Diariamente, realizo varios "commits" en Git para rastrear mi progreso. Además, siempre creo una nueva rama cuando estoy trabajando en una nueva característica.
✅ Me costó años implicarme en este proceso pero ahora lo tengo más interiorizado que la jota castellana 💃
7️⃣ Conoce tus herramientas:
Una vez al mes, busco atajos o funciones desconocidas en mi IDE para mejorar mi eficiencia.
❌ Estuve años usando UltraEdit con un montón de botones a la vista y nunca hacía clic en ninguno.
8️⃣ Aprende continuamente:
Me inscribí en un curso online de algoritmos avanzados. Dedico una hora cada fin de semana a trabajar en las lecciones y tareas.
✅ El suspenso es para ti KentBeck. También hay que respirar un poquito fuera del código, que se te van a caer las cejas.
Me doy el check porque si dedico tiempo al aprendizaje, pero no necesariamente durante el finde.
👉 Ayuda a otros a que marquen “check” en este punto y comparte esta newsletter
9️⃣ Comunicación clara:
Cada vez que tengo una reunión con colegas o clientes, me preparo con puntos clave y ejemplos.
✅ Me gusta ir preparado. Me encantaría que los demás, también.
1️⃣0️⃣ Tiempo de descanso:
Establezco alarmas para tomar descansos cortos cada hora y pasear un poco. Además, me aseguro de tener al menos un tarde libre a la semana.
✅ Lo hago sin alarmas, pero si tuviera que hacerlo no me temblaría el pulso Rick.
Nota final
5 ✅
5 ❌
Aprobado por los pelos, hay que ponerse las pilas o iremos al infierno developer arderás en el fuego eterno de Cobol🔥
Y aún así ChatGPT 4 (disfrazado de Kent) se olvidó de una habilidad 11 que debería contar para subir nota.
✉️ Esa te la cuento el próximo domingo, que hoy se nos va de largo ;)
He compartido mi nota contigo, seguro que me has ganado….
Aprende Svelte desde cero
En el canal de YouTube de Web Reactiva le hemos pegado un buen repaso en 8 lecciones al framework más fácil de aprender en JavaScript, Svelte.
Pensando sobre todo en no iniciados 🥳
Empieza por la primera:
🎢 CARRERA PROFESIONAL
Lo que he aprendido del libro Software Engineering at Google
Swizec Teller dice que el libro le ha gustado más de lo que esperaba y que lejos de ser inalcanzable, puede aplicarse incluso a pequeños equipos de 5 personas. Aquí te dejo un resumen en castellano.
🔰 PARA APRENDER
Aprende CSS Variables construyendo un skyline
En castellano podrás practicar y entender todo lo que relacionado con las variables de CSS en este tutorial práctico de FreeCodeCamp.
Crea un CRUD con TypeScript en React
Guía paso a paso con instrucciones y ejemplos de código para tener un Create, Read, Update y Delete integrando React y TypeScript.
😎 PARA FARDAR
Crea gif animados de gráficas con Data Gif Maker
Elige el tipo de gráfico, escribe la etiqueta y la cantidad y esta web se encarga de generarte un gif de barras. círculos o carreras con la animación molona que toque.
🤖 IA PRÁCTICA
Clone UI y genera tus componentes con IA
Cuéntale a esta web que quieres una card de evento con título y fecha y te sale el código compatible con TailwindCSS. Más fácil que v0, porque no hay lista de espera.
Xef, un conector de modelos y fuentes de datos para IA
Lograr resultados con la IA no siempre es fácil, pero Xef intenta hacerlo diferente. Se integra con Lucene, PostgreSQL y otros, permitiendo cargar datos desde CSV, PDF y Git.
📝 Recurso enviado por Borja
🛠 HERRAMIENTAS
Más soluciones para el frontend: Nue
Una alternativa para React/Vue/Vite/Astro. Antes de preguntarte si es necesaria te digo que pone el foco en su velocidad, ahorro de código y modularidad.
Zeabur, una alternativa a Vercel
Los malandriners utilizan herramientas inesperadas en los retos que hacemos. Aquí un ejemplo, un hosting con CI/CD y gestión de dominio con la capa gratuita suficiente para desplegar un proyecto allí.
📝 Recurso recomendado por Sergi
🤸♂️ ALTERNATIVAS OPEN SOURCE
Lucia, la alternativa libre a Auth0
Autenticación y autorización para gestionar sesiones de usuario sin dolores de cabeza. Lucía es tu luz.
📝 Recurso recomendado por Fernando
⚡️ ASOMBROSICO
ShareDrop, comparte ficheros sin instalar nada
Una web que te deja intercambiar ficheros entre dispositivos en la misma red. Si no te fías es open source, así que puedes echar un vistazo a su magia.
🌳 BUENAS PRACTICAS
Guía para entender hoisting, scope chains y closures en JavaScript
Al escribir software, dividimos el código en piezas (funciones, módulos, paquetes). Desde la perspectiva del motor de JavaScript, estas divisiones se llaman “Contextos de ejecución” y es clave entender cómo funcionan.
Deepcheck para limpiar las dependencias de npm
Depcheck es una herramienta para analizar las dependencias en un proyecto para ver cómo se usa cada dependencia, cuáles son inútiles y las faltan en el package.json.
PD: Ibai. La Velada. Twitch se cae. Para compensar el CEO de Twitch se pasa por el canal de Ibai. Y aquí cuenta lo que pasó.
PD bis: Si has llegado hasta aquí te mereces saber que todos los días hay un recurso nuevo en el canal abierto de Web Reactiva en telegram.
#reactivisima284
Thank You!