Si tuviera que abandonar una de estas tres asignaturas optativas de Informática, ¿cuál abandonaría y por qué?

Depende.

Los desarrolladores junior abandonarían las pruebas de software al pensar que qa es donde los desarrolladores van a morir y prefieren encontrar otro trabajo que el código de prueba. Y en las entrevistas a la gente le gusta escuchar cosas geniales que has construido en lugar de cosas geniales que has probado.

Una vez que lo contratan, una buena manera de hacerse impopular es intentar aplicar lo que aprendió y sugerir que todos realicen un desarrollo basado en pruebas. Esto no solo crea trabajo adicional, sino que también puede iluminar cuán desagradables son los desarrolladores. No harás amigos con los desarrolladores, pero los chicos de operaciones te amarán.

Los desarrolladores que respeto más hacen pruebas de desarrollo y son lo suficientemente seguros en sus habilidades para saber quiénes son y realmente no les importa si los etiquetan como “Probadores”. Si conoce las pruebas de software, y cuando entreviste a su alrededor, encontrará un equipo que se ha comprometido a realizar un desarrollo basado en pruebas, debe mover el cielo y la tierra para intentar unirse a ese equipo.

Pero como dijo Robert, descartar las pruebas de software es probablemente una buena opción. Como no muchos trabajos de desarrollo requieren habilidades avanzadas de prueba de software, no perjudicará sus posibilidades al no tenerlo. Entonces, apréndalo en el trabajo si es importante para el rol. Pero aprende mientras estás allí. A nadie le gusta arreglar errores a las 3am.

Caería Introducción a la minería de datos.

La programación paralela le presentará métodos útiles para diseñar sistemas que hacen muchas cosas a la vez. Intentar hacer esto sin al menos un semestre de dirección te dejará sin saber cuán llenos de agujeros están tus intentos de paralelización.

Las pruebas de software le brindarán un buen conocimiento sobre cómo considerar que el software se probó lo suficientemente bien. Sin estas construcciones, ni siquiera podrá saber si está probando su software lo suficientemente bien.

La minería de datos, aunque no he tomado un curso al respecto, parece algo de lo que puede aprender bastante en Internet sin muchos problemas. Puede ser ventajoso asistir a una clase sobre el tema, pero con los otros dos cursos, creo que casi cualquier ingeniero de software en el clima técnico de hoy estará en el arroyo sin al menos un poco de exposición a ellos.

Teniendo en cuenta sus intereses futuros, diría que deje de programar en paralelo. Sin embargo, los 3 hieren mis sentimientos.

Puedes aprender cualquiera de los tres más tarde. Pero encuentro que la teoría de las Pruebas de Software está subestimada, y realmente te ayudará en cualquier área de software en la que trabajes más adelante. La mayoría de las pruebas de “aprender en el trabajo” se limitan a pruebas unitarias.

Data Mining está más cerca de su interés en Data Science.

La programación paralela es asombrosa. Pero para las áreas que mencionó, utilizará lenguajes de nivel superior que gestionan el paralelismo bajo el capó. No diría lo mismo sobre la programación concurrente, pero ese debería ser un curso separado.

Prueba de software con seguridad. Puedes ver videos de tu tubo y leer libros sobre el tema.

More Interesting

¿Cómo es un día normal en Microsoft IT, Hyderabad?

Software de la mesa de ayuda de TI: ¿Alguien puede comparar ServiceNow con Remedy / RemedyForce de BMC? Estoy tratando de comprender mejor los pros y los contras de cada uno.

¿Debo usar == o === en Javascript y cuál es la diferencia entre los dos?

¿Es necesario aprender a programar muy bien para desarrollar software y sistemas de TI?

¿Cuánto cuesta desarrollar un software CRM?

¿Puedo trabajar como ingeniero de software en una empresa de alta tecnología si no soy muy bueno en matemáticas?

¿Cuáles son algunos conceptos / técnicas de control de calidad rápidos y fáciles que aumentarán nuestro nivel de control de calidad?

¿Qué arquitecturas o información específica necesito saber para crear una gran aplicación web con tráfico alto o medio?

¿Cómo se puede preparar el curso en línea Arquitecturas de software orientadas a patrones para software concurrente y en red de Douglas Schmidt?

¿Qué es la modernización de software? ¿Por qué es importante para cualquier software? ¿Cuáles son las herramientas disponibles para la modernización del software?

¿Cuál es la diferencia entre la validación de software y las pruebas de software? ¿La 'validación' es parte de la 'prueba'? ¿O 'probar' es parte de la 'validación'?

¿Debo trabajar para Uber o Lyft como ingeniero de software?

¿Con qué frecuencia se utilizan las pruebas basadas en propiedades (a la QuickCheck) para desarrollar productos reales?

¿Necesito un software antivirus aunque sea un ingeniero de software y conozca las técnicas básicas de pesca / piratería?

¿Qué significa un trabajo de software? ¿Cuántos tipos de ramas hay? ¿Cómo funcionan y qué hacen?