¿El desarrollo de software es más fácil que la ingeniería de software?

Esto es probablemente una cuestión de opinión, pero para mí, los términos “desarrollo de software” e “ingeniería de software” son sinónimos. Significan lo mismo, al menos cuando se aplican correctamente. Sin embargo, sé que algunas personas hacen una distinción entre “desarrollo” e “ingeniería”: tienden a creer que el primero significa “Me siento y escribo código que otros me dicen que escriba”, mientras que el lado de ingeniería significa “Diseño software y sistemas, y estoy involucrado en mucho más que escribir código ”.

No estoy de acuerdo con esa afirmación, personalmente: un desarrollador de software TIENE que involucrarse en aspectos del diseño para crecer en su carrera y no verse obligado a trabajar de forma aislada. En otras palabras, creo que un desarrollador de software, al menos uno que realmente está haciendo el trabajo, ES un ingeniero de software y viceversa.

En cuanto a ser débil en matemáticas: la programación se trata de resolver problemas, no necesariamente problemas matemáticos, sino problemas del mundo real. Averiguar cómo llegar del punto A al punto B. Si se le pide que invierta los elementos en una lista vinculada, debe ser capaz de encontrar una manera de hacerlo y poder enumerar los pasos con suficiente detalle que luego podrías escribir un programa para hacerlo. A menos que el problema que esté resolviendo sea matemático, las habilidades matemáticas son algo secundarias.

Diré que entrar en la industria de los juegos puede ser particularmente difícil, y también será un lugar muy estresante para trabajar. Hay algunas cosas específicas acerca de trabajar en juegos que lo hacen más desafiante que en la mayoría de los otros sectores de TI, principalmente el hecho de que todo está impulsado por plazos, de ahí las “marchas de la muerte” que tienden a ocurrir hacia el final del ciclo de desarrollo de un juego . No voy a decirte que evites trabajar en juegos, pero te aconsejaría que te asegures de que eso es lo que quieres hacer, para que puedas seguir tu educación con ese objetivo en mente y estar mejor preparado para ello cuando ir allí.

Esta respuesta es altamente específica para la industria de los juegos y no es generalizable para otros trabajos de software.

Un título en ciencias de la computación o equivalente es un requisito para obtener un trabajo de nivel de entrada en cualquier estudio importante . Si no estás en el nivel de entrada (es decir, hiciste algunos juegos independientes muy exitosos o hiciste algo increíblemente impresionante) o no estás mirando un estudio importante (editores como EA, Activision y Ubi o estudios como Respawn y Epic) y en cambio, están buscando estudios más pequeños / estudios independientes, entonces las cosas son diferentes.

Cuando se habla de desarrollo de juegos, particularmente desarrollo de juegos AAA, hay mucho más en el trabajo que poder codificar en su sótano. Los desarrolladores en solitario con una racha de código ninja se queman y / o son expulsados ​​porque no funcionan bien con los demás.

El código dura mucho tiempo, mucho más de lo que trabaja. Alguien más hará la corrección de errores y las mejoras futuras y usted trabajará en el código de otra persona en una parte completamente diferente del proyecto. Hay conceptos muy particulares en términos de OOP y reutilización en los que debe estar familiarizado.

La otra cosa es que el desarrollo del juego, al igual que la universidad, es algo para sobrevivir. Si no puedes aguantar 3–5 años en una escuela aprendiendo, no podrás cortar el ritmo y el estrés del desarrollo. Nadie quiere hacer la inversión en un nuevo graduado solo para que se vayan después de haber dejado de entrenarlos durante 6 meses.

El título estándar para un programador de juegos es una licenciatura en informática. Hay muchos trabajos no programados en el desarrollo de juegos que tienen todo tipo de antecedentes y requisitos de habilidades diferentes, pero la mayoría de los codificadores comienzan con un BCS.

En cuanto a las malas matemáticas, ese es un problema. La programación de juegos tiende a ser una de las matemáticas más pesadas, con representación y simulación de todo tipo de movimiento físico.

Si bien las matemáticas de nivel superior, como el cálculo, no son comunes, los principios de trigonometría y álgebra lineal se usan a diario. Familiarizarse con estos es importante para cualquiera que quiera hacer programación de juegos.

Si quieres trabajar como programador, lo principal que debes hacer es programar. Lo que hagas aparte de eso depende de ti. Sí, un BS puede verse bien en el papel, pero una buena compañía de software estará interesada en las cosas que puede construir. Por lo tanto, deberá mostrarles parte de su código escrito de todos modos.

Si tuviera una compañía de software, no me interesaría en su BS. Me gustaría que me mostraras tu cartera de guthub. Quiero que me demuestres que eres un programador.

Si quieres estudiar informática, necesitarás muchas matemáticas. Eso es parte de eso. No puedes escapar si quieres tener una licenciatura en informática. Si quieres ser programador, las matemáticas son buenas, pero aquí no necesitas habilidades demasiado profundas. Tu elección.

No veo la diferencia entre ellos. Durante mis más de 20 años en TI, me han llamado “programador de software” y “desarrollador de software” y “ingeniero de software”. Entonces, ¿qué era yo?

Solo aprende a escribir un buen software. Tendrá que aprender a escribir software grande, escalable y mantenible . Deberá aprender cómo garantizar un alto nivel de calidad de software (es decir, bajas tasas de defectos). Deberá aprender a diseñar o diseñar sistemas de software.