Cap01: incorporar propuestas de Spectrumgirl

This commit is contained in:
Victorhck 2022-09-14 16:35:55 +02:00
parent b33c2b3b50
commit 8bc3871da0

View File

@ -1,7 +1,7 @@
# El viaje del programador mediocre
## Cómo hemos llegado aquí
Tienes tu propia historia única de cómo has llegado hasta aquí como programador. Es posible que te hayas enterado de qué era eso de la programación cuando eras un niño curioso que quería ver lo que un ordenador podía hacer. O quizás es posible que hallas llegado como un adulto que escuchó sobre estas cosas llamadas computadoras que puedes programar. Cualquiera que sea tu caso, has tenido un viaje para llegar hasta este punto y aprendiste una cierta cantidad de cosas para llegar hasta aquí. Pasaste tu tiempo libre aprendiendo a escribir código, o tuviste la suerte de poder trabajar en la programación como parte de tu trabajo. Fuiste a la escuela para aprender más sobre programación o quizás tomaste clases de extras. Compraste libros o leíste artículos en Internet para aprender más sobre programación. Cualquiera que sea el camino que hayas tomado, iniciaste tu viaje como programador.
Tienes tu propia historia única de cómo has llegado hasta aquí como programador. Es posible que te hayas enterado de qué era eso de la programación cuando eras un niño curioso que quería ver lo que un ordenador podía hacer. O quizás es posible que hayas llegado como un adulto que escuchó sobre estas cosas llamadas computadoras que puedes programar. Sea cual sea tu caso, has tenido un viaje para llegar hasta este punto y aprendiste una cierta cantidad de cosas para llegar hasta aquí. Pasaste tu tiempo libre aprendiendo a escribir código, o tuviste la suerte de poder trabajar en la programación como parte de tu trabajo. Fuiste a la escuela para aprender más sobre programación o quizás tomaste clases de extras. Compraste libros o leíste artículos en Internet para aprender más sobre programación. Cualquiera que sea el camino que hayas tomado, iniciaste tu viaje como programador.
Y ahora te sientes estancado.
@ -13,17 +13,17 @@ Cada una de estas experiencias te hace sentir como si estuvieras incompleto sin
## La brecha
Elegí la palabra "brecha" (_Nota del traductor: en inglés usa la palabra "gap" que tiene distintos significados como brecha o hueco_) para describir la diferencia entre dónde estás ahora y dónde crees que deberías estar por una buena razón. Una brecha es algo impuesto por otros, ya sea por la fuerza o por negligencia. Si aparece un agujero en la cerca de tu jardín, significa que la cerca es más débil para proteger el jardín. Una brecha también puede ser algo que requiere nuestra atención. En inglés la expresión "Mind the gap" es una frase acuñada a fines de la década de 1960 por el metro de Londres para advertir a la gente sobre el espacio que hay entre la plataforma y los vagones del tren. Si las personas no tienen cuidado con ese espacio, podría generar una situación insegura.
Elegí la palabra "brecha" (_Nota del traductor: en inglés usa la palabra "gap" que tiene distintos significados como brecha o hueco_) para describir la diferencia entre dónde estás ahora y dónde crees que deberías estar por una buena razón. Una brecha es algo impuesto por otros, ya sea por la fuerza o por negligencia. Si aparece un agujero en la cerca de tu jardín, significa que la cerca es más débil para proteger el jardín. Una brecha también puede ser algo que requiere nuestra atención. En inglés la expresión "Mind the gap" es una frase acuñada a finales de la década de 1960 por el metro de Londres para advertir a la gente sobre el espacio que hay entre la plataforma y los vagones del tren. Si las personas no tienen cuidado con ese espacio, podría generar una situación insegura.
La brecha en este caso es la distancia entre nuestras habilidades actuales y dónde pensamos que deberíamos estar. A veces las brechas son auto impuestas debido a nuestros propios deseos de mejorar, pero la mayoría de las veces las brechas son impuestas de manera externas.
La brecha en este caso es la distancia entre nuestras habilidades actuales y dónde pensamos que deberíamos estar. A veces las brechas son auto impuestas debido a nuestros propios deseos de mejorar, pero la mayoría de las veces las brechas son impuestas de manera externa.
Uno de los grandes creadores de brechas en nuestra profesión como programadores es el cambio. Como programadores estamos siempre alerta del ciclo de los cambios en la cultura de la programación. Estamos constantemente enfrentándonos a los cambios que nos llegan: cambios de tecnología, cambios de prioridades en el trabajo o incluso cambios en nuestra estrategia para tratar de mantenernos al día con las demandas que se nos piden.
El cambio también puede provenir de dentro de nuestra comunidad. En nuestra comunidad de programadores y usuarios puede cambiar a nuevos puestos de trabajo o nuevas tecnologías. Es posible que ya no obtengamos el apoyo que necesitamos para hacer nuestro trabajo y que nos enfrentemos a la posibilidad de que nosotros también necesitemos actualizar nuestras habilidades o nos quedemos atrás en una comunidad abandonada.
El cambio puede provocar estrés. Es común en el circulo de los programadores porque las cosas cambian a menudo. Lo que funcionaba el viernes por la tarde puede que ya no sirva el lunes por la mañana debido a un cambio en una biblioteca que estábamos utilizando. Nuestro entorno de desarrollo podría romperse debido a una actualización que no se aplicó de la manera correcta. El código en producción podría necesitar algunos parches de seguridad y esos parche significan que tenemos que volver a hacer una gran parte de nuestro software porque si no ya no funcionaría. Hay una gran variedad de maneras en las que estamos inmersos en ese ciclo del cambio.
El cambio puede provocar estrés. Es común en el círculo de los programadores porque las cosas cambian a menudo. Lo que funcionaba el viernes por la tarde puede que ya no sirva el lunes por la mañana debido a un cambio en una biblioteca que estábamos utilizando. Nuestro entorno de desarrollo podría romperse debido a una actualización que no se aplicó de la manera correcta. El código en producción podría necesitar algunos parches de seguridad y esos parches significan que tenemos que volver a hacer una gran parte de nuestro software porque si no ya no funcionaría. Hay una gran variedad de maneras en las que estamos inmersos en ese ciclo del cambio.
No todo el cambio es malo. El software que utilizamos podría tener una razón muy válida para ese cambio. Las nuevas funcionalidades que deben ser añadidas requieren nuevas formas de pensar nuestro código. Las soluciones a problemas de seguridad podrían significar que nuestros sistemas ahora serán más eficientes frente a ataques externos, pero requieren diferentes formas de utilizar ese sistema. Optimizaciones nuevas y mejores pueden llevar a que nuestro código se ejecute de una manera más rápida pero necesite algunos ajustes para que pueda beneficiarse de esa velocidad. El volver a escribir una API puede llevarnos a interactuar con nuestros sistemas de una manera más limpia y concisa, pero deberemos incluir cambios que lo hacen incompatible con el código actual.
No todo el cambio es malo. El software que utilizamos podría tener razones muy válidas para cambiar. Las nuevas funcionalidades que deben ser añadidas requieren nuevas formas de pensar nuestro código. Las correcciones a problemas de seguridad podrían significar que nuestros sistemas ahora serán más resistentes frente a ataques externos, pero requieren diferentes formas de utilizar ese sistema. Nuevas y mejores optimizaciones pueden llevar a que nuestro código se ejecute de una manera más rápida pero necesite algunos ajustes para que pueda beneficiarse de esa velocidad. Refactorizar una API puede llevarnos a interactuar con nuestros sistemas de una manera más limpia y concisa, pero puede introducir cambios que no son compatibles con el código actual.
El cambio puede ser positivo, pero el cambio requiere tiempo y esfuerzo para adaptarse a él. La brecha solo se puede cerrar si tenemos los recursos y el tiempo necesario para trabajar en ella. Si estamos luchando con nuestra carga de trabajo actual y alguien cambia la forma en que funciona algo, ahora tenemos que tener en cuenta nuestro tiempo para adaptarnos a ese cambio. Si nuestro músculo de memoria mental sabía cómo funcionaba algo y ahora se enfrenta a un cambio significativo, requiere que volvamos a entrenar ese músculo de memoria mental para que coincida con la forma en que funciona ahora. Y si ya sientes que no comprendes los sistemas y entornos en los que estás trabajando, añadir cambios adicionales pueden dejarte varado entre las brechas recién formadas de tu conocimiento.
@ -35,27 +35,27 @@ Desafortunadamente, yo no he encontrado una manera de cerrar las brechas.
Puedes seguir aprendiendo todo lo que hay que saber sobre cualquier tema sobre el que hayas escogido aprender. Puedes realizar todos los cursos disponibles. Puedes asistir a todas las charlas y debates, leer informes que traten del tema e incluso realizar tu propia investigación y aún así te puedes seguir sintiendo como que no has cerrado definitivamente esa brecha.
Así que ¿si no hay una manera de cerrar por completo la brecha, qué puedes hacer?
Así que, si no hay una manera de cerrar por completo la brecha ¿Qué puedes hacer?
Tienes tres posibles opciones disponibles:
La primera opción es no intentarlo. Asumir que siempre habrá algo más que aprender. ¿Por qué insistir? Es más sencillo auto convencerte de que nunca serás capaz de cerrar esa brecha del conocimiento. La mejor opción, te dices a ti mismo, es apegarte a lo que sabes y aguantar todo el tiempo que puedas.
La primera opción es no intentarlo. Asumir que siempre habrá algo más que aprender. ¿Por qué preocuparse? Es más sencillo auto convencerte de que nunca serás capaz de cerrar esa brecha del conocimiento. La mejor opción es, te dices a ti mismo, quedarte con lo que sabes y aguantar todo el tiempo que puedas.
La segunda opción es intentar hacerlo todo a la vez. Te lees cada libro, cada artículo de un blog, cada nuevo informe, vídeo, o lo que sea para intentar aprender sobre el tema. A continuación, te das cuenta que solo tienes una cantidad finita de tiempo para aprender sobre el tema y que no puedes consultar todo ese material a la vez. Revisas tu progreso y te desesperas porque tu aprendizaje no está progresando tan rápido como te gustaría. Culpas a los materiales de aprendizaje por tu falta de progreso y buscas algo más que te ayude a aprender mejor el tema. La frustración se instala cuando te culpas a ti mismo por no haber comenzado antes a cerrar esta brecha.
La tercera opción es el enfoque más mesurado. Empiezas poco a poco con pequeñas tareas y avanzas hacia la meta. En lugar de ver la brecha como algo que se debe cerrar, te das cuenta de que no puedes conocer la totalidad de cualquier tema que estés aprendiendo. Disfrutas del conocimiento que recibes en la búsqueda de aprender el tema. Mantienes un ritmo constante para aprender tanto como puedas. En lugar de lamentarte por no haber comenzado antes, estás agradecido de haberlo hecho.
La tercera opción es el enfoque más mesurado. Empiezas poco a poco con pequeñas tareas y avanzas hacia la meta. En lugar de ver la brecha como algo que se deba cerrar, te das cuenta de que no puedes conocer la totalidad de cualquier tema que estés aprendiendo. Disfrutas del conocimiento que recibes en la búsqueda del aprendizaje del tema. Mantienes un ritmo constante para aprender tanto como puedas. En lugar de lamentarte por no haber comenzado antes, estás agradecido de haberlo hecho.
De estas tres opciones, la primera y la tercera son en las que encontrarás mayor satisfacción. La primera opción (no intentar) te permite acomodarte con el conocimiento que tienes. Pero hay una desventaja en simplemente permanecer en el lugar. Nuestra industria está en constante cambio y la tecnología sigue avanzando. Lo que solía ser la norma se convierte en algo ya obsoleto y lo que estaba a la vuelta de la esquina se convierte en lo que está siendo demandado.
Una de las habilidades más útiles de un programador es la capacidad de adaptarse a las nuevas tecnologías. A medida que cambia nuestro entorno tecnológico, nuestra capacidad para adaptarnos a esos cambios nos permite continuar como programadores. Máquinas más rápidas, diferentes tecnologías, diferentes dispositivos, diferentes requisitos, cada uno de estos nos trae desafíos emocionantes si los reconocemos. Pero también consumen tiempo para aprender y crean brechas en nuestro conocimiento. Confiar en nuestro conocimiento previo para llevarnos a través de estos cambios no será suficiente. Tenemos el desafío de adaptarnos al nuevo entorno.
La segunda opción (tratar de acapararlo todo y frustrarse) es el camino menos óptimo. Tratar de aprender con todos los recursos disponibles e incrustándolos en nuestros cerebros es un camino hacia la frustración, la fatiga y el agotamiento. Muchos desarrolladores intentan esto porque sienten la necesidad de adaptarse al nuevo entorno, pero es difícil hacer muchos cambios radicales de una sola vez. Es como tratar de desarrollar alas para volar porque llegas tarde a una cita: te sentirás frustrado por su incapacidad para desarrollar alas y aun así llegarás tarde a tu cita. La segunda opción también mide tu progreso en función de cuánto más crees que debes avanzar. Descuenta el progreso que has hecho y crea un ciclo sin fin hacia una línea de meta en continuo movimiento.
La segunda opción (tratar de acapararlo todo y frustrarse) es el camino menos óptimo. Tratar de aprender con todos los recursos disponibles e incrustándolos en nuestros cerebros es un camino hacia la frustración, la fatiga y el agotamiento. Muchos desarrolladores intentan esto porque sienten la necesidad de adaptarse al nuevo entorno, pero es difícil hacer muchos cambios radicales de una sola vez. Es como tratar de desarrollar alas para volar porque llegas tarde a una cita: te sentirás frustrado por su incapacidad para desarrollar alas y aun así llegarás tarde a tu cita. La segunda opción también mide tu progreso en función de cuánto más crees que debes avanzar. Descarta el progreso hecho y crea un ciclo sin fin hacia una línea de meta en continuo movimiento.
De las tres opciones, la tercera opción es la que tiene más sentido. El tomar una decisión mesurada para cerrar las brechas de nuestro conocimiento nos permite disfrutar más del proceso de aprendizaje. Al conseguir pequeños pasos en nuestro viaje, esto nos da pequeñas victorias en el camino recorrido. En vez de esperar una gran transformación nos permitimos unos cambios graduales para adaptarnos a nuestro entorno.
De las tres opciones, la tercera opción es la que tiene más sentido. El tomar una decisión mesurada para cerrar las brechas de nuestro conocimiento nos permite disfrutar más del proceso de aprendizaje. Al conseguir pequeños pasos en nuestro viaje, esto nos concede pequeñas victorias en el camino recorrido. En vez de esperar una gran transformación nos permitimos cambios graduales para adaptarnos a nuestro entorno.
Con este acercamiento mesurado y gradual también obtenemos la sabiduría de que no tenemos que cerrar todas las brechas. Nos permitimos seguir aprendiendo en las áreas que necesitamos y de forma gradual vamos construyendo nuestras propias habilidades.
También nos podemos dar cuenta que cerrar la brecha por completo es una ilusión. Mientras seamos personas vivas siempre habrá brechas, ya que surgen cosas nuevas cada día. Podemos escoger cómo de expertos podemos ser en cualquier tema que hayamos escogido aprender. Incluso podemos esforzarnos por aprender tanto como podamos, pero lo hacemos con una sensación de alegría en el proceso de aprendizaje, no por una necesidad perversa de tratar de recopilar la totalidad del conocimiento informático en nuestras cabezas.
También nos podemos dar cuenta, que cerrar la brecha por completo es una ilusión. Mientras seamos personas vivas siempre habrá brechas, ya que surgen cosas nuevas cada día. Podemos escoger cómo de expertos podemos ser en cualquier tema que hayamos escogido aprender. Incluso podemos esforzarnos por aprender tanto como podamos, pero lo hacemos con una sensación de alegría en el proceso de aprendizaje, no por una necesidad perversa de tratar de recopilar la totalidad del conocimiento informático en nuestras cabezas.
## El viaje es la recompensa