¿Qué cosas necesito aprender durante la universidad para prepararme para ser un desarrollador de software, no solo un programador?

Si desea desarrollar software, debe comprender todo el proceso, no solo la parte donde escribe el código. Las cosas que hace un desarrollador de software cuando crea un nuevo software son:

  1. Comprender el problema u oportunidad que se abordará, así como la forma en que el cliente o los usuarios del software quieren que se vea,
  2. Diseñe el software para resolver el problema o abordar la oportunidad,
  3. Implemente esa solución,
  4. Probar y depurar esa solución,
  5. Entregar la solución al cliente o usuarios, y
  6. Apoye y mantenga el software.

Solía ​​ser que las personas intentaron hacer esto en el orden indicado (cascada), pero resultó difícil, si no imposible. En realidad, es probable que tenga que volver a un paso anterior cuando cambien los requisitos, se encuentren problemas importantes con la implementación actual o descubra que su diseño era inadecuado debido a una comprensión menos que completa.

Entonces, trabaje para tratar de aprender todo el proceso. La mejor manera de hacer esto, en mi opinión, es desarrollar un software. Puede hacerlo como un proyecto personal o como parte de un trabajo. El primero le da libertad para explorar, el segundo puede empujarlo a hacer cosas que quizás no haya considerado por su cuenta.

Aprende todos los temas que puedas. Tan claro como eso.

Primero: depende de su carrera de elección. CS, SE y MIS hacen énfasis en diferentes aspectos de todo el asunto. Pero ninguno de ellos espera convertirte en un “programador”, un “codificador”. Esa es una de las razones por las que muchas personas piensan que un simple campo de códigos puede darles todo lo que necesitan. Eso, y cálculo y álgebra.

Segundo: los temas en su plan académico lo exponen a principios de programación, no a consejos y trucos. A diferentes campos de la informática. A las metodologías de desarrollo de software. A muchas cosas (aparentemente) más allá de la “codificación”. Aprende todos ellos. Tanto como puedas.

Tercero: los beneficios de todo ese conocimiento no son inmediatos. Pero comienzas a relacionar las cosas que aprendes en la práctica con todo eso. A veces funcionan bien juntos, puede ser que entren en contradicción. Porque lo que tienes es una referencia general, una base de comparación, no la verdad absoluta y completa.

Todos esos temas están conectados, tarde o temprano. Casi ninguno de ellos está aislado de su trabajo diario.

Leer … Leer … y Leer!

Lea todo lo que pueda tener en sus manos, arme con conocimiento. No solo materiales de tu escuela, sino también fuera de eso.

Descubra de qué se trata la Ingeniería del Software .

Aprenda sobre el proceso de desarrollo de software y su metodología .

Preste especial atención al desarrollo de software ágil y al desarrollo de software lean .

Lea sobre todos los principales lenguajes de programación y marcos para todas las plataformas (móvil, escritorio, web). No tiene que leer los detalles, solo leer lo suficiente para comprender sus características únicas , para qué se utilizan y las diferencias entre ellos .

Del mismo modo, lea sobre todo tipo de bases de datos , SQL y No-SQL . Conozca qué significa Big Data y cómo es importante para las empresas.

Aprenda sobre los patrones de diseño de software . Encontré este conocimiento extremadamente útil durante mi vida profesional.

Puede encontrar muchas recomendaciones excelentes de materiales de lectura si lo busca aquí en Quora, por ejemplo:

¿Cuáles son los mejores libros para una autodidacta de ingeniería de software?

¿Cuáles son los mejores libros de referencia para desarrolladores de software?

Finalmente, tiene mucha suerte de vivir en esta década donde hay tantos cursos de programación en línea que puede elegir y asistir de forma gratuita .

Nuevamente, puede encontrar la lista muy fácilmente buscando en Quora. Échales un vistazo, elige uno que te interese y haz el curso .

¡Buena suerte con tu estudio!

Todas las asignaturas que forman parte del curso de estudios.

More Interesting

¿Hay algún libro sobre el flujo de negocios de un desarrollo de software para la empresa del cliente?

¿Qué tipo de pasatiempos o intereses externos tiene como desarrollador de software y le ayuda con la codificación?

¿Qué va a tener más demanda en los próximos 5-10 años en la industria del juego? ¿Diseñadores de juegos, desarrolladores de software o artistas?

¿Qué deben saber todos los gerentes no técnicos sobre la gestión de desarrolladores de software?

¿Existe una lista existente de desarrolladores de juegos HTML5?

Dada una lista no ordenada de enteros, devuelve verdadero si la lista contiene duplicados difusos dentro de k índices de cada elemento. ¿Cuál es el algoritmo óptimo para este problema?

¿Por qué los desarrolladores de software dependen tanto de la recolección automática de basura?

¿Debo solicitar un aumento si seré el único desarrollador de software de la empresa?

¿Cuál es la descripción del trabajo de un desarrollador de software?

¿Cuál es un buen sitio de recomendaciones para encontrar excelentes desarrolladores / codificadores de software en el Valle?

¿Cuáles son los requisitos para ser desarrollador de software?

¿Cómo maneja su (s) equipo (s) de desarrollo la gestión del conocimiento?

¿Cómo se puede pasar de desarrollador de software a consultor de gestión?

¿Por qué la mayoría de los programadores son tan fanáticos con sus editores de texto?

¿Cómo puede una tienda de desarrollo web personalizada pasar a sus propios proyectos o startups?