Cómo pasé de novato a Ingeniero de Software en 9 meses mientras trabajaba a tiempo completo

publicado en: Articles | 0

en este post, compartiré cómo pasé de cero (ish) a una oferta de trabajo de ingeniería de software de seis cifras en nueve meses mientras trabajaba a tiempo completo y era autodidacta.

cada vez que empezaba a leer una historia de éxito, inmediatamente buscaba encontrar los antecedentes del autor, esperando que coincidieran con los míos. Nunca encontré a alguien que tuviera los mismos antecedentes que yo, y lo más probable es que el mío no coincida exactamente con el tuyo.,

sin embargo, espero que mi historia inspire a otros y actúe como un punto de datos valioso que se pueda agregar a su conjunto de datos de historias de éxito.

divulgación completa

tomé un curso de Visual Basic para aplicaciones (VBA) en la escuela secundaria (hace nueve años). En mi curso de ingeniería de primer año (hace siete años), aprendí algo de C, Python, Matlab y Labview. Me gradué de una buena universidad con un título de ingeniería química y un buen GPA (hace tres años). No había hecho ninguna programación fuera de la escuela, en la escuela secundaria o la universidad, hasta que decidí que quería aprender el año pasado.,

después de la Universidad, conseguí un trabajo como ingeniero de procesos en una refinería. Trabajé allí hasta que cambié mi carrera en Ingeniería de Software.

por qué quería cambiar de carrera

disfruté resolviendo problemas técnicos, pero sabía que quería entrar en el mundo de los negocios / startups en algún momento. Siempre tuve la idea de un MBA en el fondo de mi mente, pero cada vez que miraba el precio de las mejores escuelas, mi interés disminuía.

el 27 de mayo de 2017 me encontré buscando en Google Acerca de los MBA de nuevo, y de alguna manera me topé con la ingeniería de software. Parecía un ajuste perfecto.,

Los ingenieros de Software tienen una demanda creciente, los salarios son excelentes y es la industria perfecta para entrar en el mundo de las startups sin necesidad de una tonelada de capital inicial. Todo lo que necesita es una computadora, y sus oportunidades son ilimitadas (más o menos).

en ninguna otra disciplina de ingeniería puedes simplemente tener una idea, comenzar a construirla, mostrarla a los usuarios e iterar con poco capital y baja barrera de entrada. En Ingeniería Química, esencialmente necesita una planta en funcionamiento o mucho dinero para diseñar una planta si tiene una idea para un nuevo producto.,

había oído hablar de personas que renunciaban a sus trabajos y asistían a un bootcamp, pero cuanto más lo leí en línea, más me di cuenta de que puedes aprenderlo todo por tu cuenta si estás comprometido y enfocado.

usted podría argumentar que usted está perdiendo en el networking y asesoramiento profesional proporcionado por un bootcamp. Esto puede ser cierto, pero tuve la suerte de vivir en el área de la Bahía, lo que me permitió asistir a varios encuentros, así que me conecté de esa manera.

Además, el peor de los casos era que me daba cuenta de que no podía hacerlo por mi cuenta, y luego renunciaba a mi trabajo para asistir a un bootcamp.,

La Meta

Fotografía por Robert Baker en Unsplash

debes tener un objetivo. Especialmente si está tratando de aprender mientras trabaja a tiempo completo. Es fácil dejar que su aprendizaje arrastrar y si usted no tiene ninguna presión externa de empujar. Así que necesitas crear presión interna. Su objetivo debe ser simple y cuantitativo. Usted debe hacer suficiente investigación para llegar a una meta razonable., El mío fue el siguiente:

obtener un trabajo de ingeniería de software dentro de un año con el mismo o mejor salario que estoy ganando en este momento.

El Plan

foto de Glenn Carstens-Peters en Unsplash

Una vez que tenga un objetivo, necesita un plan para ayudarlo a llegar allí. Aquí es donde consumes tantas historias de éxito como puedas. Ninguno de ellos coincidirá con su situación exacta, pero puede tomar algunos consejos de cada uno., Desarrollé (e iteré) mi plan usando recursos como el subreddit de learnprogramming, el foro freeCodeCamp y Medium.

el 27 de mayo de 2017 decidí que iba a hacer el salto de codificación, y me zambullí de cabeza. Ese día decidí comenzar a poner no más de 40 horas por semana en mi trabajo, para que tuviera tiempo para programar después del trabajo y los fines de semana. Por suerte para ti, hice un buen trabajo documentando mi progreso.,

mi plan, a través de muchas iteraciones, terminó pareciendo algo como esto:

  1. Tomar Una Introducción al curso de CS para obtener una base sólida de comprensión de los conceptos básicos de CS
  2. seguir freeCodeCamp hasta que pueda construir aplicaciones web de pila completa a nivel de cartera por mi cuenta
  3. Refactor para limpiar el código, agregar pruebas, centrarse en conceptos avanzados
  4. Contribuir al código abierto
  5. prepararse para entrevistas de trabajo

para empezar, mi plan era simple., En ese momento, pensé que iba a seguir la Guía Técnica de Google, así que comencé con su curso introductorio recomendado, Udacity CS101.

Mes 0 – Udacity CS101, Harvard CS50

El alto de tomar esta gran decisión me dio un montón de energía. Empezaba a programar tan pronto como llegaba a casa del trabajo y no paraba hasta que me iba a la cama. Y otra vez todo el fin de semana. Udacity CS101 rastreó el porcentaje de finalización, lo que fue un gran motivador para mí. Registré mi porcentaje de finalización todos los días después de la codificación. Terminé el primer 75% en 10 días., El último 25% fue pesado en recursión, y fue un poco más difícil para mí. Con todo, me llevó 20 días terminar Udacity CS101.

mientras tomaba Udacity CS101, había empezado a leer el subreddit de learnprogramming bastante fuertemente. Leí que era importante para los desarrolladores autodidactas que buscan hacer un cambio de Carrera ser activos en línea. Decidí hacer nuevas cuentas de Twitter, Reddit, Stack Overflow, Medium y Quora usando mi nombre completo, para poder construir una presencia en línea.,Instagram Facebook, y subreddits que no son de programación también decidí dejar de leer medios que distraen como Instagram, Facebook y subreddits que no son de programación. Solo revisaría mi teléfono para noticias y publicaciones relacionadas con la programación. Esto fue crucial para asegurarme de que estaba descubriendo los mejores caminos de aprendizaje y recursos de aprendizaje. Fue por esto que me enteré de Harvard CS50 en edX.

originalmente estaba contento con solo hacer un curso de introducción, pero todo el mundo parecía recomendar Harvard CS50, así que decidí sumergirme en eso a continuación., Los estudiantes de CS En otras escuelas habían tomado este curso y dijeron que aprendieron más en CS50 que un año o dos en su universidad estudiando CS. El consenso general fue que el curso era difícil pero valía la pena. Al final del mes 0, había completado las primeras 5 conferencias y tareas.

mes 1-Harvard CS50, Linux, 1st Meetup, freeCodeCamp

completé CS50 aproximadamente a mitad de mes. No voy a comentar demasiado sobre mi experiencia con CS50, porque escribí un post en profundidad sobre mi experiencia aquí.

TLDR: es un gran curso, lo recomiendo encarecidamente., David Malan es un excelente profesor, y hay un montón de recursos para ayudarte a superarlo. Comienza en C, pasa a Python y luego termina con el desarrollo web. Es muy denso, y hay mucho material, pero creo que vale la pena.

después de CS50, decidí configurar mi XPS 15 Para Windows de arranque dual y Ubuntu. Fue un fin de semana frustrante. Arruiné mis particiones y casi Tapié mi portátil. Estaba cerca de tirar mi portátil y conseguir uno nuevo.

poco a poco me desteté de Windows y, finalmente, estaba utilizando únicamente Ubuntu., Quería forzarme a sentirme cómodo con la línea de comandos que creo que funcionó hasta cierto punto, pero todavía tengo un largo camino por recorrer.

comencé 100 días de código para asegurarme de mantenerme enfocado y codificado todos los días. Es importante documentar su progreso. Si está progresando todos los días, no parecerá mucho, pero cuando mire hacia atrás un mes o varios meses, se dará cuenta de que en realidad ha hecho un poco de progreso que lo motiva a seguir adelante.

sabía que el networking me haría o me rompería, así que reuní el coraje para ir a mi primer encuentro de programación., Nunca había ido a ningún meetup y mucho menos a un Meetup de codificación. Estaba tan nervioso que después de conducir hasta allí, estacionar y caminar hacia la puerta, casi me di la vuelta y me fui a casa.

ayudó que fuera el primer meetup para el grupo. Rápidamente me di cuenta de que no había razón para estar nervioso. Nadie se conocía, nadie juzgaba, y todos estaban ansiosos por aprender. Este fue el comienzo de una juerga de reuniones. Terminé asistiendo a más de 50 reuniones en 9 meses.

Me alegro de haber empezado a ir a los meetups temprano., La mayoría de las personas solo comenzaron a asistir a las reuniones cuando estaban buscando un trabajo, pero en ese momento es casi demasiado tarde. Hay muchas razones para empezar temprano. Por nombrar algunos:

  1. desarrollar relaciones lleva mucho tiempo. Comenzar temprano significa que tiene conexiones que pueden responder por usted cuando busque un trabajo más tarde
  2. hablar de programación con extraños es una excelente manera de prepararse para las entrevistas
  3. Puede aprender nuevos marcos, herramientas y recursos de aprendizaje de personas que están por delante de usted. Esto puede influir en su futuro plan de aprendizaje.,

había cierta incertidumbre en este momento en mi viaje de codificación. Esto fue cuando necesitaba decidir qué tipo de desarrollador de software quería ser.

en última instancia, elegí el desarrollo web porque parecía que había una gran demanda y también una gran cantidad de recursos en línea. Una vez que lo había averiguado, necesitaba averiguar qué hacer a continuación. Algunas personas recomendaron que en esta etapa debería pensar en las aplicaciones web que quería construir y luego ponerme en marcha. Algunas personas recomendaron el proyecto Odin o freeCodeCamp.,

el tipo que dirigía el meetup semanal al que asistía conocía a Ruby y quería hacer proyectos con Ruby. Esta fue una gran razón por la que tomé la decisión de apostar todo en el proyecto Odin.

y dos días más tarde abandoné esa idea.

esa es una de las desventajas de ir por la ruta autodidacta. Un minuto piensas que sabes qué camino debes tomar, pero al día siguiente te preguntas si ese fue el movimiento correcto.

leí que Ruby estaba cayendo en desgracia, y lo demostré buscando Ruby vs JavaScript jobs, así que terminé iniciando freeCodeCamp., Lo único que me molestó de freeCodeCamp fue que se les ocurrieron las ideas del proyecto, por lo que cada campista hace los mismos proyectos. Esto me preocupó al principio porque quería destacar entre los reclutadores. Sin embargo, terminé amando freeCodeCamp, y ahora lo recomiendo encarecidamente. Para más detalles sobre mi experiencia y recomendaciones sobre freeCodeCamp, echa un vistazo a mi valoración crítica aquí.

mes 2-ydkjs, freeCodeCamp Front End, React

empecé a leer no sabes JavaScript, porque todo el mundo lo recomendó para complementar freeCodeCamp., Tuve que volver a leer varias secciones, ya que es bastante denso, pero es un recurso perfecto para aprender el alcance léxico, cierres, promesas y todas las partes de JavaScript que escuchas y quieres aprender, pero nunca lo haces porque parecen difíciles.

terminé la sección front-end de freeCodeCamp. El formato de la lista de verificación y el tiempo estimado de finalización me motivaron a terminar rápidamente. También tenía ganas de pasar a la siguiente sección y aprender a reaccionar. Sin embargo, esto también significaba que mis proyectos tenían un estilo mínimo. Hice lo que fuera necesario para cumplir con las historias de usuario y nada más.,

en retrospectiva, tal vez debería haberme centrado en hacer los proyectos más atractivos. Tal vez, esto me habría ayudado a aprender CSS más profundamente.

el siguiente paso fue aprender React, y estaba bastante emocionado.

había oído mucho sobre él, y estaba listo para encajar con los niños geniales. Sin embargo, estaba un poco indeciso dados los problemas de licencia en ese momento. Estoy muy contento de que ya no sea un problema. Aprender React fue difícil para mí. No estaba al tanto de ningún buen tutorial entonces (pero parece que hay un montón ahora).,

intenté leer los documentos y seguir junto con el tutorial Tic-Tac-Toe de Facebook,pero no lo entendí todo. Me dijeron que si eso no estaba funcionando para mí, entonces significaba que no entendía JavaScript lo suficiente. Así que volví a leer no sabes JavaScript, pero de nuevo eso era demasiado denso para mí.

mes 3 – Freecodecamp React, CodeClub, comenzando Freecodecamp Back End

finalmente, decidí que trabajaría mi camino a través de los proyectos de Freecodecamp React para ver cómo fue. Ese código era feo, pero me ayudó a entender reaccionar un poco mejor.,

que meetup había estado asistiendo semanalmente decidió que iban a construir proyectos con full stack JavaScript en lugar de Ruby, y decidieron que el primer proyecto sería construir un sitio web para el grupo Meetup, CodeClub.Social.

desarrollé tarjetas utilizando React y Meetup API que permiten al usuario registrarse para los siguientes tres meetups desde nuestro sitio web. Fue un poco difícil para mí tomar un descanso rápido de freeCodeCamp para hacer esto, pero fue una oportunidad que no podía dejar pasar. Estaba feliz de estar trabajando en un proyecto con un pequeño grupo de personas., También me ayudó a aprender Git y Github.

antes de que terminara el mes, empecé a trabajar en la sección back-end de freeCodeCamp.

mes 4 – finalizado el Back-End de freeCodeCamp, Yeggle

trabajé a través de todos los proyectos API en freeCodeCamp, pero comencé a desviarme de freeCodeCamp en el proyecto de capa de abstracción de búsqueda de imágenes.

tenía ganas de hacer aplicaciones Web full stack, así que tan pronto como vi el título de este proyecto, tuve una idea para mi propio proyecto., Haría una aplicación de nodo que almacenaría URL Imgur aleatorias en una base de datos, y luego haría un front end que generaría un número especificado por el usuario de esas imágenes aleatorias. Lo que todos dicen es verdad: trabajas más duro y tienes más éxito cuando estás trabajando en un proyecto que fue tu propia idea.

una vez que llegué a trabajar, estaba muy orgulloso de mí mismo. Era feo y torpe, pero funcionó.

mientras trabajaba a través de freeCodeCamp, estaba aprendiendo sobre qué proyectos estarían dentro de mis capacidades., Corría regularmente en ese momento, así que se me ocurrían ideas sobre mis carreras y las anotaba cuando llegaba a casa. De esa manera tendría una lista de ideas de proyectos cuando estuviera listo.

finalmente me sentí listo para comenzar a hacer mis propias aplicaciones web útiles y pulidas para compartir con los usuarios y poner en mi cartera. Estaba tan lista para empezar.

cuando buscaba un nuevo restaurante, siempre me encontraba abriendo yelp para ver las opiniones, y luego abriendo mapas para ver sus opiniones. ¿Qué pasa si hice una aplicación que compara ambos lado a lado?

así que hice Yeggle., Usé Node / Express / React junto con las API de Google Maps y Yelp. Hubo un par de obstáculos que no pensé que sería capaz de superar, pero al final terminé y estaba muy orgulloso de mi aplicación. Luego lo publiqué en Reddit, y a nadie le importaba. Eso fue un poco molesto, pero no dejé que me deprimiera.

mes 5-StockIT

no hice tanto este mes, ya que comencé con unas vacaciones de dos semanas en Japón y Tailandia!

pero empecé y completé mi siguiente proyecto., Seguí leyendo sobre lo difícil que era conseguir un trabajo como desarrollador autodidacta, así que pensé que necesitaba hacer algo único. Recordé un juego donde un gráfico de acciones de Dow Jones comenzó a ser tendencia, y tenías una oportunidad de comprar y una oportunidad de vender, y el objetivo era vencer al mercado. El propósito del juego era mostrarte lo difícil que era vencer al mercado.

Mi idea era hacer un juego similar a eso, pero en lugar del mercado, estarías jugando contra un algoritmo de aprendizaje automático. Así que creé StockIT.,

tomé un video tutorial sobre Pandas y Scikit Learn que cubría múltiples técnicas de aprendizaje automático. Originalmente quería hacer algunas técnicas de aprendizaje profundo interesantes, pero me di cuenta de que me llevó conjuntos de datos masivos y más tiempo del que quería gastar.

en su lugar, me pegué a un modelo de regresión lineal simple. Pensé que sería la parte difícil, pero no lo fue. conseguir que D3 jugara con React fue la parte difícil. Ambas bibliotecas querían controlar el DOM. Había algunas otras bibliotecas que ayudaron a unirse a los dos, pero sentí que estaban demasiado hinchadas., Terminé usando D3 para generar los SVGs y React para manejar el DOM que funcionó bastante bien para mí.

esta vez cuando lo compartí con Reddit, ¡a todos les encantó!

resulta que, al igual que los VCs, los redditors tienen que ver con el aprendizaje automático. Todo el amor de Reddit fue un gran impulso de confianza. ¡La gente jugaba mi juego y lo disfrutaba!

mes 6-jobSort (), preparación para la búsqueda de trabajo

después de StockIT, pasé a mi siguiente proyecto personal. Quería hacer una bolsa de trabajo que agregara los sitios web de ofertas de trabajo más pequeños centrados en la tecnología, como Stack Overflow, Github y Hacker News., Para agregar mi propio giro único, decidí ordenarlo en función de las tecnologías que el usuario quería en un trabajo y lo mucho que quería cada una de ellas.

por ejemplo, digamos que estaba buscando un trabajo que buscaba a alguien que supiera JavaScript, React y / o Python, y realmente quería trabajar con JavaScript y React, pero no me importaba tanto Python. Entonces podría darle a JavaScript un 3, React un 3, y tal vez Python un 1. Las listas se clasificarían en consecuencia.,

me encontré con varios obstáculos con este proyecto y tuve que cambiar de rumbo un par de veces, pero terminé con un producto con el que estaba contento. Mi pila de tecnología final fue React / Node / Express / MySQL. Publiqué el proyecto en el subreddit de cscareerquestions y obtuve 650 vistas antes de que se eliminara porque no permiten proyectos personales.

El producto «final» está aquí, y si estás interesado en saber más sobre mis luchas y refactores, echa un vistazo a mi post aquí.

debido a mis problemas, jobSort () ocupó una buena parte del mes., Terminé tomando café con un amigo que había conocido en mi primer encuentro, y me aconsejó que empezara a solicitar trabajo ahora. Leí por todas partes que todos dicen que esperaron demasiado para postularse. Además, cada vez que veía un post preguntando cuándo aplicar, el comentario principal siempre era » ahora.»

en mi cabeza, iba a trabajar mi camino a través de mi plan estructurado para construir mi cartera con proyectos personales, y luego trabajar en contribuciones de código abierto, y luego prepararse para entrevistas, y finalmente comenzar a aplicar a puestos de trabajo. Este amigo me convenció de abandonar ese plan y empezar a aplicar., Así que este mes hice una cartera y un curriculum vitae. Al mes siguiente empezaría a aplicar.

mes 7-pruebas, búsqueda de empleo

Este mes me centré en retocar mis proyectos y aplicar a puestos de trabajo. También quería aprender pruebas y Redux.

he añadido flexbox a CodeClub.Social para que sea sensible. He mejorado la experiencia de usuario móvil en jobSort (). Agregué pruebas a jobSort () con mocha/chai/enzyme que fue difícil de configurar, fácil de comenzar y luego difícil de obtener una cobertura del 100%.

al final del mes, había aplicado a 63 puestos de trabajo. Vi esto como una autoevaluación., ¿Mi portafolio / curriculum vitae fue lo suficientemente bueno? Si es así, ¿en qué necesitaba trabajar para prepararme para las entrevistas? Al principio, apliqué con Hacker News: Quién está contratando, y de hecho.

en Hacker News, usé jobSort () para determinar qué anuncios solicitar. En Indeed, probé con compañías que no son de software para ver si incluso podía recibir una llamada o una entrevista en cualquier lugar.

Al principio, estaba aplicando rápidamente y no personalizando mi currículum / carta de presentación. Entonces, decidí personalizar mi carta de presentación y currículum, y luego tratar de enviar un correo electrónico a alguien de la empresa., Este método era claramente mejor que el enfoque de escopeta.

recibí cinco llamadas ese mes, dos de compañías de reclutamiento y tres de compañías de software que incluían:

  • un rol de contratación de DevOps/pruebas en una compañía de puntocom
  • Una compañía de análisis de alimentos de la Serie B, y
  • una startup bastante grande y exitosa que fue comprada recientemente por una gran corporación

pasé la pantalla de Recursos Humanos en dos de ellas, pero ninguna de ellas dio lugar a una entrevista en el sitio. Estaba bastante contento con las tres llamadas, y aprendí mucho de ellas.,

Todo el mundo mencionó en línea que no se espera que los desarrolladores junior sepan mucho desde el principio, solo necesitan ser apasionados y emocionados para aprender. Así que pensé, fácil. Me apasiona y emociona aprender. Lo que aprendí de estas llamadas, sin embargo, fue que nadie estaba buscando un desarrollador junior. Esperan que sepas lo que estás haciendo desde el primer día.,

estas llamadas me enseñaron que necesitaba

  • ser lo suficientemente bueno para agregar valor desde el primer día
  • tener la confianza suficiente para convencerlos de que puedo agregar valor desde el primer día

mes 8 – turno de noche, Redux, código abierto, entrevista en el sitio

empecé este mes trabajando en el turno de noche por un tramo de 40 días en mi trabajo de tiempo completo – 6 días a la semana, 12 horas al día, 5PM a 5AM. Ugh.

sabía que no podría hacer tanto este mes, pero tenía un objetivo y quería cumplirlo, así que no podía tomarme un mes de descanso.,

refactoricé jobSort para usar Redux, lo que sorprendentemente no fue tan difícil como pensé que sería. Escuché un montón de podcasts sobre él y leí blogposts sobre él, y nunca tuvo sentido para mí hasta que empecé a usarlo.

Me gusta mucho el flujo de datos con Redux. Es interesante ver a la gente quejarse de Redux. No creo que esté calificado para expresar mis opiniones con fuerza, pero me gusta el patrón reductor.

se suponía que este sería el mes del código abierto para mí., Iba a hacer mi primera contribución de código abierto, y sería una gran contribución a una biblioteca fantástica. Yo iba a contribuir a Reaccionar!

Todo el mundo dijo que era una base de código difícil de leer y mucho menos contribuir a. Pero necesitaba destacarme, necesitaba ser única. Sabía que mi contribución no sería significativa, pero aún así quería hacerlo.

comenzaría leyendo los documentos hasta el final y luego verter a través de la base de código. Ver cada número, cada PR. Leer los documentos de React en su totalidad fue un gran ejercicio, y me alegro de haberlo hecho., Pero rápidamente me di cuenta de que el problema con contribuir a React es que simplemente no hay muchos «buenos primeros problemas», y son arrebatados rápidamente.

en una de las reuniones a las que asistí, Anthony Ng me recomendó que probara Downshift, una biblioteca de Autocompletar de Kent C. Dodds. Esto era un gamechanger. Estaba justo en mi timonera. La dificultad correcta, la cantidad correcta de problemas con los que ayudar, no demasiados colaboradores, mantenedor súper útil, código limpio y bien probado. Además de todo eso, fue una solución perfecta para algunos problemas que estaba teniendo con mi aplicación jobSort ().,

aproximadamente a mitad de mes, recibí un correo electrónico de una de las empresas a las que solicité el mes anterior. Configuraron una pantalla inicial del teléfono, y luego una pantalla técnica del teléfono. Las tecnologías que estaban buscando eran exactamente lo que había aprendido: React, Redux y D3. Sobre todo, solo hablaba de mis proyectos y por qué Tomé Ciertas decisiones. Después de esto, me pidieron que fuera al sitio para una entrevista. Mi primera entrevista en el sitio!,

no me había preparado para las entrevistas en absoluto, así que lo hice con la expectativa de que no conseguiría el trabajo, pero obtendría una valiosa experiencia en entrevistas. Yo también estaba corriendo en tres horas de sueño ya que todavía estaba trabajando el turno de noche que no ayudó. Afortunadamente, la parte técnica no era la pizarra, solo una sesión de programación de pares de una hora. Fue un desafío bastante sencillo, pero estaba muy nervioso.

Al principio, me preocupaba asegurarme de saber todo sin buscarlo., Cuando me di cuenta de que no iba a terminar el desafío, me di cuenta de que necesitaba dejar de preocuparme por lo que el entrevistador pensaba de mí y solo desbordar google/stack para encontrar respuestas. No terminé, y pensé que había fallado miserablemente.

desde que pensé que había fallado la programación de la pareja, me sentí relajado durante el resto de la entrevista. Al final, dejé la entrevista con la barbilla levantada. En el peor de los casos tengo una valiosa experiencia en entrevistas, y en el mejor de los casos tengo mi primera oferta de trabajo.,

mes 9-oferta de trabajo

terminé recibiendo mi primera oferta de trabajo 9 meses y 7 días después de ese primer día cuando decidí que iba a sumergirme de cabeza en la programación con la intención de cambiar de carrera. Me sentí seguro dado que recibí una oferta después de mi primera entrevista en el sitio, pero al mismo tiempo, si no aceptaba la oferta, ¿qué pasaría si esta fuera la única oferta que recibiría durante varios meses? Terminé aceptando la oferta, y estoy contento con mi decisión. ¡Quería que me pagaran por código!,

consejos

hasta este punto, he compartido mi historia con algunos consejos. Lo más probable es que si estás leyendo esto, o estás pensando en cambiar de carrera o estás en medio de aprender a programar con la intención de cambiar de carrera. Espero que los consejos a continuación lo ayuden a desarrollar un plan o a seguir con su plan actual y alcanzar su meta.

  1. descubre qué te motiva y úsalo a tu favor. Para mí, eran listas de verificación, documentando mi progreso e interactuando con varias comunidades de programación., Si no estás motivado para alcanzar tu meta, entonces nada más importa porque no terminarás.
  2. Haz metas y encuéntralas. Yo diría que usted debe tener metas mensuales y tal vez incluso metas diarias. Objetivos mensuales para asegurarse de que está en camino de alcanzar su objetivo principal, y objetivos diarios para asegurarse de que realmente progresa diariamente. Una estrategia que funcionó para mí fue hacer mis objetivos diarios la noche anterior. De esa manera, no puedes hacer trabajo improductivo todo el día y sentir que has progresado cuando realmente no lo has hecho., Te obliga a comparar tus logros diarios con tus objetivos diarios.
  3. ve a los meetups mucho antes de pensar que estás listo. Ir a reuniones puede dar miedo, pero como mencioné anteriormente. Pero, en general, todo el mundo es agradable y dispuesto a ayudar. Usted puede encontrar personas que no están interesados en hablar con usted, pero son la minoría y nadie va a ser crítico. Además, a todos les encanta dar consejos (como lo estoy haciendo ahora mismo).
  4. contribuye al código abierto mucho antes de que creas que estás listo., Cuando empiezas a programar, Github parece un lugar aterrador al que nunca quieres ir. En realidad, es muy acogedor para los principiantes y es un gran lugar para ver buen código y obtener su propio Código Revisado. Si aún no estás convencido, echa un vistazo a mi post, Por qué deberías contribuir al código abierto ahora mismo.
  5. comience a aplicar mucho antes de que piense que está listo. Este fue duro para mí porque pensé que era diferente. Pensé que no necesitaba probar el mercado para tener una idea de en qué trabajar. Pensé que sabría cuando estaría listo para aplicar. Te lo estoy diciendo ahora mismo., Usted no sabrá cuándo aplicar. Así que deberías empezar ahora. Usted no debe volverse loco y aplicar a 300 empresas antes de aprender para bucles. Pero debe saber que la mejor manera de saber lo que necesita aprender es aplicando y probando el mercado.

¡Ahora vuelve y codifica!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *