5 maneras en que una academia de codificación te enseña a ser programador

Foto de Clément H en Unsplash

Antecedentes

Mi nombre es Nick Coultas y actualmente vivo en Reno, Nevada. Aquí hay una comunidad muy pequeña en lo que respecta a programadores / desarrolladores. Pronto me di cuenta de esto cuando comencé a asistir a mi Community College local en busca de mis Asociados en Ciencias, dirigiéndome a la Universidad local de Ciencias de la Computación / Programación. Fue durante este tiempo que me encontré con la Escuela Lambda, una Academia de tiempo completo de 6 meses para Ciencias de la Computación / Desarrollo Web. Cuanto más lo miraba, más me emocionaba, y el momento era perfecto. Inicialmente estaba nervioso, asustado, definitivamente abrumado. Sin embargo, después de completar más de 70 proyectos sin incluir un Proyecto Capstone al final, he adquirido mucho conocimiento sobre cómo ser un programador profesional. No solo he aprendido; nuevos lenguajes de codificación y sintaxis, también he aprendido las verdaderas habilidades blandas y la fuerza necesaria para convertirse en un desarrollador profesional.

1. Cómo pensar como un desarrollador

Después de escribir este encabezado, le pregunté a mi esposa: si leía solo el encabezado, ¿qué pensaría? Su respuesta fue: "Cómo ser una computadora inteligente / Código de aprendizaje". Estoy seguro de que este sería el pensamiento inicial de la mayoría de las personas que leen esto, pero hay mucho más para pensar como un desarrollador que solo aprender el código. Como desarrollador / programador, está constantemente resolviendo problemas, pensando en formas creativas de llegar a una solución, utilizando problemas previamente resueltos como una guía de cosas a evitar al crear un nuevo proyecto. Divide cualquier problema en partes y resuelve cada sección a la vez, lo que finalmente lo lleva a la respuesta del problema general. Aprendí esto muy rápido en Lambda School, especialmente al saltar al código / proyectos con los que no estaba familiarizado. Pude usar la información que retuve de las conferencias y prácticas para dividir el problema en pedazos. Trabajaría cada pieza individualmente hasta que la respuesta general se aclarara. Con esta nueva forma de aprender y abordar los problemas, si alguna vez me encuentro con algo similar después, sabía cómo solucionarlo en ese mismo momento.

Otra gran parte que entra en juego cuando se piensa como un desarrollador es la planificación. Ya sea que esté usando un tablero de Trello para planificar cada paso en una lista de verificación, o usando un marco de alambre como base visual de cómo debería funcionar / funcionar el proyecto, siempre está planeando su próximo plan de ataque. También está calificando cada paso en una escala de importancia sobre si debe completarse e implementarse lo antes posible o si es una característica que se puede proporcionar más adelante.

2. Programación en pareja / trabajo en equipo.

Inicialmente, cuando se me acercó el concepto de Programación por parejas, realmente me puse nervioso, especialmente en un entorno de tipo intenso e inmersivo. Las personas provienen de todo tipo de orígenes diferentes en la Escuela Lambda, incluidos aquellos con conocimientos previos de escritura de código. No quería sonar "poco inteligente" porque otros pueden saber más que yo, y no quería parecer un perjuicio para mi (s) compañero (s). La comunicación con mi (s) compañero (s), averiguar si sabían más que yo o si yo sabía más que ellos, me ayudó a aprender cómo emparejar el programa de manera efectiva y trabajar en un equipo de manera efectiva. A lo largo de este proceso aprendí a comunicarme de la manera más eficiente posible, haciendo preguntas o sugiriendo ideas para mejorar un proyecto. Esto también me ha ayudado a poder explicar mi proceso de pensamiento mientras escribo código. También me ayudó a explicar por qué podría haber elegido hacer algo sobre otro, especialmente cuando soy el navegador y mi compañero el conductor.

Lambda School es un programa en línea, por lo que todos en el programa trabajan de forma remota. Mientras emparejamos la programación y trabajamos en proyectos Capstone, no podíamos simplemente acercarnos al escritorio a nuestro lado y hacer preguntas. Confiamos en Zoom como nuestra principal plataforma de llamadas / uso compartido de pantalla y así es como nos comunicamos constantemente, así como la mensajería en Slack. Este proceso definitivamente me ha demostrado la importancia de poder comunicarme con su (s) pareja (s).

3. Persistencia, consistencia y grano

Trabajando hacia su camino para convertirse en un Desarrollador / Programador profesional, las habilidades de ser persistente y consistente, además de ser valiente, juegan un papel muy importante. Siempre debe concentrarse en la tarea en cuestión y saber que siempre hay una manera de encontrar una solución. Ser consistente con su código es clave. Debe estar constantemente al tanto de los nuevos idiomas, marcos y actualizaciones. Nunca ha "terminado" de trabajar en un proyecto, siempre hay cosas que puede volver y actualizar para mejorar el proyecto o la aplicación. Tener agallas también va junto con ser persistente, puede haber ocasiones en las que quieras golpear tu cara con tu teclado, tratando de encontrar una solución. En esos momentos particulares, necesita mantenerse motivado con la tarea en cuestión y continuar resolviendo el problema que enfrenta.

En Lambda School, estas cosas no se enseñaron directamente, estas son habilidades blandas que perfecciona y aprende a desarrollar con el tiempo. Como desarrollador / programador, estás constantemente saltando a un código con el que quizás no estés familiarizado, o incluso comiences un proyecto completamente nuevo desde cero con una tecnología que es completamente nueva para ti. Debes ser persistente para descubrir cómo funciona el código y cómo usar un lenguaje o marco que nunca antes te hayan presentado. Esto puede incluir ejecutar el código paso a paso para ver qué está haciendo o leer los documentos de un lenguaje o marco completamente nuevo. Si se enfrenta a un problema, también debe ser persistente para encontrar la solución, ya sea volver a rastrear sus pasos, consolar, registrar su código o investigar el problema en cuestión. También debe ser coherente, escribir tanto código como pueda a diario, continuar con los nuevos marcos / lenguajes y continuar expandiendo los proyectos existentes cuando sea necesario.

4. Superando obstáculos

Como dije anteriormente, vas a tener esos momentos frustrantes donde parece que no hay solución para tu problema. Te enfrentarás a esos momentos de tener el Síndrome Impostor, sintiendo que no puedes hacer la tarea en cuestión. Después de poner en práctica mis habilidades blandas recién descubiertas, me di cuenta de que florecía cuando me ponían en estas situaciones. Me lleva a trabajar más duro y estoy seguro de que ese es el caso para muchos de ustedes que leen esto.

La escuela Lambda me ha enseñado que puedo hacer lo que me propongo. Cuando nos enfrentamos a un problema u obstáculo dentro de la Escuela Lambda, ya sea que se tratara de un problema de código o un error para resolver, siempre teníamos orientación, pero nunca recibíamos la respuesta. Tuvimos que seguir trabajando hasta que llegamos a las soluciones nosotros mismos. Esto es lo mejor porque me ha ayudado personalmente a darme cuenta de lo que soy capaz. Puedo encontrar una respuesta ya sea a través de más investigaciones, hablando en voz alta de mis pasos para mí (o para mi esposa) o volviendo a rastrear mis pasos anteriores. No puedo decirte cuántas veces le he explicado un problema a mi esposa (que no sabe nada de programación) solo para que se apague la bombilla de mi cabeza y se detenga a mitad de camino porque encontré una respuesta.

La sensación que tienes al superar un obstáculo es como ganar la lotería. También es una de las mejores formas (en mi opinión) de aprender, porque no solo aumenta su confianza, sino que le permite ver el crecimiento que ha logrado.

Foto de Joshua Earle en Unsplash

5. Crecimiento personal y profesional

He tocado el crecimiento personal en la Escuela Lambda anteriormente, pero hay mucho más de lo que puedo incluir en un artículo. Desarrollé nuevos rasgos exitosos, superé obstáculos y me comuniqué / emparejé programado con mi (s) compañero (s). También tuve un gran crecimiento profesional también. Tengo 21 años comenzando mi carrera, y me di cuenta de que las conexiones son enormes. No solo cuando se trata de ser un desarrollador / programador profesional, sino también en la vida y en general. He creado algunas conexiones increíbles no solo a través de instructores y personal, sino también con mis compañeros. Tampoco se detiene allí, he seguido conectándome y aprendiendo cómo construir conexiones con personas que son Desarrolladores Profesionales de todos los ámbitos de la vida.

Aprendí a dar mi opinión profesional sobre proyectos y a explicar mi punto de vista en profundidad. Ahora puedo explicar mi proceso de pensamiento y la razón por la cual mi (s) compañero (s) y yo elegimos un cierto paquete tecnológico para un proyecto de equipo. Puedo comunicarme con mis compañeros al comenzar un proyecto y deliberar sobre cuáles serían los mejores pasos para obtener el mejor resultado. La resolución de problemas cuando la codificación es enorme, y soy capaz de resolver problemas de manera efectiva con los socios o un equipo para llegar a la mejor solución.

Estas son todas las cosas que puedo llevar conmigo en mi futuro trabajo como Desarrollador / Ingeniero de Software Profesional.

¡Gracias a todos por tomarse el tiempo de su día para leer esto!