Aprenda sus fundamentos y nunca más se preocupe.
Nuevas herramientas me preocupan
Cuando aparece la brillante herramienta de JavaScript del día, a veces reacciono de forma exagerada.
Y después de 15 minutos de mi imaginación corriendo, la necesidad de explorarla se vuelve insoportable.
No importa qué herramienta, es la misma historia.
- ¡Debo aprender esta tecnología!
- ¡Necesito todas las ventajas en este competitivo mercado laboral!
- Tengo que seguir siendo relevante, ¿verdad?
Bueno, sí, pero no.
Mis mayores nunca se preocupan
A veces, comparto este sentimiento con desarrolladores senior en la oficina y obtengo una reacción estándar de ellos.
Después de suficientes encuentros como este, comencé a pensar ...
¿Por qué la diferencia?
¿Por qué me abalanzo ansiosamente sobre la mejor herramienta de hoy, aparentemente condenada a repetir esto para siempre ...
Mientras mis mayores dejan pasar tranquilamente las tormentas de JavaScript, ¿recogen herramientas según sea necesario?
Es porque ven hilos comunes entre estas herramientas. Para ellos, incluso después de todos estos años, el panorama no es tan diferente.
¿De dónde provienen estos hilos comunes? Los fundamentos.
Todo está en los fundamentos
Los mejores desarrolladores que he conocido no se han visto afectados por la evolución de la velocidad de la luz de JavaScript. No están agotados por la fatiga de JavaScript porque abandonaron esa carrera.
En lugar de aprender marcos para impulsar sus carreras, se enfocaron en los fundamentos y dispararon sus carreras.
Su marco favorito puede caer en picado algún día, y eventualmente tendrá que elegir otro.
Pero los fundamentos son imperecederos. Se remontan a los recursos informáticos de hace décadas. No importa la edad, estos principios todavía constituyen la base de la informática.
Este tweet con el que me topé lo resume perfectamente.
Leer artículos sobre informática de los años 50, 60 y 70 es como excavar en un sitio arqueológico y encontrar un destornillador sónico.
- - = fogus = - (@fogus) 4 de junio de 2019Todos estamos construyendo sobre la base establecida hace mucho, mucho tiempo.
¿Cuáles son los fundamentos?
Esta no es una lista completa, pero quien la aborde se convertirá en un programador increíble. Te mantendrá ocupado durante muchos años.
- Aprender múltiples lenguajes de programación
- Algoritmos y estructuras de datos
- Patrones de diseño
- Anti-patrones
- Arquitectura de la aplicación
Aprender múltiples lenguajes de programación
Los idiomas resuelven problemas de diferentes formas. Ninguno de ellos es perfecto, por eso tenemos tantos.
Si usa JavaScript, no se sienta cómodo aprendiendo C #. Si realmente quieres esforzarte, prueba Haskell.
Compare las soluciones que ofrece cada idioma. Cuanto más aborde, más rápido aprenderá cosas nuevas porque todas se basan entre sí.
Algoritmos y estructuras de datos
A la gente le encanta odiar este tema.
- "¿Cuándo necesitaré esto?"
- "Esto es inútil".
- "Los títulos de CS son una pérdida de dinero".
Puede que nunca los necesite, pero eso no hace que los algoritmos de aprendizaje y las estructuras de datos sean una mala inversión.
Como especialista en TI, parte de mí desearía poder regresar y tomar algunos cursos de informática, especialmente algoritmos y estructuras de datos. El poder que sentí después de aprenderlos fue asombroso. ¡Es como ponerse unas gafas que nunca supiste que tenías!
El mayor beneficio, en mi opinión, es la mejora de las habilidades para resolver problemas.
La capacidad de calmarse, caminar hacia un cuaderno / pizarra y trabajar hacia una solución es un activo que le ahorrará innumerables horas de hackeo frustrado.
Antes de eso, galopaba hacia el editor como un vaquero de codificación clásico, me codificaba en una esquina y luego trataba de encontrar una buena solución.
Patrones de diseño
Del brillante libro de Addy Osmani: Aprendizaje de patrones de diseño de JavaScript
Un patrón es una solución reutilizable que se puede aplicar a problemas que ocurren comúnmente en el diseño de software ...
Estas soluciones probadas en batalla han resistido la prueba del tiempo. Aprenderlos le ayuda a escribir código que es más familiar y fácil de mantener para otros desarrolladores.
Puede que no te hayas dado cuenta, pero las pilas de JavaScript modernas aprovechan los patrones de diseño populares.
- Los paquetes como Webpack y Parcel le permiten usar el patrón del módulo para separar JavaScript en archivos organizados.
- Bibliotecas como RxJS y Redux usan el patrón Observer para enviar y recibir "notificaciones".
- Bibliotecas como React-Redux y Recompose le permiten mejorar sus componentes, también conocido como patrón Decorator .
Anti-patrones
Si los patrones de diseño son tan buenos que deberíamos compartirlos, los antipatrones son tan malos que deberíamos advertir contra ellos.
Tomando nuevamente del libro de Addy Osmani, aquí hay algunos anti-patrones comunes de JavaScript.
- Definición de muchas variables globales
- Modificando el
Object
prototipo de la clase - Utilizando
document.write
- Usando JavaScript en línea. Por ejemplo...
Click Me
Arquitectura de la aplicación
Aquí es donde los acrónimos se vuelven locos
- MVC (Modelo-Vista-Controlador)
- MVP (modelo-vista-presentador)
- MVVM (modelo-vista-modelo de vista)
- MVU (Modelo-Vista-Actualización)
- MVI (Modelo-Vista-Intención)
Aquí tienes un ejemplo de MVC.
Su núcleo común es separar sus preocupaciones . La mayoría de las aplicaciones tienen un modelo (datos) y una vista (UI), y es importante que no se comuniquen entre sí. Ahí es donde se encuentra el controlador y media su comunicación de ida y vuelta.
Resumen: las herramientas son increíbles ❤️
Una verdadera maravilla de la ingeniería de software. ¡Aumenta tu productividad aprendiendo y disfrutándolos!
Pero no olvide sus fundamentos.
- Aprender múltiples lenguajes de programación
- Algoritmos y estructuras de datos
- Patrones de diseño
- Anti-patrones
- Arquitectura de la aplicación
Los dejo con un último tweet.
Los marcos son las hojas de un árbol enorme llamado Ciencias de la Computación.
Estudie el?, No solo el?, Para enraizar profundamente su base como desarrollador de software.
Muy pronto, conectará tantos puntos que la “nueva” tecnología ya no lo asustará.
- Yazeed Bzadough (@yazeedBee) 14 de agosto de 2019Gracias por leer
Para obtener más contenido como este, visite //yazeedb.com. ¡Y hágame saber qué más le gustaría ver! Mis DM están abiertos en Twitter.
¡Hasta la proxima vez!