Cómo convertirse en un ingeniero de software

A medida que la tecnología evoluciona y se convierte en una parte más grande de la vida cotidiana, también lo hace la necesidad de profesionales de la tecnología. Los ingenieros de software diseñan y guían el desarrollo de programas que se utilizan las computadoras para que la vida sea un poco más fácil para el resto de nosotros.

Pasos

Método 1 de 2:
Entrar en la informática como tu primera carrera
  1. Imagen titulada Conviértase en un ingeniero de software Paso 1
1. Gana un título en informática o un campo relacionado. La mayoría de las posiciones del ingeniero de software requieren una licenciatura. La especialización en informática proporcionará los antecedentes más útiles para diseñar y perfeccionar software. La mayoría de las veces, los entrevistadores harán preguntas centradas en las estructuras de datos y los algoritmos, por lo que los antecedentes teóricos proporcionados por los grados de ciencias de la computación tradicionales mejor le preparan para esto. Sin embargo, es probable que deba gastar un tiempo considerable fuera del software de escritura del aula para aprender cómo se imparte los conceptos teóricos que se le imparte puede solicitar en la práctica de escribir software real.
  • Es posible ser contratado con un título de asociado o incluso con nada más que experiencia autodidacta. Persiguiendo esta ruta, debe tener una fuerte colección de proyectos completados y funcionales que demuestren sus habilidades en un sitio web como Github. También puede buscar proyectos de código abierto para contribuir correcciones y nuevas características en caso de que no tenga un concepto propio. La fuente abierta significa que el código (fuente) para una pieza de software es visible públicamente (abierto). A menudo, esto permite a cualquier persona enviar código a un proyecto, pendiente de aprobación de los mantenedores del proyecto. Encontrar un proyecto de código abierto con una comunidad de desarrolladores de bienvenida puede acelerar enormemente sus habilidades después de haber establecido un conjunto de habilidades de referencia.
Consejo experto
Gene Linetsky, MS

Gene Linetsky, MS

Startup Fundador & Engineering Director Gene Linetsky es un Fundador de inicio y ingeniero de software en el área de la Bahía de San Francisco. Ha trabajado en la industria de la tecnología durante más de 30 años y actualmente es el director de ingeniería en Poynt, una empresa tecnológica construyendo terminales de punto de venta inteligente para empresas.
Gene Linetsky, MS
Gene Linetsky, MS
Startup Fundador e Ingeniería Director

Estudiar cualquier disciplina científica puede ayudarte a que el código sea mejor. Gene Linetsky, quien administra un equipo de ingenieros de software, dice: "Algunos de los mejores ingenieros salen de los programas de ingeniería eléctrica, porque les enseña la disciplina mental. La ingeniería de software es un arte que no tolera la mentalidad de un artista, realmente requiere esa disciplina."

  • Imagen titulada Conviértase en un ingeniero de software Paso 2
    2. Comenzar la programación. Incluso si todavía estás en la escuela de calificaciones, puedes darte una gran ventaja por enseñándote la programación.
  • La ingeniería de software no está enfocada exclusivamente en la codificación, pero necesitará saber al menos un par de idiomas y una comprensión más profunda de cómo funcionan. No hay un acuerdo generalizado en el que los idiomas son más útiles, pero todas estas son opciones populares:
  • Pitón
  • Rubí
  • jаvascript
  • C#
  • Java
  • C++
  • Tenga en cuenta que algunos idiomas son mejores para resolver algunos problemas que otros. Ningún idioma es mejor que otro. Ningún idioma es objetivamente más fácil que otro. La mayoría de los idiomas se escribieron con ciertos tipos de problemas en mente y son mejores para resolverlos mientras se debilitan a resolver otros. Experimenta y consigue una idea de tu estilo. Al principio, solo se centra en obtener los programas más básicos que se ejecutan en un idioma. Una vez que se haya cómodo con uno, comience a experimentar con un segundo. No hay necesidad de aprender todos los idiomas. Encuentra tu nicho y hazte increíble!
  • Para jóvenes, MIT (Massachusetts Institute of Technology) creó la herramienta de programación y sitio web, Rasga. Esta herramienta enseña conceptos de programación utilizando colas visuales en lugar de intimidar texto. También es útil para los adultos que se sentirían más cómodos enfocados en elementos visuales en lugar de conceptos y texto abstractos.
  • Imagen titulada Conviértase en un ingeniero de software Paso 3
    3. Estudiar estructuras de datos y algoritmos. "Algoritmo" Simplemente significa una fórmula o proceso para resolver un problema. Los ejemplos comunes son el hallazgo de ruta para encontrar la distancia más corta entre dos puntos, buscando encontrar un elemento específico de datos en un conjunto grande de datos, y clasificación para organizar datos en algún orden. A "estructura de datos" Es cierta forma de organizar datos para facilitarlo de resolver ciertos problemas. Los ejemplos comunes son matrices que simplemente contienen elementos de datos uno tras otro en algunas tablas de pedido y hash que almacenan datos de algunos "clave" en lugar de una posición en una lista. Concéntrese en el desarrollo y mantenimiento de sus habilidades para hacer su mejor esfuerzo una vez que haya obtenido una posición como ingeniero de software.
  • (Opcional) Estudio Matemáticas. Las matemáticas serán parte de cualquier especialización en ciencias de la computación, y muchos algoritmos y estructuras de datos se derivan los tallos de las matemáticas. Si bien no es absolutamente necesario, tener un fondo fuerte en matemáticas le dará habilidades básicas más fuertes para analizar y diseñar nuevos algoritmos. Si está dirigido a compañías que realizan una investigación y desarrollo de vanguardia, las matemáticas serán una necesidad. Si desea un trabajo corporativo de Cushy, es probable que quiebra a través de Matemáticas de nivel superior.
  • Matemáticas discretas es un área de estudio particularmente útil, al igual que cualquier curso de matemáticas que involucre software.
  • Imagen titulada Definir un problema Paso 4
    4. Suplemento tus estudios. Los sistemas educativos a menudo están desactualizados. Los libros de texto se revisan más lentos que el software se actualiza. Las instituciones educativas proporcionan conceptos teóricos y formas de pensar que pueden ser críticas para su éxito, y por lo tanto no deben ser descontadas. Sin embargo, lo que recibirá usted pagará es poder aplicar la teoría al software del mundo real. Aquí es donde se suplica tus estudios.
  • Navegar a través de Desbordamiento de pila. StackOverflow es un sitio web de preguntas y respuestas para desarrolladores. Puede buscar en la etiqueta para identificar la tecnología, el espacio problemático o el idioma que desea mejorar en. Ver las respuestas de los demás le dará una idea de cómo los ingenieros resolvieron problemas. Bookmarking Clever Solutions también lo ayudará a construir su kit de herramientas de resolución de problemas.
  • Use los sitios de práctica para la codificación. Los sitios como Codewars y Codingingame ofrecen miles de problemas para que prueben sus habilidades contra.
  • Encuentre una comunidad del mundo real para ayudarlo a inspirarlo, desarrollar conexiones y darle orientación sobre dónde enfocar su aprendizaje. Sitios como Reunirse Pueden ser grandes lugares para encontrar ingenieros de software y aprender más sobre la profesión. Si tiene problemas para encontrar reuniones generales de ingeniería, intente concentrarse en idiomas específicos o tecnologías. Echa un vistazo a los sitios de redes sociales, así como.
  • Imagen titulada Conviértase en un ingeniero de software Paso 4
    5. Software de construcción. La mejor manera de mejorar tus habilidades es usarlas. Si los proyectos profesionales o el software personal, de diseño y codificación le enseñarán mucho. Para muchos empleadores, los logros prácticos son importantes que el GPA o el conocimiento teórico.
  • A menos que planee monetizar el software que construya, póngalo en línea! Permitiendo que los empleadores potenciales vean los proyectos que ha creado y el código que les permite evaluar sus habilidades. También es una excelente manera de obtener comentarios para ayudar a mejorar sus habilidades.
  • Imagen titulada Conviértase en un ingeniero de software Paso 5
    6. Buscar una pasantía. Muchos estudiantes de ingeniero de software trabajan como pasantes mientras completan sus estudios. Esta puede ser una excelente manera de ganar entrenamiento y red prácticos con potenciales empleadores. Busque oportunidades de pasantías a través de sitios web de publicación de trabajos y redes.
  • Imagen titulada Conviértase en un ingeniero de software Paso 6
    7. Encontrar oportunidades de trabajo. La ingeniería de software es un campo de rápido crecimiento. Tienes una buena posibilidad de empleo inmediato, aunque puede comenzar como programador y trabajar hasta el desarrollo del software. Comience a buscar antes de que se establezca su título:
  • Las universidades a menudo ayudan a sus alumnos a obtener una posición. Hable con sus profesores, el personal del departamento y la oficina de servicios de carrera sobre cómo encontrar oportunidades de trabajo.
  • Un gran porcentaje de trabajos ocurren a través de redes. Use sus contactos personales y conoce a las personas en el campo a través de reuniones de carrera y conferencias.
  • Consulta los sitios web de búsqueda de empleo regularmente. Cree un perfil y publique su currículum en sitios profesionales y utilícelos para redes, así como aplicaciones de trabajo.
  • Imagen titulada Conviértase en un ingeniero de software Paso 7
    8. Considera tus metas profesionales. La industria del software siempre está cambiando. Continuar mejorando su conocimiento y sus habilidades prácticas, y tendrá muchas posibilidades de dar forma a la dirección de su carrera. Aquí hay algunas formas de mejorar sus perspectivas de trabajo:
  • Únete a una organización profesional para oportunidades de redes.
  • Considere una maestría si tiene planes a largo plazo en el campo. Si bien no es un requisito para la mayoría de las posiciones, una maestría mejora en gran medida sus posibilidades de trabajar para un líder de la industria, en una posición de gestión, o en software incrustado. Una maestría también puede brindarle un aumento de pago considerable al principio de su carrera.
  • La certificación puede ser útil en algunos subcarchos y regiones, pero puede disminución su conveniencia en otros. Hable con otros ingenieros en su área de especialización antes de inscribirse en uno de estos programas. A menudo, los entornos corporativos tradicionales favorecen los certificados, pero las empresas de nueva creación y las empresas altamente progresivas pueden encontrarlas como una pérdida de tiempo. Sin embargo, siempre hay excepciones. Algunos países también ven los certificados de manera diferente, por lo que intenta conectarse con los ingenieros de software y comprender cómo funciona la industria en su área.
  • Método 2 de 2:
    Cambio a una carrera de ingeniero de software
    1. Imagen titulada Conviértase en un ingeniero de software Paso 8
    1. Conozca sus perspectivas de trabajo. El campo de desarrollo de software tiene un excelente crecimiento de empleo. La ingeniería de software es un enfoque particularmente deseable en comparación con la programación básica. El ingreso del desarrollador de software mediano es aproximadamente $ 80,000 - $ 100,000 al año en los Estados Unidos.
  • Imagen titulada Conviértase en un ingeniero de software Paso 9
    2. Aprender programación. El diseño y la codificación de software práctico deben ser sus primeras prioridades. Hay una variedad de formas de ganar esta experiencia:
  • Te enseña a ti mismo la programación a través de tutoriales en línea o amigos dispuestos a enseñarte.
  • Tome un curso en línea abierto enorme (MOOC).
  • Si ya tiene alguna experiencia, colabora con otros programadores en GitHub.
  • Un bootcamp de codificación es una de las formas más rápidas de aprender, si está dispuesto a invertir dinero y tiempo libre. Simplemente asegúrese de hacer su investigación, ya que algunos bootcamps tienen mala reputación en la industria y pueden no valer la pena el dinero.
  • Imagen titulada Conviértase en un ingeniero de software Paso 10
    3. Dibuja tu experiencia. El software puede ser un tema especializado, pero su carrera anterior no tiene que involucrar a las computadoras para darle una ventaja. La ingeniería de software puede confiar en gran medida en las habilidades analíticas, la resolución de problemas y el trabajo en equipo. Además, la familiaridad con una industria puede ayudarlo a diseñar software para esa industria.
  • Incluso los pasatiempos y los intereses secundarios pueden abrir oportunidades de redes, o al menos agregar pasión a su trabajo. Las aplicaciones de juegos, las suites de música digital o el software de negocios son todos ejemplos
  • Si es posible, automatice porciones de su trabajo. Construye herramientas para acelerar las tareas y hacer las cosas más fáciles. La ingeniería de software en su núcleo es la resolución de problemas. El software de escritura es solo un método elegido del ingeniero de software para resolver problemas. Hay problemas a tu alrededor ya! No hay razón para que no puedas empezar ahora.
  • Imagen titulada Conviértase en un ingeniero de software Paso 11
    4. Inscríbase en un programa de grado (opcional). Es muy posible aterrizar un trabajo de programación después de un año o dos de experiencia lateral, o incluso unos meses con suficiente dedicación. Si ya tiene una licenciatura en cualquier tema, junto con algunas habilidades de codificación, considere ir directamente a una maestría en ingeniería de software.
  • Tenga en cuenta que esta es una opción increíblemente cara. Sin embargo, si tiene dificultades para ser auto motivado y unirse a una comunidad o probar un hobby no se adhiere, esta podría ser la opción más efectiva.
  • Imagen titulada Conviértase en un ingeniero de software Paso 12
    5. Red tu camino a un trabajo. Casi todas las industrias necesitan desarrolladores de software, por lo que su red de una carrera anterior puede ser invaluable. También considere unirse a una asociación profesional, como la Sociedad de Ingeniería de Software de IAENG, el Consejo Técnico de la Sociedad Informática de IEEE en la ingeniería de software, o la asociación para la maquinaria de computación. Además, mire los encuentros locales o las comunidades en línea. El mundo del software puede ser sorprendentemente pequeño, y encontrar la conexión correcta puede abrir una gran cantidad de oportunidades.
  • Carrera de trayectoria de flujo

    Diagrama de flujo de trayectoria profesional para ingenieros de software

    Apoyo a WikiHow y Desbloquear todas las muestras.

    Consejos

    Los títulos de trabajo en esta industria no están estandarizados. "Desarrollador de software" es un término de paraguas ancho. Tiempo "Ingeniería de software" Se supone que implica más diseño y conocimientos especializados, algunas empresas utilizan este título para arreglar un trabajo de programación de nivel inferior.
  • Si desea trabajar para una empresa específica, revise la página de la carrera de su sitio web directamente.
  • Ir vieja escuela! Practica el código de escritura en papel antes de saltar a la computadora!
  • Las entrevistas de trabajo a menudo se llevarán a cabo en una pizarra, así que encuentre algunos amigos y obtenga un código de escritura cómodo en una pizarra. Algunas compañías pueden importarle que su código se ejecute exactamente como está escrito, pero muchos no.
  • Artículos Relacionados