¿Cómo puedo trabajar como buen desarrollador de software?

Ya sea que esté reingresando a la fuerza laboral o atrapado en una carrera que no le gusta (administración, operaciones, banca, etc.), la transición a una carrera como desarrollador de software está a su alcance. Siempre y cuando estés dispuesto a trabajar duro.

Según US News, los desarrolladores de software tienen un salario promedio de $ 95,510 por año y una tasa de desempleo del 2.5%, lo que la convierte en una de las carreras tecnológicas más lucrativas. Además, la profesión ofrece un equilibrio trabajo-vida superior al promedio.

Aún más, la Oficina de Estadísticas Laborales proyecta que entre 2014-24 habrá una tasa de crecimiento del 17%. Mientras tanto, el crecimiento promedio para todas las ocupaciones es del 7 por ciento. Esto se traduce en 186,600 ofertas de trabajo.

¿Y adivina qué? A pesar de la perspectiva positiva y la abundancia de oportunidades, solo el 2.4% de los graduados universitarios estudian informática y ciencias de la información. Como puede ver en la imagen a continuación, para 2020 habrá 1.4 millones de trabajos de computación en comparación con los 400,000 estudiantes de CS.

Usted comprende: las habilidades de programación pueden brindarle más seguridad financiera y flexibilidad en su día a día. Pero, ¿cómo se obtienen estas habilidades, sin pasar cuatro años de clases de CS? Y, lo que es más importante, ¿cómo consigue una de estas carreras muy solicitadas y altamente remuneradas?

Aquí están las buenas noticias: ¡es totalmente posible! Y me asocié con el equipo de Learn-Verified de Flatiron School para brindarles esta guía de 11 pasos sobre cómo convertirse en un ingeniero de software sin un título de CS. ¡Entonces sigue leyendo!

11 pasos para convertirse en ingeniero de software * sin * un título de CS

HAGA CLIC EN TWEET

PASO # 1: SEA CLARO CON CRISTAL SOBRE SU OBJETIVO FINAL (Y COMPROMÉTASE CON ELLO)

Antes de comenzar, comprenda que los siguientes pasos son específicos para aquellos que buscan un trabajo de tiempo completo (abreviado como FTJ) como ingeniero de software. No son para la persona que es:

  • Practicando el código por primera vez
  • No estoy seguro si la codificación es adecuada para ellos
  • Deseando seguir diseño web, UX, UI o cualquier otro campo relacionado con el diseño
  • Queriendo trabajar a tiempo completo
  • Con la esperanza de comenzar su propio negocio

La transición a una nueva carrera no es fácil. Pero cuando tienes un destino final en mente, es de gran ayuda cuando chocas contra el camino. Un objetivo claro como el cristal se parece a esto:

  • “Quiero trabajar como desarrollador de software en una empresa tecnológica establecida”.
  • “Quiero trabajar en una nueva empresa, como ingeniero de software, en la industria que adoro”.
  • “Quiero construir cosas en un equipo y que me paguen bien por ello”.

No importa los detalles de su sueño, si desea realizar los 11 pasos, DEBE comprometerse con el objetivo final de convertirse en un ingeniero de software a tiempo completo.

PASO # 2: ELIGE UN IDIOMA PARA APRENDER

Al comenzar, muchas personas se quedan atrapadas decidiendo qué idioma (y marco) deben aprender. ¿Ruby on Rails? Python y Django? ¿SIGNIFICA apilar? Tantas opciones, tan poco tiempo.

Aquí está la cosa: una vez que conoce bien un idioma / pila en particular, no es difícil hacer la transición a uno nuevo. Eso significa que cuando te conviertes en un ingeniero de software, en lo que quieres concentrarte es en comprender los fundamentos de la programación. En esencia, aprender a aprender.

Una vez que tenga una base sólida, puede pasar fácilmente a nuevos lenguajes, marcos y tecnologías. Como dice el cofundador de Flatiron School, Avi Flombaum dice: “El aspecto más importante es que estás aprendiendo a pensar como un desarrollador”.

Dicho todo esto, debe centrarse en un idioma / marco para comenzar.

Con tantos idiomas disponibles, puede ser difícil saber cuál elegir. Recomiendo tomarse un tiempo para aprender sobre los diferentes idiomas. Esta guía para elegir un lenguaje de programación es un excelente lugar para comenzar.

Para muchos, Ruby es un excelente camino a seguir.

Ruby es legible y eficiente, por lo que es mucho más fácil sentirse cómodo que en otros idiomas. También es de código abierto, por lo que tendrá acceso a muchas herramientas y a una comunidad de otros desarrolladores, todo de forma gratuita. Y quizás lo más importante, es flexible: el lenguaje lo utilizan muchas empresas (Airbnb, GitHub, Hulu, Kickstarter, etc.) y le brinda una base sólida para ramificarse a otros idiomas más adelante.

Para muchos, Ruby es un excelente primer lenguaje de programación para aprender.

HAGA CLIC EN TWEET

La ex alumna de Learn-Verified Sarah Lichter dice: “Como estaba aprendiendo por mi cuenta y tomando estas decisiones, había leído mucho sobre Ruby y sobre que era amigable, fácil de aprender como primer idioma y tenía una gran comunidad alrededor así que aprender Ruby parecía una gran opción “.

PASO # 3: PRACTICA… Y PRACTICA MÁS

Si bien la pila que aprendes no importa mucho, lo que importa es aprender haciendo. Esto significa dedicar algo de tiempo real a perfeccionar su nuevo oficio. Debe reservar una cantidad significativa de tiempo todos los días, cada semana, para aprender.

No puede convertirse en desarrollador de software después de 10 horas de práctica. Simplemente no es posible.

Algunas personas dicen que se necesitan 10.000 horas para convertirse en un experto. Ahora, no necesita 10,000 horas de práctica para obtener su primer trabajo de desarrollador de software. Pero debes dedicar un tiempo serio.

Para dar un ejemplo, el currículo de Aprendizaje de Desarrollo Web Full Stack de la Escuela Flatiron es de aproximadamente 600-800 horas en total. A la mayoría de los estudiantes les lleva entre cuatro y diez meses lograrlo, dependiendo de cuántas horas dediquen al programa cada semana.

PASO # 4: UTILICE HERRAMIENTAS QUE LOS DESARROLLADORES REAL UTILIZAN

Si bien los recursos gratuitos como Codecademy son geniales, no estás en un entorno del mundo real cuando los usas. En cambio, está escribiendo directamente en el navegador web y obteniendo una puntuación basada en una prueba u otro tipo de actividad interactiva.

En el mundo real, no vas a trabajar así. Entonces, lo que quiere hacer desde el principio es construir cómo construyen los ingenieros reales. Desea utilizar las herramientas que utilizan. En el futuro, esto hará que sea mucho más fácil hacer la transición a un rol de tiempo completo y unirse a un equipo.

Pero es difícil construir cómo se desarrollan los desarrolladores reales, y usar las herramientas que usan los desarrolladores reales, cuando recién estás comenzando. (Si eres como yo, es difícil saber por dónde empezar).

Cuando aprenda a codificar, use las herramientas que usan los desarrolladores reales.

HAGA CLIC EN TWEET

La buena noticia es que existen programas que le enseñan cómo usar estas herramientas, como el programa en línea de Flatiron School, Learn-Verified.

El plan de estudios de Learn-Verified se basa en las herramientas y procesos que los ingenieros reales usan todos los días, como:

  • Git y GitHub
  • Trabajando en su terminal
  • Desarrollo basado en pruebas
  • Proyectos grupales / colaboración

Esto le permitirá ajustarse mucho más rápido una vez que esté en un trabajo real, en lugar de tener que dominar otra curva de aprendizaje empinada.

PASO # 5: LEA EL CÓDIGO DE OTRAS PERSONAS

Otro aspecto importante de convertirse en un ingeniero de software es aprender a leer el código de otras personas. Puede hacerlo navegando por los repositorios de GitHub y mirando la documentación.

A veces, la documentación puede estar equivocada … pero el código fuente nunca miente. Al aprender a leer ese código, podrá comprender lo que está sucediendo y cómo funciona un programa. (Esta habilidad también es importante cuando se trata de depurar, porque podrás identificar qué parte del código no debería estar allí).

Esta es a menudo una habilidad que se pasa por alto, pero realmente puede beneficiarlo ver cómo los desarrolladores experimentados hacen las cosas. No solo hagas un vistazo superficial del código, tampoco. Profundice, aprenda los entresijos, mapee la funcionalidad y, finalmente, vuelva a crearla si puede. De esta manera, podrá realizar ingeniería inversa de un programa existente, lo que le ayudará a comprender mucho mejor cómo crear uno propio.

PASO # 6: ENCUENTRE UNA COMUNIDAD

Encontrar una comunidad para aprender puede hacer o deshacer su éxito como ingeniero de software, especialmente cuando recién está comenzando. Cuando estás rodeado de una comunidad de personas de ideas afines, tienes un sistema de apoyo automático: un grupo de personas a las que puedes llamar cuando te atascas o pierdes la motivación. (¡Ambos pueden pasarle a lo mejor de nosotros!)

Existen grupos en persona, pero puede ser difícil coordinarlos y no son accesibles en todas las áreas. Pero cualquiera puede unirse a una comunidad en línea, y son igual de útiles.

Mientras aprende con Learn-Verified, obtiene acceso a un grupo Slack. Este grupo permite a los estudiantes unirse y trabajar a través de lecciones o temas en un video chat y un canal privado de Slack. Los estudiantes también pueden configurar o unirse a grupos de estudio en línea adicionales con sus compañeros. Todos los niveles de experiencia pueden participar; de hecho, más del 40% de las preguntas formuladas son respondidas por otro estudiante. Sin embargo, ¡también hay desarrolladores experimentados en el grupo para ayudarte!

PASO # 7: CONSTRUYE PROYECTOS

No solo lea tutoriales y mire videos, ponga en práctica sus habilidades. Resuelva problemas en el camino, tal como lo hacen los desarrolladores de software cotidianos. Cuando hace esto, no solo promueve su aprendizaje, sino que también muestra a los empleadores potenciales que puede hackearlo. (Porque el objetivo final es conseguir un trabajo, ¿verdad?)

Aprenda a codificar consejos: no solo siga los tutoriales de codificación. Construye proyectos reales.

HAGA CLIC EN TWEET

Puede crear proyectos en solitario o con un grupo.

Al final de Learn-Verified, tendrás muchos proyectos para presumir. Creará 3-5 aplicaciones en todo el programa, seguido de un proyecto final. Y no solo son proyectos aburridos de “completar los espacios en blanco”: usted tiene la opción de construir lo que le interesa.

Además, la forma en que se configura el programa Learn-Verified, usted hace todo en GitHub. Esto actúa como una gran base y una forma de mostrar lo que puede hacer a posibles empleadores.

PASO # 8: CULTIVA TU RED PROFESIONAL

A medida que aprende a codificar, construir proyectos, etc., debe cultivar su red profesional de manera lenta pero segura. Porque cuando se trata de encontrar un gran trabajo, se necesita más que solo solicitar trabajos en línea (que, en estos días, puede ser una pérdida de tiempo).

En cambio, quieres construir una red fuerte. Para empezar, confíe en sus conexiones existentes. Según Jobvite, el 40% de las nuevas contrataciones provienen de referencias de empleados, por lo que es la forma más común.

La mejor manera de conseguir un trabajo como desarrollador de software es mediante la creación de redes.

HAGA CLIC EN TWEET

Más allá de aprovechar su red de primer grado, también puede obtener introducciones a sus conexiones de segundo grado (amigos de amigos). El objetivo es organizar reuniones informales de café con personas conectadas a empresas para las que le gustaría trabajar, lo que crea conexiones y, a veces, conduce a entrevistas reales.

Algunas otras formas de hacer nuevas conexiones sin tener un amigo en común:

  • Ir a reuniones
  • Mantener un blog (que le dará exposición)
  • Voluntario
  • Habla en eventos

Participe y contribuya a la comunidad, y casi inevitablemente, se le presentarán oportunidades.

Nuevamente, el plan de estudios de Verificación de Aprendizaje cubre todo esto, desde cómo conectarse en red, enviar correos electrónicos fríos, mantener un blog de codificación y más.

Además, tienen una garantía de trabajo que los compromete a ayudarlo a USTED a conseguir un trabajo. Si no recibe una oferta de trabajo dentro de los 6 meses posteriores a la certificación, le devolverán su dinero. Básicamente, ponen su dinero donde está su boca.

PASO # 9: DOMINA TUS ESENCIALES PREVIAS A LA ENTREVISTA

Después de comenzar a establecer conexiones con compañeros e influyentes en el campo, será hora de prepararse para postularse a los trabajos. (Sin embargo, si establece una conexión sólida, ¡puede saltear este paso por completo!)

Pero antes de enviar solicitudes o solicitar referencias directas, deberá dominar tres cosas: currículums, cartas de presentación y su presencia en línea.

Incluso en un mundo modernizado, los currículums son necesarios. Los gerentes de contratación aún los miran para obtener una instantánea de sus habilidades y experiencia. Del mismo modo, se necesitan cartas de presentación al solicitar trabajos en línea; son tu oportunidad de llamar la atención de alguien y causar una buena impresión.

Esos son conceptos básicos en todas las industrias. Pero más allá de los currículums y las cartas de presentación, también debe considerar su presencia en línea. Esto es increíblemente importante para cualquier persona en la industria de la tecnología, y es algo que debería construir y mantener con el tiempo. Su huella digital es importante porque es lo que verán los reclutadores y los gerentes de contratación cuando busquen su nombre en Google antes de invitarlo a una entrevista.

Su presencia en línea, como desarrollador de software, se compone de algunas cosas:

  1. Perfil de Linkedin
  2. GitHub
  3. Gorjeo
  4. Sitio web personal (o sitio de cartera)
  5. Blogging (que puede ser una adición a su sitio web personal)

Los empleadores verificarán esto y formarán impresiones suyas en función de lo que vean. ¡Así que asegúrese de que esas impresiones sean buenas!

PASO # 10: ACE SU ENTREVISTA DE TRABAJO

Finalmente, está la entrevista en sí. La mayoría de las empresas comienzan con una entrevista de selección, generalmente realizada en línea, en casa. Después de eso viene una entrevista telefónica. Si logras superar esos dos, conseguirás la entrevista en el sitio.

Además de las preguntas estándar de “mayor fortaleza / debilidad, etc., etc.”, deberá estar preparado para las preguntas técnicas y de comportamiento. Es posible que se le pida que cree un proyecto o trabaje a través de un desafío de código, o describa cómo ha manejado situaciones difíciles en el pasado.

Un recurso útil para consultar es el libro Cracking the Coding Interview .

Afortunadamente, cuando use Learn-Verified, no tendrá que prepararse por sí mismo: tendrá acceso a su plan de estudios de carrera integral diseñado para asegurarse de que esté listo para la entrevista. (De hecho, ¡ayudé a escribir algo de eso!)

Todos los estudiantes de Learn-Verified reciben una entrevista simulada de RR.HH. / comportamiento con comentarios para ayudar a refinar sus habilidades blandas y dar a conocer ahora a los profesionales de recursos humanos que podrían percibirlos. Además, los estudiantes reciben una entrevista técnica simulada con un desarrollador.

Finalmente, el equipo del programa Learn-Verified de Flatiron School se compromete a conseguirle un trabajo. (¡Lo garantizan!) Pero recuerda, obtienes lo que pones en él.

PASO # 11: ACEPTA LA OFERTA DE TRABAJO

¡Felicidades, lo hiciste!

Después de completar una serie de entrevistas y demostrar sus nuevas habilidades, es solo cuestión de tiempo antes de recibir una oferta. Y sí, puede ser de nivel de entrada al principio, ¡pero tienes que comenzar en alguna parte! A medida que continúe aprendiendo y creciendo como desarrollador, continuará subiendo la escalera profesional a posiciones más grandes y mejores.

TODOS ESTO SONENAN COMO MUCHO TRABAJO, ¿VERDAD?

Respuesta corta: sí. No es fácil, y puedo garantizar que te sentirás frustrado a veces. Pero es absolutamente factible. Y probablemente incluso puedas lograrlo todo por tu cuenta. Muchas personas hacen una transición exitosa al desarrollo de software utilizando solo el trabajo duro.

El problema es que, para la mayoría de las personas, aprender solo hace que todo sea más difícil, ya sea dominar las habilidades o buscar trabajo.

Por eso tiene sentido tener ayuda. Learn-Verified hace posible acelerar su carrera como ingeniero de software. Muchos lugares tienen un plan de estudios probado y probado, tal como lo hace Learn-Verified.

Pero lo que realmente diferencia a Flatiron School’s Learn – Una plataforma para la educación. El programa es el componente de inserción laboral. Ofrecen a los estudiantes orientación profesional, así como una garantía de empleo dentro de los 6 meses posteriores a la finalización del programa, o le devolvemos su dinero.

Cuando pasas por @learn_co tienes garantizado un trabajo en 6 meses.

HAGA CLIC EN TWEET

Y los números no mienten. El 99% de los estudiantes eventualmente son colocados en trabajos, y el 95% de ellos se encuentran dentro de los 120 días. Ganan en promedio más de $ 74,000 por año por su primer rol de desarrollador junior.

Además de los números, una de las mejores maneras de familiarizarse con un programa es escuchar a quienes lo han hecho antes. La mayoría de los antiguos estudiantes de Learn-Verified informan de grandes experiencias con el programa. Esto es lo que algunos de ellos han dicho:

  • “Si te colocas en este programa con la voluntad de tener éxito, Learn Verified te dará las herramientas y la tutoría que necesitas para comenzar una futura carrera en el desarrollo web”.
  • “He aprendido más en los últimos meses con Learn de lo que aprendí en dos años de autoaprendizaje. Este programa me ha enfocado en los temas correctos para estudiar, y en el orden correcto para estudiarlos. ”- Lisa
  • “Me encanta la comunidad y el sentimiento de conexión, ya que todos compartimos código y desahogamos nuestras frustraciones y nos animamos mutuamente desde todo el mundo. No podría haber pedido una mejor experiencia. ¡La escuela Flatiron es genial! ”- Marsi

Si está interesado en Learn – Una plataforma para la educación. programa, puedes probar las aguas obteniendo una cuenta gratis aquí.

Alternativamente, puede inscribirse en una próxima sesión de información donde puede conocer al equipo, aprender cómo funciona la garantía de trabajo y más.

El equipo de Learn-Verified quiere que todos los estudiantes sean trabajadores, dispuestos a hacer el esfuerzo necesario para aprender el material y conseguir los trabajos. ¡Deberá pasar por un proceso de solicitud para demostrar que está dispuesto y es capaz de ser su próxima historia de éxito!

Si sueña con convertirse en desarrollador de software y desea la ruta más directa para lograr ese objetivo, definitivamente vale la pena echar un vistazo al programa Learn-Verified de Flatiron School. Si bien el programa es riguroso, también viene con un amplio soporte. Mientras esté listo para trabajar, se alejará del programa con las habilidades que necesita para conseguir su primer trabajo como ingeniero de software.

Radburn

More Interesting

¿Qué tan fácil en Estados Unidos para un desarrollador de software una vez terminado para encontrar un nuevo trabajo?

¿Cuál es la mejor empresa india de TI que ofrece desarrolladores de software con experiencia para clientes extranjeros?

¿Hay programadores que aprenden mejor leyendo libros que haciendo?

¿Cómo sabré cuántas personas instalan mi software?

¿Cuál es el papel de Yahoo en el desarrollo de software de código abierto?

¿Vale la pena aprender Visual C ++ hoy?

¿Qué lugar es mejor para conseguir un trabajo más reciente (desarrollador de software): Hyderabad o Bangalore?

¿Los programadores de Unix (y todas sus variaciones) piensan que escriben código obtuso?

¿Cuál es la teoría detrás de la evolución de los equipos electrónicos?

¿Cuál es el escenario futuro de los trabajos de desarrollo de software?

¿Por qué hay tantas preguntas sobre cómo convertirse en desarrollador de software y casi tantas preguntas sobre cómo salir del campo?

Como desarrollador de software Java con 3 años de experiencia, ¿cuáles son todas las habilidades requeridas para un desarrollador de software?

¿Por qué es que la industria no ha adoptado un sistema de aprendizaje / oficial de desarrollo de software frente al método clásico de obtener una licenciatura y obtener entre 1 y 3 pasantías?

¿Puede una persona con experiencia laboral como analista conseguir un trabajo como desarrollador de software?

¿Cuál es la diferencia entre el ingeniero de I + D y el desarrollador de software?