Sé un desarrollador sin morir en el intento: lo que he aprendido después de cuatro años trabajando como uno

Imprimir

El lunes pasado fue mi cuarto aniversario trabajando en Swapps como desarrollador de software. También fue mi aniversario de cuatro años trabajando como desarrollador de software. Antes de trabajar aquí en Swapps, tuve algunos trabajos menores en mi universidad pero ninguno relacionado con el desarrollo de software. Comencé a trabajar aquí el último mes de mi carrera, así que me formé como desarrollador durante mis años en esta empresa.

He tenido mucha suerte de poder trabajar aquí. En primer lugar, encontré excelentes mentores en Andres y Cristian. Ambos me enseñaron casi todo lo que sé sobre ser un desarrollador capaz y útil; Incluso ahora, después de todos estos años, sigo aprendiendo de ellos. Además, he podido trabajar con personas increíbles, demasiadas para mencionar pero saben quiénes son, que también han contribuido a mi crecimiento como desarrollador de software y como profesional.

Entonces, después de estos cuatro años, me gustaría compartir con usted, lector actual, algunos consejos que he encontrado que me han convertido en un mejor desarrollador. Es posible que haya leído algunos de ellos en otros lugares y algunos de ellos pueden ser nuevos para usted. No importa, lo importante aquí es que son meras opiniones y pueden no ser perfectas. Teniendo esto en cuenta, ¡comencemos!

1. Mantenga su propio ritmo

El mundo en desarrollo de software es enorme. Y quiero decir ENORME. Hay tantas opciones, tantos idiomas y bibliotecas que puede verse abrumado por todas las posibilidades que existen. Además, conocerá personas increíbles, personas que lo dejarán boquiabierto con todo lo que saben sobre software. Esto puede hacerlo sentir pequeño y desesperado por aprender todo de una vez. Pero, esa no es una muy buena idea, porque su proceso de aprendizaje puede verse afectado y su conocimiento puede estar incompleto. Tenga en cuenta que esas personas increíbles comenzaron como usted, aprendiendo una cosa a la vez. Además, recuerde que todos tienen diferentes ritmos de aprendizaje y diferentes habilidades. Siga aprendiendo, siga creciendo, pero siempre a su propio ritmo.

2. Construya sus bases

Una de las características de un buen desarrollador de software es ser como una navaja suiza: tener siempre la herramienta adecuada para el problema. Por esta razón, nosotros como desarrolladores necesitamos saber cómo usar varios idiomas, bibliotecas, infraestructura y otras herramientas que usamos a diario.

Sin embargo, es un problema común entre nosotros que sabemos qué está haciendo algo pero no cómo lo está haciendo. Esto puede conducir a graves problemas de rendimiento o seguridad solo porque usamos algo en el contexto incorrecto porque siempre ha funcionado en otros similares. No es necesario saber el código exacto que se está ejecutando, pero es necesario al menos tener una idea de lo que está haciendo su código debajo de la superficie y cómo el sistema entero se verá afectado por él. Durante estos años, ha habido innumerables ocasiones en las que me he enfrentado a grandes problemas que aparecieron después de hacer pequeñas modificaciones en un código aparentemente inofensivo. Yendo más allá, la respuesta era casi siempre la misma: ese código inofensivo estaba vinculado a un proceso subyacente muy grande que generaba un efecto dominó y mataba el sitio. Entonces, construya sus bases y asegúrese de qué está haciendo su código y cómo lo está haciendo.

3. RTFD

Este es muy común, así que seré breve: ¡lea la documentación! Es increíble cuántos problemas aparecen solo porque no leemos la documentación. Entonces, antes que nada: RTFD.

4. Aprenda a leer la documentación

Este es aún más importante que el anterior. No es suficiente leer la documentación. Necesita saber lo que está buscando, cómo interpretarlo y qué usar de todo lo que lee. Esto puede llevar tiempo, tiempo que quizás no tenga. Además, si es la primera vez que trabaja con el idioma o la biblioteca, puede ser confuso. Lamentablemente, esto es algo que aprende a hacer solo por experiencia. Sin embargo, hay algunas pautas que pueden serle útiles:

  • Empiece por el principio: lea la introducción, las instrucciones de instalación y la sección «empezar» si existen.
  • Chequee ejemplos: casi todas las documentaciones tienen ejemplos. Comience a trabajar con el más simple, comprenda cómo funciona y luego pase al siguiente, o a la documentación relacionada que se utilizó en el ejemplo.
  • Divida su problema y mire cómo resolver cada parte de él: generalmente necesita verificar la documentación para un problema o requisito específico. La cuestión es que nunca encontrará documentación explícita para ese problema; ninguna documentación tiene algo como «y para el problema que MasterHamster enfrenta hoy, esta es la solución». Sin embargo, puede encontrar documentación sobre algunos usos generales, como cambiar un color o conectar una señal después de la ejecución del código. Aprenda a usar estas secciones de la documentación para satisfacer sus necesidades.

5. Sea crítico con google, SO y otras fuentes

Como desarrollador, Google y stack overflow serán sus mejores amigos. Entenderán sus problemas cuando nadie más lo hará, le brindarán apoyo y le dirán «oye, no estás solo en este caso».

Sin embargo, están contando estas cosas a cientos de miles de desarrolladores al mismo tiempo así que no están concentrados en sus problemas o sus necesidades. Por esta razón, incluso si encuentra código útil en la web, debe ser lo suficientemente crítico para saber si funcionará, si no tendrá más consecuencias y si satisfará sus necesidades. Siempre asuma que este tipo de información es solo un punto de partida para comenzar a desarrollar su solución. Nunca se apegue a lo que encuentra en la web, hágalo suyo, entienda lo que realmente está haciendo e investigue qué está usando y por qué. Pregunte a otros desarrolladores de su equipo qué piensan al respecto y si tienen sugerencias.

Evite, lo más que pueda, convertirse en un «desarrollador de copiar y pegar». Al final del día, el código que copia pegado casi siempre se convertirá en un dolor de cabeza. Use el código de Internet solo como referencia y asegúrese de que solo confirma el código que entiende y domina. Finalmente, cuando use código de Internet, es una buena idea agregar el enlace de la fuente que usa en un comentario en su código, para tenerlo como referencia adicional.

6. Pida ayuda y aprenda a hacerlo

El desarrollo de código es casi siempre un trabajo en equipo. Por lo tanto, aprender a apoyarse en sus compañeros de equipo es importante. Además, es muy importante ser lo suficientemente humilde como para pedir ayuda: no tiene nada de malo y no debe sentirse avergonzado al hacerlo. Sin embargo, creo que debería haber una especie de reglas de etiqueta al pedir ayuda:

  • Asegúrese de intentar resolver el problema antes de pedir ayuda. Pruebe diferentes perspectivas, busque en Google, lea la documentación. Solo después de haber hecho estas cosas, pida ayuda.
  • Cuando solicite ayuda, brinde un buen contexto. Es grosero decir «oye, no está funcionando» o solo enviar el error que está tratando de resolver a alguien que está trabajando en algo diferente sin más contexto. Será confuso para su compañero de equipo. Es mucho mejor decir algo como «oye, estoy trabajando en esta función pero estoy enfrentando este problema. Ya probé estos pero ninguno funcionó ”. Le ahorrará a usted y a sus compañeros de equipo mucho tiempo y energía.
  • Cuando solicite ayuda, sea paciente. La persona a la que solicitó ayuda también puede estar ocupada o no estar disponible. Además, él/ella puede no tener todas las respuestas.
  • Siempre diga por favor y gracias, siempre.

7. Cuando enfrente un problema difícil, descanse para ganar perspectiva

Esto es algo que me pasa mucho: encuentro un problema, paso varias horas tratando de resolverlo sin éxito. Luego, termino mi jornada laboral, pienso en otras cosas, juego algunos videojuegos, etc. A la mañana siguiente, enfrento el problema nuevamente y lo resuelvo en menos de una hora.

Estoy seguro de que casi todos los desarrolladores han experimentado algo similar. Somos humanos, y los humanos se cansan, no solo física sino también mental y emocionalmente. La frustración producida por un problema genera enojo y confusión, y aumentan significativamente después de pasar horas sin encontrar una solución. Según mi experiencia, lo mejor que puede hacer aquí es descansar, evitar pensar en el problema, darse un poco de tiempo y enfrentarlo más tarde. Casi siempre, después de hacer esto, soy capaz de resolver el problema considerando nuevos enfoques que antes no podía pensar, ¡y se siente genial!

8. Trabaje en algunos proyectos personales

Cristian, el desarrollador líder de Swapps siempre tiene un proyecto personal en desarrollo. Todos tienen una característica: siempre usan algo muy diferente de lo que estamos acostumbrados y que él no sabe muy bien al principio. Es su forma de presentar al resto del equipo las nuevas tecnologías y lenguajes. Durante su desarrollo, aprende sobre el lenguaje y el framework que eligió usar y se convierte en un experto en él. Trabaja en ello en su tiempo libre, sin horarios, y casi siempre termina siendo un proyecto interno de Swapps o terminamos usando lo que aprendió en uno de los proyectos de nuestros clientes.

Utilizo este ejemplo para mostrarle cómo un proyecto personal puede ser la mejor excusa para aprender o mejorar su conocimiento de una manera relajada y divertida. Teniendo en cuenta que no tiene presión sobre los plazos o el éxito, tener un código de juego como este le permite verificar otras herramientas que nunca tuvo la oportunidad de usar, enfrentar desafíos diferentes a los que aparecen en su trabajo diario y aportar nuevas perspectivas al equipo de desarrollo.

Yo mismo hice algunos proyectos personales, algunos fracasaron, algunos murieron antes de convertirse en algo, pero todos fueron una oportunidad perfecta para aprender y crecer como profesional.

9. Sea parte activa de sus comunidades de desarrolladores locales

Tengo que admitir que no soy tan activo como me gustaría en mi comunidad local, pero he participado en varios eventos y reuniones y han sido increíbles. Primero, siempre encontrará desarrolladores asombrosos que pueden enseñarle algunos nuevos usos o nuevas tecnologías que no sabía que existían. Además, siempre aprenderá al menos una cosa útil en las conferencias y talleres que pueden organizar. Finalmente, postularse como orador para una reunión es una buena manera de desafiarse a sí mismo, mejorar lo que sabe e investigar más al respecto. Es una gran experiencia compartir sus conocimientos y hacer amigos.

10. No se olvide de usted y los suyos

Este puede ser un poco controvertido, pero yo defiendo firmemente: hay vida fuera del código.

La codificación es increíble, no me malinterpreten, pero, desde mi perspectiva, no lo es todo en la vida. No deje a su familia y sus amigos de lado solo para estar desarrollando. Vaya al cine, juegue videojuegos, haga ejercicio, cene con su familia y tome una copa con sus amigos y compañeros de equipo. Viaje, vaya a la playa o donde quiera ir de vacaciones. ¡Pida sus vacaciones! Es increíblemente triste que la gente no pida sus vacaciones. Obtenga un pasatiempo, aprenda a tocar un instrumento, lea un libro. Lo que quiera, pero haga algo más aparte del desarrollo. Como dije en el séptimo consejo, descansar es fundamental para un trabajo de desarrollador (y para cualquier trabajo, de hecho). Entonces, no se olvide de usted y de los suyos.

Estos años que he trabajado como desarrollador han sido geniales, realmente espero poder trabajar en este mundo por mucho más tiempo. Espero que estos consejos sean útiles para usted y su carrera. Si está comenzando como desarrollador y tiene dudas, dele una oportunidad; si le queda bien, estoy seguro de que se divertirá muchísimo. ¡Feliz codificación!