Las 11 fases de la carrera de un desarrollador Web (Ilustrado por Memes)
La carrera de un desarrollador web es muy interesante, con muchos altibajos. Considerando una curva de aprendizaje escarpada, donde se puede esperar plenamente vivir períodos de frustración, la iluminación, la justicia propia, y cada modo de pensar entre medio de los anteriores.
En este artículo, vamos a tener un poco de diversión, mediante la revisión de cada una de estas fases a través de la lente de un meme!
Fase 1 – Inocente.. Ignorante
Todos tenemos lindos recuerdos para los primeros días de nuestra carrera, el período en el que no tienes ni idea de lo que estás haciendo. Como un pez fuera del agua, cada nueva línea de código es un misterio. DOCTYPE? ¿Eh? ¿Qué carajo hace un <div>? La primer fase es de intimidación, miedo, pero emocionante. ¿Cuántos idiomas Dang hay?
Tal vez tu mayor ventaja, sin embargo, es que no tienes idea de qué tan profundo es el hoyo. Aprender HTML es el paso de bebé.
Fase 2 – Los primeros pasos
A pesar de que lleva un tiempo, finalmente vas a aprender lo suficiente para empezar a dar tus primeros pasos en el mundo de codificación. Mientras que la fase 1 es el período del gran «cómo / dónde empiezo», la Fase 2 es aquella en la que comienzas lentamente a construir tu conjunto de habilidades. Claro, la sintaxis para definir estilos con CSS todavía se siente incómoda, pero al menos eres capaz de hacer un cambio en tu editor de código recién instalado y verlo reflejado en un navegador web. Esa es una sensación maravillosa!
Fase 3 – Frustración total
Imagínate estar perdido en una cueva, enfocando tu linterna hacia abajo en cada túnel, como en la búsqueda de una salida. Con cada paso, tienes la esperanza de ver un rayito de luz. Por desgracia, la curva de aprendizaje en nuestra industria es muy pronunciada. Ese rayito de luz no vendrá por un largo tiempo, lamento decírtelo. Espera pasar cientos de horas en esta fase, la lectura de libros técnicos una, y otra, y otra vez, a medida que tratas desesperadamente de darle sentido a la locura!
Si la frustración se vuelve demasiado abrumadora, encuentra paz en el hecho de que cada uno de nosotros nos sentimos de esa exacta manera en un momento u otro en nuestras carreras. No estás solo. Sumérgete en este sentimiento, y, en poco tiempo, llegarás a la fase de aha!
Fase 4 – Los momentos de «Aha»
Un momento «aha» es uno de los sentimientos más grandes en el mundo: ese breve momento, cuando, de repente, lo «Captas» «Ohhhhh, ahora veo» Personalmente, he encontrado que penetraciones de código, ocurren tarde por la noche, cuando el resto del mundo está durmiendo. Después de la octava de lectura, lo que antes era borroso, es ahora al menos, un poco claro!
Esta es la fase en la que todas las tecnologías y los idiomas que has estado aprendiendo comienzan a hacer clic.
Fase 5 – Código frágil
Al igual que sus predecesores, la fase Frágil es larga. En este punto, tu estás construyendo con éxito aplicaciones que finalmente logran el resultado deseado, pero el código subyacente es frágil, tiene apenas las características necesarias para sobrevivir. En esta fase, tus métodos son decenas de líneas de largo, y el concepto de las pruebas aún no ha entrado en tu cerebro.
Pero por lo menos estás construyendo cosas! Por ahora, sin embargo, mantén tus consultas de GitHub limitadas a la documentación y a las correcciones de errores tipográficos. No subestimes lo útil que esto puede ser!
Fase 6 – Copión!
La fase de imitación es muy importante. No hay mejor manera de aprender las técnicas correctas de programación que espiar el código que escriben tus héroes – incluso hasta el punto de reproducir su código línea por línea. No te sientas mal, cada carrera artística tiene su fase de imitación! Por suerte, GitHub ha hecho esta forma de «envidia silenciosa» más fácil que nunca. Por supuesto, la copia sólo va a llegar hasta ahí, pero es un excelente comienzo! Imitar a las personas que te inspiran, y, con el tiempo, comenzarás a desarrollar tu propio estilo.
Fase 7 – Agrandado
En este punto, estás finalmente empezando a sintonizar la onda. Ciertamente hay gran margen de mejora, pero tu confianza está aumentando rápidamente – quizá demasiado rápido! Dicen que, en los primeros años, aún no sabes lo suficiente como para darte cuenta de lo poco que sabes!
Resiste la tentación de ser demasiado arrogante en esta etapa. Esto no beneficia a nadie, y sólo hará que en tu futuro, mucho más talentoso, mires hacia atrás y niegues con la cabeza de ti mismo. Cuando sientas la necesidad de dejar un comentario sarcástico «aprender a codificar, amiguito» en un GitHub, Reddit, o en un hilo de StackOverflow, no lo hagas. No fue hace mucho tiempo que tu, tu mismo, eras un pequeño inocente ignorante. Cadena de favores; no golpees a la gente. Estamos todos juntos en esto – sólo que en diferentes fases.
Fase 8 – Aprenda Vim
Si alguna vez has mirado por encima del hombro de un compañero desarrollador, y te encontraste a tí mismo sorprendido por la velocidad a la que maniobra en su editor de código, entonces, lo más probable, es que estaba utilizando Vim. A pesar de que viene con una curva de aprendizaje enorme, una vez que hayas llegado a la cima, el flujo de trabajo, también se verá como magia para los que te vean!
Esta es la fase cuando comienzas el aprovechamiento, no sólo de tus técnicas de codificación, sino también de tu flujo de trabajo. Las herramientas correctas son tan importante como la técnica que utilices. Dicho con otras palabras, la herramienta correcta hace la mitad del trabajo.
Fase 9 – Cuando el código se convierte en arte
A pesar de que lleva miles de horas, un día, verás tu código y la facilidad con la que te deslizas a través de la línea de comandos, y te darás cuenta de que no le falta arte. Tu código se encuentra bajo el control de versiones, bien resumido, perfectamente comprobable, escalable y fácil de leer. En un momento de tu carrera, puede ser que hayas sentido orgullo de ti mismo en tu capacidad de escribir código críptico, confuso, pero funcional. Aprovechar cada capricho posible del lenguaje o característica oculta no es un signo de un desarrollador maduro. Tampoco lo es la reducción de la lógica compleja a una sola línea, todo con el propósito de palmaditas a tí mismo por ser tan inteligente. En realidad, esto señala a un desarrollador agrandado, que no piensa sobre el futuro mantenimiento de su código.
El código se convierte en arte, cuando su legibilidad es sencillamente tan importante para ti, como la acción que éste realiza. En esta fase, se codifica para seres humanos, no para máquinas.
Fase 10 – Salado
Cuando el código se convierte en instinto, has llegado a la siguiente fase de tu carrera. Ya no piensas en términos de lenguaje o framework. En lugar de ello, sólo tienes que ver los problemas y elegir la herramienta correcta de tu caja de herramientas de codificación para proporcionar la solución. Un desarrollador experimentado entiende por qué rara vez hay que reinventar la rueda. Cada nueva característica se discute con todos los miembros del proyecto, las pizarras están preparadas, las historias se han escrito y se hacen pruebas… todo antes de escribir una sola línea de código de producción.
Te has convertido en un desarrollador reflexivo y maduro con los que otros quieren trabajar. Felicitaciones.
Fase 11 – Estrella de Rock
Pocos llegan a este nivel. La fase Estrella de Rock es la punta de la montaña. Además de tu trabajo del día, hablas regularmente en conferencias, servirás como líder detrás de un sinnúmero de proyectos de código abierto populares, y sin embargo, todavía encontrarás tiempo para participar y contribuir al futuro de la web a través de listas de correo, mientras que a la vez ayudar a los recién llegados en el IRC. Tú eres el tipo de persona que escribe compiladores y analizadores para la diversión.
Tú eres, lo que otros se refieren como estrella de rock o ninja, a pesar de que odias esas etiquetas. Tu sabes mejor que nadie cuánto más hay que aprender!