¿Que es un programador?

20 Abril, 2011

Curiosidades, Tecnología

Es curioso como cambian y evolucionan las cosas, uno de los mayores problemas que se le achacaba a la informática hace unos 20 años, era la poca madurez, la poca organización, y la falta de planificación.

Planificar el desarrollo de un software era toda una aventura, había algunos algoritmos, técnicas basadas en puntos de función, en líneas de código, etc.. pero no había nada que fuera más o menos exácto.

Cuando las empresas empezaron a organizarse y definir unas estructuras básicas de desarrollo, la cosa empezó a mejorar, al mismo tiempo que se perdía productividad, si, se perdía productividad. Vamos a explicarlo un poco, por que es un poco gracioso.

Las empresas con una mala estructura, podían tardar en desarrollar una funcionalidad X entre 3 y 12 meses, era una lotería. Las empresas con una buena estructura, siempre tardaban 10.

Pero muchas empresas querían eso, estaban dispuestas a pagar 10 meses, con tal de que no hubieran sorpresas. Estas estructuras solían tener los siguiente perfiles: (y alguno más que he omitido)

  • Arquitecto: Establecía los lenguajes, FrameWorks y arquitecturas a utilizar en un desarrollo.
  • Jefe de Proyecto: El que se pasaba el tiempo planificando y hablando con el cliente para que no se enfadara con los retrasos, a parte de gestionar las vacaciones y ausencias del resto del equipo.
  • Consultor: Perfil IT experto en el negocio, esto es totalmente imprescindible, si vamos a desarrollar un ERP, al menos que uno del equipo sepa que es un ERP.
  • Analista: Persona que es capaz de traducir un problema en un algoritmo. Tiene que lidiar con el consultor, con el cliente, y con los programadores.
  • Programador: Persona que traduce el algoritmo facilitado por el Analista, en un código entendible por la máquina.
  • Expertos Horizontales: Eran GURUs en distintas áreas que trabajan en varios proyectos, como Base de Datos, Usabilidad, etc….

Con el auge de las StartUps y el Open Source, estas estructuras se volvieron obsoletas, apareció la programación ágil, la cual se mal entendió, y se llegó a una situación donde todo el mundo hacía de todo, se perdió la especialización, la organización, y todo el esfuerzo aplicado durante muchos años en proporcionar a la Ingeniera Informática de un prestigio, de una profesionalización, se fue al garete, y veamos el por que…..

Una pequeña Start Up, no puede permitirse el lujo de contratar a varios perfiles, necesita a un “pogramador” Crack, alguien que en poco tiempo le monte una solución y que esta sea la mejor del mundo, pero…. ¿Necesita un programador?

Si definiéramos las necesidades de esta StartUp, diríamos que necesita una persona con conocimientos en:

  • Arquitectura Web
  • Análisis
  • Diseño Gráfico
  • Programación
  • Base de Datos

¿Y a esto lo llamamos programador? jeje, pues que bien, y si ahora necesita un ayudante que se dedique a picar código, ¿también lo llamamos programador?

El lenguaje es demasiado rico para que programador sea cualquier cosa, y ese es el problema, que los programadores se empeñan en llamarse así mismos programadores independientemente de las habilidades o conocimientos que tenga, estás mezclando a un becario que acaba de terminar FP con un Ingeniero que acaba de desarrollar el software que lleva un satélite espía bajo el mismo nombre.

Traslademos esto al mundo físico, si vamos a construir una cosa y contratamos a una empresa, ¿que pensaríais si os manda a 5 albañiles? si, sólo albañiles, ni arquitecto, ni aparejador, ni fontanero, “es que esas definiciones están anticuadas, ahora todos somos albañiles”.

Seamos realistas, y llamamos las cosas por su nombre, y si no tiene nombre, pues le damos un nombre, pero lo que están haciendo los programadores es cavar su propia tumba, aplanando la jerarquía y especialización que ha costado muchos años crear.

Y si hablamos de sueldo, pues claro que están pagando una “mierda”, es normal, si dentro del mismo “saco” está el becario gratuito, el salario medio del puesto bajará, es que es normal.

A parte de esto, os voy a revelar una cosa que quizás no sepáis, la mayoría de los puestos de trabajo de IT no están en Internet, están en negocios tradicionales como la Banca, la Construcción, Utilities, Administraciones públicas, etc… y en estos sectores siguen con la jerarquía “antigua”, y son los que determinan los salarios, y mientras ellos piensen que un programador deben cobrar lo mínimo, por que debe hacer lo mínimo, el resto de empresarios, aunque sean de Internet, van a pensar lo mismo.

NOTA:

Por si alguno piensa que no sé de programación, y que sólo sé de marketing y gestión de empresas… empecé a programar con 9 años en ensamblador, con 12 ya había creado un sistema de identificación de llamadas en telefonía por pulsos, con 13 tenía mi propio procesador de textos colaborativo por puerto Serie…. he colaborado con la revista MSDN de Microsoft, y diseñé la arquitectura web para una de las empresas más grande de España, con lo cual, algo de programación se.

[Actualizado]

Veo que en los comentarios hablan de programación ágil, si nos vamos a Scrum, en la parte donde se define el equipo, veréis que sigue hablando de varios perfiles diferentes:

In the Scrum methodology, the team is responsible for completing work. Ideally, teams consist of seven cross-functional members, plus or minus two individuals. For software projects, a typical team includes a mix of software engineers, architects, programmers, analysts, QA experts, testers, and UI designers. Each sprint, the team is responsible for determining how it will accomplish the work to be completed. This grants teams a great deal of autonomy, but, similar to the Product Owner’s situation, that freedom is accompanied by a responsibility to meet the goals of the sprint.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR