
Estaba buscando cambiar de carrera. El mundo de hoy no es en absoluto el mismo en el que crecieron nuestros padres. En consecuencia, muchos de los consejos profesionales que me dieron mis padres simplemente ya no eran relevantes para el panorama que tenemos ahora.
Tenía una carrera en un campo que disfrutaba, pero en una industria que está muriendo. Parece que solo hay un pequeño puñado de industrias que están en auge hoy. Mis amigos que entraron en la industria del software parecen estar bastante contentos con sus profesiones. Si hubiera sabido entonces lo que sé ahora , habría comenzado este proceso hace 10 años. Quiero estar adonde se dirige el mundo, no adonde ha estado.
Estaba decidido a hacer que esto sucediera. Hacerlo significaba no posponerlo. Iba a comenzar de inmediato, de modo que en otros 10 años no miraría hacia atrás y diría "Ojalá hubiera comenzado con eso mucho antes".
Así que decidí codificar todos los días durante un año. Déjame contarte mi experiencia.
El principio
Comencé investigando un poco sobre cómo aprender a codificar. Encontré cosas como Codecademy y freeCodeCamp, recursos gratuitos para mojarme los pies. Había mucho que aprender e iba a ser un viaje largo que requería mucha disciplina. Pero, pensé, cuanto más trabajo le dedique ahora, más valdrá la pena más adelante.
Y luego descubrí un artículo que habla sobre este desafío llamado # 100DaysOfCode . Hay dos requisitos principales para completar el desafío:
- Codifique un mínimo de una hora todos los días durante 100 días consecutivos
- Tuitea tu progreso todos los días con el hashtag # 100DaysOfCode
Así que este es un sistema para darle estructura, dirección y responsabilidad pública para mantenerlo encaminado. Y me pareció una excelente manera de motivarme y mantener ese progreso.
Así comencé a twittear desde mi cuenta twitter.com/PolarisTLX todos los días, así como en un grupo de Facebook.

La idea era codificar todos los días, convirtiéndolo en un hábito. No podía permitirse ninguna excusa que normalmente haría al posponer algo. Esto "fuerza" avances significativos a lo largo del tiempo que, de otro modo, le tomaría mucho más tiempo lograr, o no alcanzaría en absoluto.
También hay beneficios adicionales. Dado que la codificación implica conceptos que se basan continuamente entre sí, si pasa varios días sin codificar, se pierde una buena cantidad de conocimiento.
Aparte de eso, el fundador de # 100DaysOfCode le da la bienvenida para que lo haga suyo. Entonces, para acelerar realmente mi aprendizaje y lograr un progreso importante hacia el logro de mi objetivo de conseguir ese trabajo de desarrollador, en realidad me dediqué a perseguir el desafío a tiempo completo, en lugar de solo una hora por día. Y después de eso alcancé esa marca mágica de 100 días.

Sin embargo, todavía no estaba listo para trabajar. Simplemente había mucho que necesitaba aprender. Pero estaba haciendo un gran progreso y estaba decidido a continuar hasta que finalmente obtuviera ese trabajo. Así que decidí continuar a 150, 200, 250 días ...

Principales logros
¡Y así llegué a los 365 días! Estas son algunas de las cosas más importantes que pude lograr codificando todos los días durante un año:
- Completó docenas de tutoriales, cursos y libros de codificación.
- Resolvió más de 100 algoritmos y desafíos de codificación de entrevistas.
- Obtuvo los certificados " Desarrollador de front-end" y " Proyectos de estructuras de datos y algoritmos JavaScript" de freeCodeCamp
- Participó en un hackathon de dos días, donde se seleccionó el proyecto para ser presentado a los miembros del directorio de la empresa. Luego decidieron llevarlo a la siguiente etapa de desarrollo.
- Fue aceptado en un programa de desarrollo de software a tiempo completo con una tasa de aceptación inferior al 1%.
- Contribuyó al plan de estudios ampliado beta de freeCodeCamp
- Escribió el contenido del curso para el nuevo plan de estudios Ruby del Proyecto Odin para ayudar a otros desarrolladores aspirantes a aprender a programar.
- Construí un clon funcional de Facebook, todo el back-end y el front-end completamente desde cero, y lo puse en vivo en Heroku como uno de mis proyectos destacados en mi cartera.
- Conseguí mi primer flujo regular de ingresos, trabajando para un cliente de forma remota, lo que me llevó a ser contratado de forma permanente.
Ese último punto, obtener un flujo regular de ingresos y ese puesto de tiempo completo , es el punto culminante y la culminación de todos mis logros anteriores que me llevaron a llegar a este punto. Pero esta no es una búsqueda que deba tomarse a la ligera.
No es un desafío fácil
Dejar mi trabajo anterior para perseguir mis objetivos significaba que tenía más tiempo, pero también significaba que tenía más en juego. Muchas personas entran en esto con grandes ambiciones y se fijan metas elevadas que no pueden alcanzar. Entonces, para muchas personas, lo mejor es ceñirse a la hora diaria recomendada.
Pero lo que he observado es que incluso con los criterios más básicos, la mayoría de las personas que intentan este desafío fracasan. Muchas personas comienzan # 100DaysOfCode con la aspiración de conseguir un trabajo como programador (literalmente, decenas de miles de personas de todo el mundo), pero pocas de ellas realmente logran su objetivo.
Y esto a pesar de la abundancia de recursos y guías de calidad, muchos de los cuales son incluso gratuitos . Es una simple realidad que la mayoría de las personas no alcanzan sus objetivos hasta el final. Fallan principalmente por falta de determinación y excusas.
Descubrí y me uní a muchos grupos llenos de personas que intentaban aprender a codificar. Algunos de ellos que encontré fueron:
- 30 días de JavaScript
- 30 días de reacción
- spin-offs como 180 días de código
- Grupos de canales de Slack que se dedicaron a trabajar juntos en un libro de codificación en particular con el objetivo de hacer un capítulo cada semana y discutir / comparar notas.
En cada uno de estos grupos, los participantes son activos, entusiastas y decididos a hacer lo que sea necesario para conseguir ese trabajo … durante la primera semana.
Luego, las excusas, los retrasos y las ausencias comienzan a llegar rápidamente. Las conversaciones se vuelven cada vez más silenciosas, las publicaciones y las actualizaciones se vuelven menos frecuentes. Estas nuevas mini-comunidades empezarían a rugir como una hoguera y luego se apagarían rápidamente hasta convertirse en una vela y se apagarían.

A menudo incluso salía de mi camino para intentar animar a otros a mantener el entusiasmo y el impulso. Me ofrecería ayudar a cualquier miembro que esté atascado en algo o necesite ayuda. Proporcionaría una explicación alternativa sobre un concepto con el que estaban luchando (incluso si no fuera administrador o líder de equipo).
De mis observaciones durante un año haciendo esto, estimo que de cada 10,000 personas que comienzan a aprender a codificar en línea en todo el mundo cada año, menos de 100 aguantan más de un par de meses.
Los que se rinden no van a alcanzar sus metas. Aquellos que estén decididos y sigan así serán los que consigan trabajo.
Entonces, ¿cómo lo hice y cómo puedes tú?
Hay varias cosas que puede hacer para mantenerse encaminado y alcanzar sus metas. Algunos de ellos se describen anteriormente e incluyen:
- darle a su progreso algo de estructura y responsabilidad con algo como # 100DaysOfCode
- establecer pequeñas metas incrementales y alcanzarlas en el camino
- programación en pareja
- encontrar grupos para unirse y aprender junto con
Y aunque estos grupos realmente no perduraron ni tuvieron éxito en su conjunto, aun así fue beneficioso para mí unirme. No iba a permitir que el bajo compromiso y las derrotas de otras personas a mi alrededor tuvieran un impacto en mi propia determinación de seguir progresando.
Lo mas importante que hice
Debe comprender que cuando tiene un objetivo ambicioso, como aprender a codificar, requerirá algunos sacrificios. Tienes que estar dispuesto a hacer eso.
Mi vida social a menudo pasaba a un segundo plano, al igual que mi tiempo de videojuegos, y no me mantenía al día con el último programa de Netflix. También hubo días en los que realmente no me apetecía, pero necesitaba hacer “algo” de progreso. Debe recordarse a sí mismo que se trata de una gratificación retrasada, haciendo sacrificios a corto plazo para obtener ganancias a largo plazo.

Otras cosas que me ayudaron
También utilicé WakaTime y Clockify para realizar un seguimiento de la cantidad de horas que dediqué a codificar cada día. Esto me dio un impulso adicional de aliento, ya que apuntaba a superar mi promedio diario o semanal. Incluso me clasifiqué muy alto en sus tablas de clasificación globales de forma regular.
También hay algo que decir por pagar por algo. Durante mucho tiempo, logré encontrar recursos que eran completamente gratuitos. Al principio, recomiendo encarecidamente ceñirse a los recursos gratuitos, al menos durante los primeros meses . Esto le dará la oportunidad de averiguar si realmente disfruta de estas cosas o si no es para usted. Si decide que no es para usted, o si lo disfruta pero no puede durar más de un par de meses, entonces no habrá perdido mucho más que tiempo.
Pero después de eso, descubrí que algunos recursos pagos son en realidad mejores que algunos de los gratuitos. Y, de hecho, gastar dinero en algo en sí mismo tiene un efecto motivador real en algunas personas que necesitan una motivación adicional. A menudo, es más probable que se tome algo en serio si ha pagado por ello.
Un descargo de responsabilidad
Soy honesto al reconocer que me perdí algunos días en ese período de tiempo. Pero siempre he sido sincero al respecto en mis publicaciones públicas. El fundador del desafío tiene esto que decir sobre ese tema:
“Puedes saltarte un día aquí y allá por situaciones no planificadas, pero no más… Puedes perder un día (pero luego compensarlo agregando un día más al final de los 100). El objetivo es ser coherente, sin importar lo que te depare la vida ". - Alexander Kallaway, creador de # 100DaysOfCodeEl progreso y el resultado es lo que realmente importa, y es el objetivo principal del ejercicio. Me pareció mucho más alentador reconocer los días perdidos y continuar, en lugar de reiniciar el contador cada vez. E iba a ser mucho más productivo en general si me tomaba días libres, siempre y cuando esto fuera solo en muy raras ocasiones, cuando realmente lo necesitaba.
Algunas de las lagunas incluyeron el cumpleaños número 60 de mi madre , un viaje de campamento de despedida de soltero y Navidad. De lo contrario, no hubo excusas. Codifiqué en Nochevieja y Año Nuevo. Codifiqué cuando estaba enfermoe incluso la mañana anterior a la cirugía y el día después de la cirugía. ?

Puedes ver los días que me perdí en mi página de perfil de GitHub: //github.com/PolarisTLX. Pero algunas lagunas representan el momento en que estaba en regiones remotas sin acceso a Internet y no podía enviar código a GitHub. Pero me propuse cargar un libro de codificación en una tableta que me aseguré de que estuviera completamente cargada antes de irme. (No es mi forma favorita de aprender código, pero puede ser bueno cambiar un poco el método de aprendizaje y probar un medio diferente de vez en cuando).

Finalmente, falta un grupo de días antes. Esto sucedió porque eliminé un repositorio de GitHub cuando me sentí frustrado con un conflicto de fusión, y simplemente decidí eliminar el repositorio y reemplazar los datos en uno nuevo. No me di cuenta de que borraría casi una semana de confirmaciones del registro. * volteo de mesa *
Mi resumen de progreso de 365 días
Entonces, en 365 días he progresado en los siguientes logros:
- aprender a usar un editor de código y crear páginas web estáticas simples
- creación de calculadoras funcionales y aplicaciones meteorológicas
- Creación de juegos de plataforma 2D interactivos sencillos
- sentirse cómodo con el desarrollo de pila completa con múltiples idiomas, marcos y sistemas operativos, y crear un sitio completo de redes sociales REST desde cero (donde los usuarios pueden registrarse con la contraseña elegida, publicar, dar me gusta y comentar, cargar sus propias fotos, crear eventos, enviar y aceptar solicitudes de amistad e invitaciones a eventos con otros usuarios, etc.)
- crear material de curso para ayudar a otros aspirantes a desarrolladores a aprender a programar.
He llegado a un punto en el que los posibles clientes y empleadores del sector tecnológico ahora me ven como un activo. Ahora me pagan por codificar, ya que puedo crear lo que quieren, resolver sus problemas y ofrecer un valor real. El trabajo está dando sus frutos y voy a seguir mejorando.
Espero que hayas disfrutado leyendo sobre mi viaje. Te recomiendo encarecidamente que pruebes el desafío # 100DaysOfCode. Si te gustó la publicación, aplaude. para correr la voz y motivar a otros.