¿Cómo ser un programador web sin caer en la depresión?
Hace unos pocos días me llegó una pregunta desde Quora la cual me hizo hacer un rápido "flashback" hacia unos atrás cuando pasé por la misma situación.
La pregunta era ésta:
Sin dudas, ésta es una situación más que común en el ecosistema de "la programación" y especialmente ligada al mundo JavaScript donde todos los días nos encontramos con cosas nuevas.
O a lo mejor, no tan nuevas como parecen.
A continuación, les comparto mi respuesta en Quora.
Básicamente son 6 puntos que destaco como importantes donde concentrarse para no perder el rumbo ni deprimirse porque "no se está al día con la última tecnología" o cuestiones por el estilo.
Espero les sirvan, aca van:
El caso más típico hoy en día, los que comparan Angular (framework) contra React o Vue (ambas librerías para frontend).
Ejemplo: si piden una SPA la vas a realizar con Angular? medio que es innecesario, es como que tengas que recorrer 3 cuadras y en vez de recorrerlos en bicicleta te subís a un camión. Lo podés hacer? y sí .. podés .. es lo más conveniente? y .. la verdad que no ..
(*) Esta idea no es sencilla de digerir, si pensás que es una pavada te sugiero que la vuelvas a considerar. Si considerás que la idea es buena entonces vas por el camino correcto.
Como Mongo no es una base de datos relacional, y esas soluciones requerían preservar la integridad relacional de la información allí almacenada, se utilizaba Mongoose para preservar la integridad referencial sobre Mongo. Puf!.
Resultado: Una enorme cantidad de esfuerzo (tiempo y dinero) tratando de reinventar una rueda creada hace 40 años atrás. Totalmente innecesario!
Con tiempo y experiencia te vas a ir dando cuenta que en el fondo no cambia tan drasticamente.
La pregunta original (y otras respuestas que también podrían serte útiles) la podés encontrar acá: QUORA
La pregunta era ésta:
¿Cómo ser un programador web sin caer en la depresión o tirar la toalla como resultado del ritmo vertiginoso e inalcanzable en el que surgen nuevos framework, formas de hacer las cosas, etc.?
Sin dudas, ésta es una situación más que común en el ecosistema de "la programación" y especialmente ligada al mundo JavaScript donde todos los días nos encontramos con cosas nuevas.
O a lo mejor, no tan nuevas como parecen.
A continuación, les comparto mi respuesta en Quora.
Básicamente son 6 puntos que destaco como importantes donde concentrarse para no perder el rumbo ni deprimirse porque "no se está al día con la última tecnología" o cuestiones por el estilo.
Espero les sirvan, aca van:
El primer punto: distinguir entre “frameworks” y “librerías”.
Parece simple, pero es un punto donde muchísimos programadores (aún con muchos años de experiencia) se equivocan.El caso más típico hoy en día, los que comparan Angular (framework) contra React o Vue (ambas librerías para frontend).
El segundo punto: asumir que el “mercado” va a tomar muchas decisiones por nosotros.
Para sobrevivir como programador web necesitas dominar tecnologías muy utilizadas en proyectos “legacy” (como JQuery o PHP, a ésta altura incluiría Angular) y los proyectos nuevos (mayormente pedidos en React, por ahí anda Vue ganando algo de mercado pero le falta un “sponsor fuerte” y ubicado en occidente - algo no menor para nosotros los occidentales).El tercer punto: No caer en la depresión.
Se cae en la “depresión” cuando no se termina de dominar una herramienta y no se termina de entender cual es el escenario donde puede sernos más útil.Ejemplo: si piden una SPA la vas a realizar con Angular? medio que es innecesario, es como que tengas que recorrer 3 cuadras y en vez de recorrerlos en bicicleta te subís a un camión. Lo podés hacer? y sí .. podés .. es lo más conveniente? y .. la verdad que no ..
El cuarto punto: Conocer los distintos patrones de diseño y entender los escenarios donde aplica mejor cada uno. FUNDAMENTAL!
Ejemplo: React y Vue son librerias para el frontend. Como funcionan? la primera pone la lógica en JavaScript y la segunda en HTML. Pero pasada ésta primer diferencia, luego funcionan bajo el mismo concepto adhiriendo fuertemente al patrón de diseño Flux. Angular y Laravel (ambos frameworks) están mucho más orientados a MVC. Y así se puede seguir con otras librerias y/o frameworks ..El quinto punto: Asumir que siempre es una cuestión de dinero.
El mejor proveedor será aquel que pueda cubrir la necesidad de un cliente en el menor tiempo posible y CUMPLIMENTANDO las expectativas que tiene el cliente en ese momento dado DENTRO DEL PRESUPUESTO del cliente. (*)
(*) Esta idea no es sencilla de digerir, si pensás que es una pavada te sugiero que la vuelvas a considerar. Si considerás que la idea es buena entonces vas por el camino correcto.
El sexto punto: Seleccionar y desechar herramientas.
Un caso muy típico: hace 2 años atrás (2016 aprox.) hubo una explosión de proyectos donde básicamente se pedía reemplazar bases SQL con Mongo (no relacional).Como Mongo no es una base de datos relacional, y esas soluciones requerían preservar la integridad relacional de la información allí almacenada, se utilizaba Mongoose para preservar la integridad referencial sobre Mongo. Puf!.
Resultado: Una enorme cantidad de esfuerzo (tiempo y dinero) tratando de reinventar una rueda creada hace 40 años atrás. Totalmente innecesario!
En Síntesis
Si estás pasando por una situación similar: NO AFLOJES!Con tiempo y experiencia te vas a ir dando cuenta que en el fondo no cambia tan drasticamente.
La pregunta original (y otras respuestas que también podrían serte útiles) la podés encontrar acá: QUORA
No comments