Como título de trabajo, “programador”, “desarrollador de software” e “ingeniero de software” pueden significar lo que una determinada empresa quiere que signifiquen. Algunos lugares llaman a las personas que crean software “ingenieros”, otros los llaman “desarrolladores” y otros los llaman “programadores”.
Como anécdota, he notado un patrón con estos títulos, sin embargo, las compañías tienden a usar diferentes títulos dependiendo de cuán altamente consideren el software y la tecnología como una ventaja competitiva . En general, diría que la mayoría de las principales empresas de tecnología que creen que el software es su producto principal llaman a esas personas ingenieros de software . Los lugares en los que he trabajado que valoran el software, pero lo tratan como una función de apoyo para otra profesión (banqueros, científicos, etc.) tienden a llamar a esas personas desarrolladores de software . Las empresas que ven el software y un mal necesario los llaman programadores . Una vez más, esa es mi observación personal, sin datos concretos, así que tómalo con un grano de sal.
Por lo tanto, no hay una diferencia fundamental entre ninguno de esos puestos, a menos que estemos hablando de una compañía específica que usa más de un título (no conozco ninguna de esas compañías). Sin embargo, hay una diferencia entre programación , desarrollo de software e ingeniería de software , lo que podría explicar por qué algunas compañías prefieren un título sobre el otro.
- ¿Es común en los contratos de trabajo que el empleador pueda obligarlo a trabajar los sábados y domingos?
- ¿Los ingenieros de software ganan mucho dinero en Pittsburgh PA?
- ¿Es posible que un ingeniero de software integrado gane $ 150000 por año en Silicon Valley?
- ¿Cuáles son las habilidades requeridas para convertirse en un ingeniero de software y cuáles son las cosas que uno debe saber antes de entrar en este campo?
- ¿Qué tan importante es el conocimiento del dominio como ingeniero de software?
La programación es la tarea de traducir los requisitos legibles por humanos en código de máquina. Es el acto físico de escribir el código fuente lo que permite que el software realice su función prevista. En ese sentido, es la tarea de nivel más bajo en el proceso de desarrollo de software.
El desarrollo de software es el proceso por el cual se crea el software; desde la recopilación de requisitos, la creación de tareas, la planificación de sprint, la programación , las pruebas unitarias, las pruebas de integración, las pruebas de usabilidad / aceptación, etc. Abarca el extremo a extremo de concebir un sistema de software mediante la entrega como producto.
La ingeniería de software es el tipo de trabajo más amplio de los tres. Es la aplicación de la teoría de la informática y las matemáticas a la invención, diseño, investigación, desarrollo , mantenimiento, mejora e innovación de software [1]. Significa preocuparse menos por el software en sí y más por el problema que se está resolviendo. A veces, un buen ingeniero de software puede resolver el problema sin necesidad de escribir nuevas líneas de código. A veces, resolver el problema significa coordinar el desarrollo de múltiples sistemas de software que interactúan de manera compleja. Y a veces la ingeniería de software significa eliminar código, despreciar los servicios y diseñar el próximo sistema para que tome su lugar.
Pero sea cual sea el cargo que le otorguen, siempre piense en usted como ingeniero de software.
Notas al pie
[1] Ingeniería – Wikipedia