a pesar de los mitos populares, puede convertirse en un desarrollador de software sin un título universitario.
ya sea que esté reingresando a la fuerza laboral o atrapado en una carrera que no le gusta (administración, operaciones, banca, etc.), convertirse en un desarrollador de software está totalmente a tu alcance—siempre y cuando estés dispuesto a trabajar duro.
según US News, los desarrolladores de software tienen un salario medio de $107,510 por año y una tasa de desempleo de 1.,4%, por lo que es una de las carreras tecnológicas más lucrativas. Además, la profesión ofrece un equilibrio entre el trabajo y la vida personal por encima de la media.
aún más, la Oficina de Estadísticas Laborales proyecta que entre 2018-28 habrá una tasa de crecimiento del 21%. Mientras tanto, el crecimiento promedio para todas las ocupaciones es del 5 por ciento. Esto se traduce en 284.100 puestos de trabajo.
y adivina qué? A pesar de la perspectiva positiva y la abundancia de oportunidades, solo el 3% de los graduados universitarios estudian Informática y Ciencias de la información. Como se puede ver en la imagen de abajo, en 2020 había 1.,4 millones de trabajos de computación versus los 400,000 ESTUDIANTES DE CS.
Se obtiene la imagen: conocimientos de programación puede traer más seguridad financiera, así como la flexibilidad en su día-a-día. Pero, ¿cómo obtener estas habilidades, sin sentarse a través de cuatro años de clases de CS? Y lo que es más importante, ¿cómo consigues una de estas carreras muy demandadas y bien pagadas?
estas son las buenas noticias: ¡es totalmente posible!, Esta guía de 11 pasos levantará el velo y le mostrará cómo convertirse en un ingeniero de software sin un título de CS. Así que sigue leyendo!
divulgación: soy un afiliado orgulloso de algunos de los recursos mencionados en este artículo. Si compras un producto a través de mis enlaces en esta página, Puedo obtener una pequeña comisión por referirte. ¡Gracias!
¿Qué es un ingeniero de Software?
por definición, un ingeniero de software es alguien que escribe el código detrás de los productos de software (videojuegos, sistemas operativos, aplicaciones, características, robots, etc.).,
¿Hay alguna diferencia entre un ingeniero de software y un desarrollador de software? En realidad no. Los Términos se usan indistintamente, y las empresas tienden a verlos como la misma cosa. Cuando usted está en la búsqueda de un trabajo de ingeniería de software, asegúrese de buscar y mirar las publicaciones tanto para «Ingeniero de software» y «desarrollador de software» para obtener la mayoría de los resultados.,
Cómo convertirse en un ingeniero de Software sin un título universitario
antes de comenzar, comprenda que los siguientes pasos son específicos para aquellos que buscan un trabajo abreviar como FTJ) como ingeniero de software.,
serán menos útiles para la persona que está:
- incursionando en el código por primera vez
- No Está seguro de si la codificación es adecuada para ellos
- que desean perseguir el diseño web, UX, UI o cualquier otro campo relacionado con el diseño
- que desean trabajar como freelance a tiempo completo
- Con la esperanza de iniciar su propio negocio
pero esas son todas del Blog está lleno de contenido sobre estos temas también!
Ahora, vamos a sumergirnos en los 11 pasos de cómo convertirse en un ingeniero de software.,
Paso # 1: sea claro sobre su objetivo final en ingeniería de software
la transición a una nueva carrera no es fácil. Pero cuando tienes un destino final en mente, ayuda enormemente cuando te topas con baches en la carretera. Un objetivo claro como el cristal se ve algo como esto:
- » quiero trabajar como desarrollador de software en una empresa de tecnología establecida.»
- » quiero trabajar en una nueva startup, como ingeniero de software, en la industria que adoro.»
- «quiero construir cosas en un equipo, y te pagan bien por ello.,»
No importa los detalles de su sueño, si desea pasar por los 11 pasos, debe comprometerse con el objetivo final de convertirse en un ingeniero de software a tiempo completo. Eso es lo que te impulsará hacia adelante cuando las cosas se pongan difíciles.
Paso #2: Elija un buen lenguaje de ingeniería de software para aprender
al comenzar, muchas personas se quedan atascadas decidiendo qué lenguaje de programación (y marco) deben aprender. ¿Ruby on Rails? Python y Django? ¿MEAN stack? Tantas opciones, tan poco tiempo.,
Aquí está la cosa: una vez que conoces bien un idioma / pila en particular, no es difícil hacer la transición a uno nuevo. Eso significa que cuando se está convirtiendo en un ingeniero de software, lo que desea centrarse es comprender los fundamentos de la programación. En esencia, aprender a aprender.
una vez que tenga una base sólida, puede hacer la transición fácilmente a nuevos lenguajes, marcos y tecnologías., Como dice el cofundador de Flatiron School Avi Flombaum, «el aspecto más importante de esto es que estás aprendiendo a pensar como un desarrollador.»
empieza a programar ahora
¡deja de esperar y empieza a aprender! Obtenga mis 10 consejos para aprender a codificar.
Todo esto dicho, debe centrarse en un lenguaje/framework para empezar.
Con tantos idiomas que existen, 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 gran lugar para comenzar.,
para muchos, Ruby es una excelente manera de ir.
Ruby es legible y eficiente, por lo que es mucho más fácil sentirse cómodo con que algunos otros idiomas. También es de código abierto, por lo que tendrás acceso a un montón de herramientas y una comunidad de otros desarrolladores, todo de forma gratuita. Y quizás lo más importante, es flexible: el idioma es utilizado por muchas empresas (Airbnb, GitHub, Hulu, Kickstarter, etc.).) y le da una base sólida para ramificarse en otros idiomas más tarde.,
Paso # 3: practica el desarrollo de software practica un poco más
mientras que la pila que aprendes no importa mucho, lo que importa es aprender haciendo. Esto significa dedicar algo de tiempo real a perfeccionar su nueva nave. Usted debe reservar una cantidad significativa de tiempo cada día, cada semana, para aprender.
no puedes convertirte en desarrollador de software después de 10 horas de práctica. Simplemente no es posible.
Algunas personas dicen que toma de 10.000 horas para convertirse en un experto., Ahora, usted no necesita 10,000 horas de práctica para obtener su primer trabajo de desarrollador de software. Pero necesitas dedicar un tiempo serio.
para dar un ejemplo, el currículo de Computer Science Essentials for Software Development en edX toma aproximadamente 4 meses (7-9 horas por semana) para hacerlo.
Paso # 4: Use herramientas que los desarrolladores de software reales usan
mientras que los recursos gratuitos como Codecademy son excelentes, no está en un entorno del mundo real cuando los usa., En su lugar, estás escribiendo directamente en el navegador web y obteniendo una puntuación basada en un cuestionario o algún otro tipo de actividad interactiva.
esto es ciertamente útil como una forma de acostumbrarse a codificar y solidificar los conceptos en su mente. Sin embargo, en el mundo real, no vas a trabajar así. Por lo tanto, lo que quieres hacer desde el principio es construir cómo los ingenieros reales construyen. Quieres usar las herramientas que ellos usan. En el futuro, esto hará que sea mucho más fácil la transición a un puesto de tiempo completo y unirse a un equipo.,
pero es difícil construir cómo construyen los desarrolladores reales, y usar las herramientas que usan los desarrolladores reales, cuando estás empezando. (Si eres como yo, es difícil saber por dónde empezar.)
la buena noticia es que hay programas que te enseñan cómo usar estas herramientas, como control de versiones con Git, un curso en línea a través de Coursera.,
Su plan de estudios toca las herramientas y procesos que los ingenieros reales usan todos los días, como:
- Git/GitHub
- La interfaz de línea de comandos
- Bitbucket
esto le permitirá ajustar mucho más rápido una vez que esté en un trabajo real, en lugar de tener otra curva de aprendizaje empinada que dominar.
otro curso de Git para revisar es el curso de dominio de Git por código con Mosh, que es impartido por un ingeniero de software con más de 20 años de experiencia en la industria.,
Paso #5: Leer código escrito por otros ingenieros de software
otro aspecto importante de convertirse en un ingeniero de software es aprender a leer el código de otras personas. Puedes hacer esto navegando a través de los repositorios de GitHub y mirando la documentación.
a Veces, la documentación puede estar equivocado…pero el código fuente nunca miente. Al aprender a leer ese código, usted será capaz de entender lo que está pasando 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 pasada por alto, pero realmente puede beneficiarte ver cómo hacen las cosas los desarrolladores experimentados. No solo hagas una ojeada superficial del código, tampoco. Profundiza, aprende los entresijos, traza la funcionalidad y, finalmente, recrea si puedes. De esta manera, podrás aplicar ingeniería inversa a un programa existente, ayudándote a entender mucho mejor cómo crear uno propio.,
Paso #6: encuentra una comunidad de ingeniería de software de apoyo
encontrar una comunidad con la que aprender puede hacer o romper tu éxito como ingeniero de software, especialmente cuando estás empezando. Cuando estás rodeado por una comunidad de personas de ideas afines, tienes un sistema de apoyo automático: un grupo de personas al que puedes llamar cuando te quedas atascado o pierdes la motivación. (¡Ambos pueden pasarle a los mejores de nosotros!,)
los grupos en persona existen, pero pueden ser difíciles de coordinar y no son accesibles en todas las áreas. Pero cualquiera puede unirse a una comunidad en línea, y son igual de útiles.
mientras aprendes con Launch School, una escuela en línea para ingenieros de software, por ejemplo, obtienes acceso a un foro comunitario, que es donde los estudiantes de Launch School comparten consejos de estudio, crean grupos de estudio, se ayudan mutuamente con problemas y todo lo demás que esperarías de una escuela dedicada., También tendrás acceso a su sala de chat de Slack, donde los estudiantes y el personal se reúnen durante todo el día. Sin mencionar, una serie de seminarios web al estilo de meetup mensual llamada » Tech Talks.»
Zero to Mastery también es similar: con más de 150,000 estudiantes, exalumnos, TAs, mentores e instructores registrados en su servidor Discord, tienen muchas oportunidades para conectarse y encontrar el apoyo que necesita mientras estudia.,
Paso #7: construye proyectos de codificación reales
no solo leas tutoriales y veas videos, pon en práctica tus habilidades. Resuelve problemas en el camino, al igual que lo hacen los desarrolladores de software cotidianos. Al hacer esto, no solo aumenta su aprendizaje, sino que también muestra a los empleadores potenciales que puede piratearlo. (Porque el objetivo final es conseguir un trabajo, ¿verdad??)
puede crear proyectos en solitario o en grupo.,
por ejemplo, al final de Hello Coding: Anyone Can Learn to Code (170 horas) de Mammoth Interactive, tendrás muchos proyectos para mostrar. Construirás varias aplicaciones a lo largo del curso. Y no son solo proyectos aburridos de «llenar los espacios en blanco»: incluyen un clon de juego Flappy Bird, juego de ping pong 3D, aplicación meteorológica para iOS y una aplicación de calculadora de Finanzas para la web.,
con Techdegree de Team Treehouse, construirás 9-12 proyectos del mundo real que te darán la oportunidad de practicar lo que has aprendido, incluyendo una herramienta de estadísticas de baloncesto, juego de adivinanzas de números, aplicación de inventario de tiendas y más. Estos proyectos serán revisados y calificados por profesionales de la industria o estudiantes de Treehouse para asegurarse de que se mantenga en el camino.
y si JavaScript es tu bolsa, Zero to Mastery tiene 20 proyectos que puedes construir y agregar a tu portafolio., Estos proyectos son una gran manera de aumentar sus habilidades, llevándolo de un principiante a un desarrollador seguro, y ser capaz de tener proyectos terminados para agregar a su cartera es una ventaja adicional.
Paso #8: Cultiva tu red profesional de tecnología
mientras aprendes a codificar, construir proyectos,etc., usted debe cultivar lentamente pero seguramente su red profesional., Porque cuando se trata de encontrar un gran trabajo, se necesita más que solo solicitar empleos en línea (lo que, en estos días, puede ser una pérdida de tiempo).
en su lugar, desea construir una red sólida. Para empezar, confíe en sus conexiones existentes. Según Jobvite, el 40% de las nuevas contrataciones vienen a través de referencias de empleados, por lo que es la forma más común.
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 establecer reuniones informales de café con personas conectadas con empresas para las que te 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 mutuo:
- ir a meetups
- Mantener un blog (que le dará exposición)
- voluntario
- hablar en eventos
participar, y contribuir a la comunidad de ingeniería de tecnología/software, y casi inevitablemente, las oportunidades vendrán a su manera.,
la forma más rápida de conseguir un trabajo de tecnología es un curso que te enseña estrategias de networking, incluyendo por qué deberías asistir a grupos de meetup y las mejores formas de promocionarte como técnico.
Otra buena opción? Entra en la tierra de la tecnología el trabajo perfecto con LinkedIn masterclass. Se trata de cómo construir un ejército de partidarios + ponerlos a trabajar para usted, obtener una referencia que le da una entrevista garantizada y aprovechar información privilegiada para as su entrevista + negociación.,
Paso # 9: domina tus elementos esenciales antes de la entrevista
después de comenzar a construir conexiones con compañeros e influencers en el campo, será el momento de prepararse para aplicar a los trabajos en sí. (Sin embargo, si usted hace una conexión sólida – usted puede llegar a omitir 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 una modernización del mundo, hojas de vida son necesarios., Los gerentes de recursos humanos todavía los miran para obtener una instantánea de sus habilidades y experiencia. Del mismo modo, las cartas de presentación son necesarias al solicitar empleos en línea; son su oportunidad de llamar la atención de alguien y causar una 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 hay que 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 debe construir y mantener con el tiempo., Tu huella digital es importante porque es lo que los reclutadores y gerentes de Recursos Humanos verán cuando Googleen tu nombre antes de invitarte a una entrevista.
Su presencia en línea, como desarrollador de software, se compone de algunas cosas:
- perfil de LinkedIn
- GitHub
- sitio web Personal (o sitio de cartera)
- Blogging (que puede ser una adición a su sitio web personal)
Los empleadores comprobarán estos y formarán impresiones de usted en función de lo que ven. Así que asegúrese de que esas impresiones son buenas!,
Paso #10: As su entrevista de trabajo de ingeniero de software
finalmente, está la entrevista en sí. La mayoría de las empresas comienzan con una entrevista de proyección, generalmente realizada en línea, en casa. Después de eso viene una entrevista telefónica. Si sobrevives a esos dos, conseguirás la entrevista in situ.
además De la estándar de «mayor fortaleza/debilidad etc. sucesivamente.,»preguntas, tendrá que estar listo para preguntas técnicas y de comportamiento. Se le puede pedir que cree un proyecto o trabaje a través de un desafío de código, o que describa cómo ha manejado situaciones difíciles en el pasado.
un recurso útil para consultar es el libro Cracking the Coding Interview. Otra es aprender a codificar con mi propia guía de entrevistas técnicas en profundidad.
afortunadamente, no tienes que prepararte por tu cuenta. Por ejemplo, Interview Cake tiene un curso completo sobre acing the tech interview, que incluye más de 50 horas de preguntas de práctica., Aprenderás los trucos para resolver rápidamente problemas que nunca has visto antes (y obtendrás más de offers 30,000 ofertas salariales más altas).
lee mi reseña de Interview Cake.
AlgoExpert es otra plataforma en línea que le ayuda a prepararse para programar entrevistas, con más de 85 preguntas seleccionadas (en 7 idiomas diferentes) y más de 55 horas de explicaciones en video.
Otra buena entrevista opción de prep?, Byte por Byte, con preguntas de entrevista de codificación práctica, consejos de entrevista de comportamiento, y todo lo demás que necesita para as su entrevista de codificación.
paso # 11: aceptar la oferta de trabajo y convertirse oficialmente en un ingeniero de software!
Felicidades – ¡has descifrado cómo convertirte en Ingeniero de software y tienes una carrera emocionante por delante!
después de pasar por una serie de entrevistas y demostrar sus nuevas habilidades, es solo cuestión de tiempo antes de que obtenga una oferta. Y sí, puede ser de nivel de entrada al principio, pero tienes que empezar por alguna parte!, Asegúrese de revisar nuestros 5 consejos de negociación salarial para ingenieros de software.
a medida que continúes aprendiendo y creciendo como desarrollador, continuarás subiendo la escalera de tu carrera a posiciones más grandes y mejores.
Es Duro para Convertirse en un Ingeniero de Software?
respuesta Corta: sí. No es fácil, y puedo garantizar que a veces te frustrarás. Pero es absolutamente factible. Y probablemente incluso puedas lograrlo por tu cuenta, a través de la autoaprendizaje y la creación de redes., Muchas personas han realizado con éxito la transición al desarrollo de software de esta manera.
tres invitados en el podcast Aprende a programar conmigo tienen historias que demuestran esto mismo!
- Clément Mihailescu pasó de programador novato a ingeniero de software de Google en solo 6 meses.
- Christina Gorton fue una ama de casa durante cinco años antes de que se interesara en la tecnología. Logró mejorar sus habilidades y conseguir un trabajo como desarrolladora junior remota en solo nueve meses.,
- Josh Kemp pasó de herrero y Herrero A desarrollador junior en poco más de 9 meses (827 horas de estudio en total).
la cosa es, para la mayoría de las personas, aprender por su cuenta hace que todo sea más difícil, ya sea dominar las habilidades o buscar empleos.
es por eso Que tiene sentido tener ayuda.
Launch School, por ejemplo, permite acelerar su carrera como ingeniero de software., Lo que realmente diferencia el programa de Launch School es que te enseña a dominar los conceptos importantes del desarrollo de software que se mantienen sólidos y consistentes incluso mientras la tecnología evoluciona rápidamente, por lo que construirás hábitos de por vida que te ayudarán a tener éxito.
en última instancia, su objetivo no es solo ayudarlo a encontrar un trabajo, sino ayudarlo a iniciar una carrera. Los graduados de Launch School han sido contratados en empresas líderes de la industria, Como Intel, Peloton, HP y LinkedIn, así como en startups de rápido crecimiento.
Y los números no mienten., Durante los últimos 3 años, el 100% de los graduados del programa han aceptado ofertas de trabajo dentro de los 180 días posteriores a la graduación. En 2018, los graduados de Capstone ganaban un promedio de $122,316 en 12 semanas.
Aparte de los números, una de las mejores maneras para conseguir una sensación para un programa es escuchar a aquellos que han hecho antes. La mayoría de los antiguos estudiantes de Launch School reportan grandes experiencias con el programa., Esto es lo que algunos de ellos han dicho:
- «Launch School no hizo nada menos que transformar radicalmente mi vida y poner en marcha mi carrera.»- Tannr
- » No puedo recomendar Launch School lo suficiente. Sinceramente, no estaría en la carrera que estoy hoy, o tan apasionado por ella como lo estoy hoy, Sin todo el trabajo duro y la dedicación que ponen en el diseño del programa y la mejora continua.»- Steve
- » Launch School me dio todas las herramientas básicas que necesitaba para comenzar a construir aplicaciones de software útiles y significativas., Si usted es serio acerca de aprender a programar y puede poner el tiempo en un período de tiempo sostenido, este programa es para usted!»- Charlie
Si tienes un sueño de convertirte en un desarrollador de software y quieres la ruta más directa para lograr ese objetivo, definitivamente vale la pena visitar Launch School.
empieza a programar ahora
¡deja de esperar y empieza a aprender! Obtenga mis 10 consejos para aprender a codificar.
buscando algo un poco menos intensivo que el plan de Estudios de Launch School de 8 a 16 meses o más?,
en el paso #2, elegiste tu lenguaje de programación. Ahora, comience las cosas eligiendo un curso que enseñe ese idioma.
- Pluralsight tiene cursos que cubren Python, Java, C# y más.
- Team Treehouse tiene cursos en Java, Ruby on Rails, PHP, Python y más.
- Udacity tiene cursos en JavaScript, Java, Kotlin, Python y más.
así que, aquí lo tienes – 11 pasos para convertirse en un ingeniero de software. Todo lo que tienes que hacer ahora es poner en el trabajo!
Nota: hay enlaces de afiliados en este post.