¿Cuáles son algunos de los cursos que todo ingeniero de software debería hacer?

Los ingenieros de software deben centrarse en dos aspectos de su desarrollo: habilidades técnicas y técnicas. Si bien ignorar las habilidades blandas durante las etapas iniciales de la carrera profesional puede estar bien, la falta de estas habilidades reducirá el crecimiento (para la mayoría de las personas) más allá de cierto punto.

Áreas técnicas para enfocarse

  • Fundamentos informáticos : estructuras de datos, algoritmos y resolución de problemas
  • Lenguajes de programación : elija al menos 2 idiomas en los que desee centrarse. Incluir Java en la lista será muy útil.
  • El material “a pedido” : aplicaciones móviles (Android, iOS) y aplicaciones web (AngularJS, NodeJS, JQuery)
  • Programación de bases de datos: bases de datos relacionales (Oracle, MySQL) y NoSQL (Cassandra, Solr / Lucene, MongoDB, etc.)
  • Ingeniería de software: gestión del ciclo de vida del software desde los requisitos hasta el mantenimiento posterior a la entrega
  • Diseño de software: diseño de alto nivel y bajo nivel de varios tipos de aplicaciones (lote, en línea, n-tier, independiente)

Si usted es un experto en ingeniería de software, personalmente no creo que tenga sentido invertir tiempo en tecnologías que están pasando por una fase exagerada o aquellas que son muy exclusivas. Por ejemplo, evite perder tiempo en Big Data (Hadoop, etc.), Internet de las cosas, tecnologías basadas en la nube, relacionadas con SAP, Salesforce.com, etc. No digo que no valga la pena, sino que simplemente digo que siempre puedes adquirir habilidades en estas áreas cuando hay una necesidad real. Solo asegúrate de que tus fundamentos sean fuertes.

Habilidades blandas para perseguir

  • Escritura técnica
  • Comunicación – correo electrónico, verbal y no verbal
  • Resoluciones y negociaciones de conflictos: conversaciones cruciales

No podrás leer todo de una vez. Será un largo viaje, pero lo importante para que te des cuenta es que el enfoque debe estar en los fundamentos junto con las habilidades blandas. Con estos dos en su lugar, le resultará fácil dominar otros marcos de software y tecnologías más nuevas.

Gracias por el A2A. Creo que todos los cursos de Ingeniería de Software son importantes para su futuro. Hay específicamente 2 cursos, que es absolutamente necesario y de suma importancia.

  1. Algoritmo y estructura de datos: todo lo que potencialmente tome en Ingeniería de software tendrá algo de rotación de algoritmos y estructura de datos. Introducción a los algoritmos es la Biblia para este tema.
  2. RDBMS: el sistema de gestión de bases de datos relacionales nuevamente es un tema que se requerirá en casi todas las áreas posibles del trabajo de ingeniería de software. Hay una gran cantidad de recursos en Internet, también libros de los que puede aprender esto.

Hay muchos otros temas que también se usan ampliamente en las industrias cotidianas de ingeniería de software. Estos incluyen Redes, Investigación de operaciones, Teoría de autómatas, Minería de datos, Criptografía y seguridad de redes, Big Data y Ciencia de datos , etc. Además de los temas mencionados anteriormente, debe aprender uno o más (si es posible) lenguaje de programación como C / C ++ , Java, C #, Python, etc. Es de suma importancia que tenga una comprensión clara de los conceptos básicos de todos los temas posibles de Ingeniería de Software. A partir de ahí, puede centrarse en los campos particulares que le gustan / aman.

Todo ingeniero de software debe aprender a seguir, ya sea a través de cursos o tutoriales o por título. Pero estos son: –

  1. 1 Lenguaje y conceptos de alto nivel.
  2. 1 Lenguaje y conceptos de bajo nivel.
  3. Programación de bases de datos.
  4. Estructura de datos y algoritmos.
  5. Idioma web: lado del servidor para las API.
  6. Conocimientos generales de hardware y redes.
  7. Manejo y seguimiento del cliente.
  8. Recopilación de requisitos y creación de prototipos y resolución de problemas.
  9. Informes
  10. Integración con máquinas.

Hay muchos más para aprender. Pero aprender lo mencionado anteriormente le dará una carrera exitosa como desarrollador de software.

Buena suerte

Cursos sobre aprendizaje

  1. Lenguaje de programación.
  2. Conceptos básicos: red, memoria, concurrencia.
  3. Solución de problemas mediante depuración.
  4. Dominio tecnológico: uno de nube, aplicaciones, búsqueda, datos, etc.
  5. Habilidades blandas: negociación, demos, estimación, etc.
  6. Preferido: pelusa, refactorización, pruebas, implementación.

El curso de certificación ágil es imprescindible para todo ingeniero de software.