¿Qué necesito estudiar para convertirme en ingeniero de software?

Los fundamentos, basados ​​en un currículo típico de la universidad serían:
– Matemáticas
– Algoritmos básicos y estructuras de datos.
– Arquitectura de Computadores
– Programación básica
– Paradigmas de programación: procedimental, orientado a objetos, funcional y quizás lógico.
– Un lenguaje de cada paradigma desde arriba.
– Técnicas de programación
– Diseño de software
– Sistemas operativos
– Bases de datos
– Gráficos básicos y GUI
– Red de computadoras
– Sistemas distribuidos
– Gestión de proyectos

Basado en una norma ISO / IEC TR 19759: 2005 – Ingeniería de software – Cuerpo de conocimientos de ingeniería de software (SWEBOK):

  • Requisitos de Software
  • Diseño de software
  • Construcción de software
  • Pruebas de software
  • Mantenimiento del software
  • Gestión de la configuración del software.
  • Gestión de ingeniería de software (Gestión de ingeniería)
  • Proceso de ingenieria de software
  • Herramientas y métodos de ingeniería de software.
  • Calidad del software
  • Ingeniería Informática
  • Ciencias de la Computación
  • administración
  • Matemáticas
  • Gestión de la calidad
  • Software de ergonomía (ergonomía cognitiva).
  • Ingeniería de Sistemas

Si desea ser un programador de procesos, simplemente elija el proceso en el que desea programar y aprenda. Aprenda y use cualquiera que sea el último marco patrocinado por la empresa y patrocinado por la empresa para ese dominio. Tal vez sea un marco de desarrollo web de Microsoft, o Ruby on Rails, o Django de Python. Apenas necesita conocimientos de programación y parece que la mayoría de las personas en esta categoría aprendieron a programar a través de tutoriales básicos en línea. El resto de esta respuesta se aplica a la definición clásica de un programador.

Si quieres ser un programador que puede escribir cosas desde cero y entender lo que están haciendo, entonces elige un buen lenguaje de aprendizaje que te guste, con las herramientas que te gusten, en la plataforma que te guste y, finalmente, un proyecto que te guste que requiera escribir código. y resolver problemas, no discutir con un marco y hacer clic en una herramienta pesada.

El lenguaje apenas importa. Python, Java, C #, Javascript, Lua y más son buenos para comenzar a aprender.

Aprende la programación clásica. Aprenda la programación procesal o imperativa bien antes de siquiera considerar aprender algo orientado a objetos. Sea escéptico de la salida fácil. Suponga que tendrá que “hacerlo usted mismo” en muchas situaciones, o “la manera difícil”, o la forma de “fuerza bruta”. Escriba el código aunque sea incorrecto y continúe escribiéndolo hasta que no lo esté.

Una vez que haya dominado los conceptos básicos, aprenda sobre organización y reutilización, aún sin mirar las técnicas orientadas a objetos. Aprende sobre la compresión semántica y los patrones imperativos comunes.

Aquí es un buen punto de partida que he recomendado antes.

Cómo pensar como un científico informático: Edición interactiva

Finalmente, creo que es importante tener en cuenta que la pasión juega un papel monumental. Para aprovechar esto, te recomiendo que programes algo que realmente quieras o necesites.

La respuesta correcta para esto es como cualquier otra carrera o profesión. Mire a las empresas en su área que contratan a ingenieros de software y luego vea lo que la mayoría está buscando. Sé que donde vivo, generalmente necesita una licenciatura en Ciencias de la computación, al menos uno o dos certificados y / o una combinación de experiencia laboral o una cartera. Nuevamente, eso es solo para mi área, pero esto puede cambiar de una ubicación a otra y de una compañía a otra. La mejor manera de obtener la respuesta correcta para usted es la investigación. Busque en la compañía con la que desea trabajar o para, e investigue qué es lo que quiere de un Ingeniero desde allí, simplemente puede modificar su currículum y sus habilidades de entrevista para cumplir con sus requisitos. Esto tiene muchas respuestas, pero la investigación para su ubicación y habilidades actuales es su mejor amigo. Todos podemos decirle cómo empezamos o lo que se necesita para nuestras áreas, pero solo usted puede encontrar lo que se necesita cerca de usted o cerca de donde está buscando trabajar.

Bueno obtener un título es importante Pero un título no te dará trabajo hasta que tengas las habilidades y la habilidad para usar tu conocimiento para resolver problemas prácticos. Para convertirse en un ingeniero de software exitoso, debe sentirse cómodo trabajando con un equipo. La comunicación y el trabajo en equipo es una parte importante de ser un ingeniero de software. Debería poder leer el software de código y depuración de otras personas y, sobre todo, debe ser bueno en la codificación.

Sugiero cualquier grado relacionado con la informática que se centre en ser práctico y dedicar largas horas a perfeccionar sus habilidades de codificación. Haga todos los proyectos que pueda, ya que esto le daría confianza y aumentaría su cartera.

Usted puede:

· Obtener un título en ingeniería de software, informática, ingeniería informática o cualquier campo relacionado. Aunque no se convertirá en un ingeniero de software de pleno derecho una vez que se gradúe. Necesita obtener experiencia práctica y hacer muchos proyectos para aprovechar sus habilidades.

· Te recomendaría que visites esta escuela de ingeniería de software de Holberton en la escuela de San Francisco. Ofrece un programa de dos años y se centra en el aprendizaje basado en proyectos y el aprendizaje entre pares . Aprendes a trabajar en equipo y resolver problemas prácticos reales. El programa también desarrolla las habilidades sociales de los individuos, ya que el trabajo en equipo es una parte esencial de los ingenieros de software, ya que tienen que trabajar en equipos para depurar o desarrollar un nuevo software. La enseñanza no se hace de forma tradicional. No hay conferencias formales y la mayoría del trabajo se basa en proyectos donde las personas obtienen su conocimiento para construir proyectos. Le recomendaría encarecidamente este programa si desea convertirse en una persona de software.

Espero haber respondido a tu pregunta.

Ninguna regulación federal requiere ningún título para trabajar en software y / o programación, a diferencia del hardware (donde cualquier diseño o trabajo conceptual necesita un título de ingeniería). Entonces, en teoría, ninguno .

Puedes aprender a programar solo, llegar a ser extremadamente bueno y luego ser contratado. Sin embargo, tendrá que competir contra muchas personas con títulos en Ciencias de la Computación e Ingeniería.

Además, trabajar en software es mucho más que solo programar. Verifique los requisitos principales de CS de cualquier universidad (MIT aquí). Cubrirás muchas matemáticas, especialmente teoría de probabilidad y algoritmos. En cuanto a la parte de la computadora, aprenderá acerca de los compiladores operativos, por qué funcionan los lenguajes de programación …

Estos no son temas triviales, y también son muy difíciles de aprender por ti mismo. La mayoría de los programadores autodidactas tienden a pasarlos por alto en su aprendizaje y, créanme, son extremadamente importantes si quieren trabajar en software. Una vez respondí a una pregunta muy similar: ¿qué tan probable es conseguir un trabajo en CS sin asistir a la universidad?

Para la Ingeniería de Software es necesario tener conocimientos de computadoras, tener una buena base matemática porque existe una gran aplicación de las matemáticas en Ingeniería de Software. También tenga algunos conocimientos de Química, Física y Biológica, ya que algunos aspectos de la ingeniería de software requieren conocimiento del comportamiento humano e interacción con los programas para crear un sistema fácil de usar y programas.

Una cosa: la ingeniería de software genuina es una disciplina de ingeniería específica, que no es lo mismo que la programación o el “desarrollo” o la informática. Algunas empresas no reconocen la distinción, lo que puede llevar a confusión.

Preguntaste sobre educación, no experiencia, así que concentrémonos allí. Una licenciatura básica en ingeniería de software (SE) incluye pre-ingeniería (cálculo x 3, física x 2, etc.). El segundo año será la fundación SE (análisis y diseño orientado a objetos, patrones de arquitectura y diseño, construcción de software, más ingeniería de núcleo). El tercer año profundizará en ingeniería general y SE (mecánica, diseño de lenguajes de programación, algoritmos, estadísticas, ecuaciones diferenciales, diseño de sistemas operativos, arquitectura de computadoras). Cuarto año te ofrece opciones para especializar un poco tu título, junto con algunas redes y un proyecto de alto nivel.

Así que eso.

Creo que un título en ciencias de la computación le dará una base sólida para la ingeniería de software. Temas tales como estructuras de datos, algoritmos, bases de datos, arquitecturas de hardware, etc.
te ayudará a entender cómo todas las piezas en movimiento trabajan juntas. Este será un gran punto de partida para enfrentar los proyectos más desafiantes más adelante.

Estoy de acuerdo en que los estudios a menudo son bastante teóricos y siempre debes tener algunos proyectos paralelos donde practiques la codificación y aprendas sobre una tecnología popular, una base de datos, un marco web, un marco gui, etc.

La buena noticia es que puedes hacer cosas geniales, con estudiantes compañeros que comparten los mismos intereses que tú y con un conjunto de maestros a los que les haces preguntas mientras los enfrentas. Como ejemplo, eche un vistazo a lo que trabajé con un amigo durante mis estudios: http://univerx.sourceforge.net

Buena suerte y no olvides disfrutar del viaje!

Descargo de responsabilidad: Tengo varios títulos en informática.

Para ser ingeniero de software, necesita un título en ciencias de la computación con un enfoque en ingeniería de software.

Pero, lamentablemente, no aprenderá ingeniería de software hasta que esté fuera de la escuela, ya que la complejidad de los proyectos y las limitaciones con las que necesita trabajar para realmente “entenderlo” no están presentes en los proyectos escolares.

Dado que la mayoría de la ingeniería de software implica comprender los problemas que necesita resolver a partir de la perspectiva de los usuarios, también necesita hacer negocios en el camino. La mayoría del software es para uso comercial.

La mayoría de las ofertas de trabajo para Ingeniero de Software requieren al menos una licenciatura en Ciencias de la Computación o algún campo relacionado. Muchas veces se contratan EEs, por ejemplo. Muchas publicaciones también indican una preferencia por una maestría en informática. Muchas veces, la experiencia puede ser sustituida por un grado avanzado.

Estaría de acuerdo con casi todo lo que Marcas dijo, pero sé que no es necesario ir a la universidad para seguir una carrera como ingeniero de software. Si quieres convertirte en un ingeniero de software, realmente creo que la escuela podría dificultar tu experiencia de aprendizaje. La escuela es más apropiada si quieres ingresar a un área de ingeniería de software que sea más especializada, como AI, aprendizaje automático o cualquier otra cosa que requiera matemáticas, física o CS.

El ingeniero de software suele ser un “título funcional” que incluye graduados de ingeniería eléctrica, ingeniería informática, ingeniería eléctrica e informática y ciencias informáticas. Hay escuelas con títulos de ingeniería de software también. Cada programa tiene su propio enfoque. Aquí hay un ejemplo de la Universidad Estatal de San José.
Página en sjsu.edu

O Ingeniería de Computación, Ingeniería de Software o Ciencia de Computación trabajarán para ello.

Asegúrate de hacer algunos proyectos en la universidad y presta atención a los algoritmos y cursos de estructuras de datos, ya que te perseguirán durante el resto de la carrera.

Necesitas completar tu título de B.tech/MCA y también comenzar a aprender cosas de programación en paralelo. El conocimiento es igualmente importante con el grado. El solo hecho de tener un título no te dará trabajo. Debe mantenerse actualizado con tecnologías que son ampliamente utilizadas y populares.

Hay muchas rutas diferentes que puede tomar. Yendo a la universidad. CC a la universidad. O la codificación de bootcamp.

Software de gestión de marketing – Ignitur

Muchas opciones están disponibles.

Java, .net, php, sql y muchos más.