Mis niños, el día de hoy, de hecho hace no más de 3 o 4 horas he puesto en producción una actualización a un sistema que se encarga de llevar entradas y salidas de estacionamientos.
Sin embargo, como cualquier desarrollador, hay veces que los nervios se apoderan de uno y me genera ese bonito sentimiento que llamamos ANSIEDAD y que desencadena aún más cosas y quisiera compartirlo con ustedes, amigos desarrolladores.
Según la bendita Wikipedia, la ansiedad es un mecanismo de defensa natural del organismo frente a estímulos externos o internos que son percibidos por el individuo como amenazantes o peligrosos. En mi específico caso, puede llegar a darme en la torre con insomnio (de hecho escribo este post para poder conciliar el sueño) y el síndrome del impostor.
¿Por qué llega a pasarte eso?
Pues bien, primeramente el que todo te reviente en las manos en un modelo de negocio bastante complejo o en donde el trabajo de reingeniería, refactoring, planeación y demás ha sido extremadamente laborioso es algo que me causa pavor, puesto en algunas ocasiones en lo primero que pienso es:
"Ya valió ma, me van a correr/quitar el proyecto"
Si algo puedo decirte, es que en la mayoría de las ocasiones no será así. No es por querer decir que uno sea indispensable en el mismo, pero si ya llevas un tiempo considerable en el mismo, pues quiere decir que tu trabajo es el que ha hablado y con creces e inclusive te empiezas a hacer más prestigio en la empresa para la que trabajas (como empleado o freelance), sin embargo es ahí en donde entra el otro peor amigo: el síndrome del impostor.
¡Valgo versia otra vez!: ¿Qué es el síndrome del impostor?
Igualmente, según Wikipedia, el síndrome del impostor es un fenómeno psicológico en el que la gente se siente incapaz de internalizar sus logros y sufre un miedo persistente de ser descubierto como un fraude. Un ejemplo de cómo llega a manifestarse es el constante miedo a que un proceso que hiciste llegue a tener bugs o que lleguen a refactorizar tu código.
Te lo digo como experiencia, en algunas ocasiones cuando un proceso me llega a salir mal, hay veces que me pasa por la cabeza la clásica frase ¿y si mejor me dedico a otra cosa? o también al ver el progreso de colegas más experimentados el decir jamás voy a llegar a ser como ellos, no creo ser tan senior, cuando es de que en Github he podido hacer algoritmos bastante perrones e inclusive apps completas.
Al final del día, termina pasando ese sentimiento y volvemos otra vez al mundo de la tecla como si nada.
¿Cómo puedo mejorar y combatir a esa pareja malévola?
Si me animé a escribir esto, es precisamente para ayudar a quien lo desee y pues igualmente, en mi experiencia dividamos en dos el cómo mejorar estos aspectos: las habilidades blandas y las habilidades duras.
Habilidades Blandas
En tus habilidades blandas te recomiendo lo siguiente:
Trabaja en equipo: siempre asesórate con colegas o con cualquier persona que se encuentre en tu entorno. Si estás solo (comunmente con los freelancers), acude a cualquier comunidad de desarrolladores de software. En México hay varias y una de las que recomiendo es PHPMX (no solo se habla de PHP y siempre vas a encontrar a alguien que te ayude).
Platica tus problemas con gente de tu confianza: en quien tú confíes, platica estos malestares. Platica siempre cuando te sientas ansioso, cuando sientas que no van las cosas bien y aunque no sea del ramo, te desahogarás y podrás dejar atrás eso.
Manda a la chin**** a quienes hagan menos tu trabajo: No precisamente con groserías. Encuentra la manera de ser polite y dale la vuelta a sus estupideces. En cuanto demuestres tu valía, creeme que el silencio es más ensordecedor que una mentada de madre.
No sobrepienses las cosas: Si llega a suceder algo, encuentra la solución y ya. No te concentres en lo que va a suceder después. Recuerda siempre que todo en la vida tiene solución, menos la muerte y un DELETE sin WHERE y sin respaldo
Habilidades duras
Ya en la parte de software engineering te puedo sugerir:
Haz pruebas: PRUEBA, PRUEBA, PRUEBA antes de hacer deployment a producción. Igualmente entrena todo lo referente a Unit Testing, E2E Testing, Integration Testing, etc.
Crea un plan de contingencia técnica: No dejes todo a la suerte. Siempre ten todo respaldado y procura que puedas tener un punto de rollback por si el servicio llega a caerse. Eso es primordial.
Monitorea: Ya que hayas puesto en producción, mantente al pendiente del desarrollo y ya si ves que todo está corriendo como debe de, ve por una cerveza (o algo de tu agrado) y disfruta.
Un consejo de pilón (pero muy importante)
Finalmente y como un consejo especial, siempre pide a tu empleador o cliente autorización para que puedas poner tu participación en ese desarrollo dentro de tu portafolio. Al final del día, es lo que va a quedar para la posteridad.
Si lo sacan de línea, POPOCATÉPETL. Nada es eterno y en algún momento un sistema tiene que morir. Solo guarda testigos del mismo para posteriores referencias (claro, si te dan la autorización).
Pues bien, ya me está entrando el sueño y pues quiero echarme una siesta, pues este domingo me va a tocar monitorear esta bonita actualización.
Happy coding!
Top comments (1)
Gracias por compartir tus experiencias y punto de vista! Éxitos en futuros despliegues 😁