A los 26 años, acababa de graduarme de la universidad con un título en negocios. Aprendí algunos html y css muy básicos, pero eso fue todo. Eso fue en 2007, y durante los siguientes años trabajé en trabajos sin salida que nunca pagarían un ingreso decente.
Alrededor de los 29 años, me interesé más en la codificación y me pregunté si sería posible hacer un cambio de carrera. Estaba trabajando a tiempo completo y no tenía el dinero para ir a ninguno de los bootcamps de codificación que comenzaban a aparecer. Comencé a aprender por mi cuenta construyendo sitios web y leyendo libros. El primer proyecto que hice fue un sitio web creado con PHP que almacenaba información de la cafetería y la mostraba en una página web. Era un sitio web de aspecto terrible, pero fue una buena experiencia de aprendizaje. El progreso fue difícil; Pasaría una semana o dos a la vez y no haría nada, pero mientras estuviera atrapado en trabajos sin salida por un salario bajo, mi interés no iba a desaparecer.
Aprendí que construir mis propios proyectos es difícil por varias razones. Incluso para un sitio web relativamente simple como el que había creado, requería conocimientos de HTML y CSS para el front-end, y para el back-end, PHP y MySQL / SQL. Sin mencionar que tuve que aprender sobre el alojamiento y una variedad de otras cosas para que mi sitio en vivo en la web. Al ser un principiante, no sabía lo que no sabía, por lo que a menudo me frustraba tratar de descubrir cómo funcionaba todo.
Cada vez que le preguntaba a un programador qué debería hacer para aprender, siempre me decían que construyera proyectos como había estado haciendo. Pero hay una actividad diferente que me ayudó enormemente y que no oigo mencionar. Es decir, sitios de “desafío de código”, como codewars.com o codeeval.com. Proporcionan desafíos de código en todos los diferentes niveles de dificultad y una interfaz para resolverlos utilizando cualquiera de los lenguajes de programación populares. Esto es valioso por algunas razones. Le permite aprender un lenguaje de programación y realmente concentrarse en usarlo para resolver problemas de programación. Piense en el Karate Kid: “encerado, encerado”. Resolver desafíos de codificación lo obliga a aprender más profundamente sobre el uso real de los lenguajes de programación más allá de la sintaxis más básica. También son divertidos, y hay más recompensas a corto plazo, ya que puede resolver una en un período de tiempo mucho más corto, en lugar de golpearse la cabeza con el mismo problema durante semanas a la vez.
Además de aprender a codificar en casa, comencé a asistir a reuniones sobre programación. Quería conocer a otras personas para pedirles consejo, por lo que publicaría anuncios en Craigslist. Ocasionalmente encontraba personas que eran generosas y se reunían conmigo y me dejaban elegir sus cerebros. Un par de veces me invitaron a contribuir a sus proyectos, pero eso usualmente fracasó porque creo que olvidan que se necesita mucho trabajo para ser principiante con poca experiencia y sin educación formal en ciencias de la computación / programación. punto de poder contribuir incluso la cantidad más pequeña.
Mi primer “descanso” fue cuando fui a una reunión llamada “Hack The People”. Fue una reunión centrada en la tutoría en la comunidad tecnológica. Era el primero en Portland, y la persona que dirigía la reunión era de Seattle, ella estaba allí para iniciar la reunión y encontrar personas que serían los organizadores locales. Ella me pidió que organizara el capítulo de Portland, y así lo hice. La razón por la que considero que esto es un “descanso” fue por 3 razones.
1) Me mantuvo enfocado en mi objetivo. Organizar una reunión cada mes donde hablamos sobre nuestros proyectos de programación y carreras (muchas de las personas que se presentaron estaban en una posición similar a la mía en ese momento) realmente mantuvo la llama encendida para mí.
2) Organizar una reunión definitivamente estaba fuera de mi zona de confort, y me enseñó la importancia de ir allí regularmente.
3) Eventualmente pude obtener un trabajo a tiempo parcial desde mi casa con una compañía dirigida por Hack The People. Consideraría este mi segundo “descanso” en mi viaje de codificación. Todavía tenía que mantener mi trabajo a tiempo completo, pero a la luz de la luna como programador. Aprendí Python, Django, Git y otros fundamentos del mundo de la programación profesional.
Después de aproximadamente un año, sentí que estaba listo para pasar al siguiente nivel. Renuncié a ese cargo para tener tiempo de limpiar mi cartera y solicitar puestos de trabajo a tiempo completo. Fui a algunas entrevistas con diferentes compañías, y todas tenían algún tipo de ejercicio de programación, que me enviaban y me dejaban resolverlo en casa. Aquí es donde me di cuenta de cuánto valía la pena mi tiempo dedicado a los sitios web de desafío de código.
Terminé obteniendo mi primer puesto a tiempo completo como programador a la edad de 34 años. Entonces, para responder a su pregunta, no creo que sea demasiado tarde para convertirme en ingeniero de software a los 26 años. La demanda no va a desaparecer muy pronto .