En el mundo del desarrollo del software, utilizamos ciertos conceptos para referirnos a un profesional. Por ejemplo, en mi colegio le decíamos muchas veces «ingeniero» o una persona que era «técnico en sistemas». Obviamente, es una comparación que tiene una brecha académica bastante larga. Una ingeniería dura aproximadamente cinco años de estudio, mientras que un técnico unos dos o tres años. Y si hablamos de conocimientos, un ingeniero es mucho más amplio en ese tema.
Lo mismo ocurre cuando se habla de «desarrollador o programador» y si «desarrollador y programador es lo mismo». Primero que todo, para ser programador no necesitas una ingeniería, y hay muchos casos en donde muchos ingenieros informáticos no se dedican a la programación. Ahora, si hablamos de los desarrolladores, pasa que tampoco son lo mismo que los programadores. Es un error que hasta yo cometía, utilizando estas dos palabras como si fueran sinónimos, y hasta hace poquito me di cuenta que ambos cumplían funciones completamente diferentes.
Así que el día de hoy observaremos cuál es la diferencia que existe entre estos profesionales de la computación. Antes de continuar, te voy a hacer una pregunta y quiero que me la respondas ya mismo en los comentarios: ¿Qué crees que hace un desarrollador «full stack» o de «pila completa»? En el transcurso del vídeo, observaremos cuál es su función y quiero saber cuánto sabes de perfiles profesionales en el mundo de la programación.
La función de un programador
El término «programador» es el más general para toda la gama de trabajos en la creación de productos de software. Muchas veces se lo define como una persona que escribe código y participa tanto en la parte del diseño como en la parte lógica de una aplicación digital. Y eso es obviamente lo que él hace.
Si tú ves a una persona sentada escribiendo código, es un programador, independientemente de si es ingeniero, técnico o licenciado, o tecnólogo. Y en fin, todo lo que resulte en una salida de producción digital mediante la utilización de lenguajes de programación, lo hace un programador.
El rol del desarrollador
Un desarrollador también escribe código, pero de igual manera hace otras tareas. Estas incluyen documentar el software que está realizando, realizar un respectivo análisis, hacer el diseño, realizar pruebas, depuración y hasta la optimización de un software. Son tareas un poquito más complicadas y que requieren de unos conocimientos un poco más profundos sobre el desarrollo de software.
En estos casos, sí podríamos estar hablando de un ingeniero, ya sea de sistemas, de software o informática. Ya que ellos, a lo largo de su carrera, se especializan en este tipo de cosas. De ahí proviene el famosísimo desarrollador front-end que se encarga de la interfaz gráfica, o del desarrollador back-end que se encarga de la parte lógica.
Sin embargo, hoy en día se utiliza mucho el término full stack o de pila completa. Este término se refiere a un desarrollador que sabe hacer un software completo, y es lo que muchas empresas buscan. Buscan un desarrollador que sepa tanto de front-end como igualmente de back-end.
Finalmente, el ingeniero es una persona con muchos conocimientos, tanto de las ciencias de computación, matemáticas y hasta de la propia ingeniería de software. Gracias a una base educativa sólida, un ingeniero es capaz de realizar un análisis a un problema y a partir de allí aportar una solución de software. Porque se supone que tiene capacidades para administrar un producto.
Pero no crean que eso se aplica en la vida real, porque hay ingenieros que ni siquiera logran conseguir su primer empleo, porque justamente se centraron en su título y no en sus conocimientos. Y ahí está el gran problema que tiene la adolescencia respecto a la universidad. Piensa que por ir a ella, en un futuro asegurado, y la realidad es que no.
Como yo voy a pensar en construir un producto de software, si no soy capaz de programar ni siquiera una calculadora, si en mi perra vida he programado una página web, si nunca he trabajado por lo menos un mes como desarrollador. Es obviamente ilógico. Todo en esta vida es un proceso, y poco a poco vamos logrando escalar un peldaño en este campo de la programación. A menos de que seas un genio y que el día de mañana programas una aplicación que en un futuro se va a conocer como Facebook o PayPal. Para casos que se dan de uno en un millón.
Entonces, a nosotros los mortales nos toca ir pasito a pasito, suave suavecito.