post

El futuro del desarrollo de software

El comienzo

Al principio había tarjetas perforadas. Después de eso, los programadores tuvieron que aprender código máquina. Ensamblador, lenguajes de programación estructurada de bajo nivel…

Pasó el tiempo y llegaron las herramientas para la programación visual. Más niveles de abstracción. Lenguajes orientados a objetos, programación declarativa…

Cuando estudiaba en la Universidad, hace muchos años, algunos profesores pensaban que no sería necesario escribir código en un futuro cercano. Se especificarían los requisitos del código y «automágicamente», habría herramientas que generarían el software perfecto para cumplir con esos requisitos. Por lo tanto, los ingenieros de software no necesitaban preocuparse mucho por la programación. El punto principal eran adquirir buenas habilidades de análisis y, tal vez un poco de arquitectura de software.

Trabajando como programador

Entonces empecé a trabajar en una gran empresa, como programador de software. Ese era el nivel inferior de la cadena. Si querías progresar en tu carrera, tendrías que saltar de programador a arquitecto de software, y luego a analista. ¿por qué? porque la programación y los programadores eran la pieza menos importante. Podrían ser reemplazados fácilmente e incluso no ser necesarios pronto.

Basura. El tiempo pasó y llegaron nuevos lenguajes de programación. Los entornos integrados de desarrollo ahora pueden generar automáticamente una gran cantidad del esqueleto del código. Nuestra profesión ha evolucionado, sí, pero ahora los programadores están más empoderados que nunca, y serán aún más importantes en un futuro cercano.

¿por qué? Nuestra industria es muy joven, y muchos «gurús» pensaron que evolucionaría como otras industrias. Más automatización, menos necesidad de trabajadores de base.

De programadores a desarrolladores

Falso. Parte del trabajo de codificación se puede automatizar, por supuesto. Se pueden añadir niveles de abstracción, pero nuestro trabajo tiene una parte muy importante de creatividad. Las máquinas no pueden hacer ese trabajo. En muchos aspectos, somos escritores. Necesitamos expresar los vagos requisitos de los clientes en un lenguaje formal, y eso es un montón de trabajo duro y creativo.

No hay (o no debería haber) ya distinción entre programadores y arquitectos, porque la arquitectura es una parte integrada del proceso de programación. Esos son términos obsoletos, y ahora todos somos ‘desarrolladores’.

Los desarrolladores modernos no solo necesitan codificar. Necesitan hacer un montón de pensamiento abstracto, necesitan comunicarse con muchas otras personas (clientes, gerentes, colegas…). Necesitan aprender continuamente cosas nuevas y actualizar sus conocimientos y no sólo escribir código. Ni siquiera código que funcione bien. Necesitan escribir código de alta calidad, mantenerlo y evolucionarlo continuamente.

No más distinción entre analistas, arquitectos, diseñadores y programadores. Somos desarrolladores y tenemos que hacer todas esas tareas y hacerlo bien. Las carreras ahora son una cuestión de alcanzar la maestría en nuestra profesión, y los (buenos) desarrolladores modernos necesitan adquirir un montón de habilidades. La distinción ahora es entre desarrolladores mediocres, estándar y maestros. Se trata de profesionalidad.

Creo que nuestra profesión tiene una buena salud y un futuro brillante.

Please follow and like us:
error

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *