El error de muchos gestores de proyectos web

Con este post vengo a hacer una crítica sobre los estereotipos, en cómo se nos clasifica a los programadores: programador frontend vs backend. Es una especie de alarma, un grito al cielo como programador, una explicación de porqué subestimar el área de programación nos puede traer una cantidad ingente de problemas.

Quizá este post levanta ampollas entre algunos gestores de proyectos web, pero creo que compartir experiencias a todos nos enriquece. ¡Ojo! que no hablo de gestores de proyectos, sino de gestores de proyectos web.

Los proyectos web son complejos

También como gestor de proyectos web, viendo ambas caras de la moneda, veo que no se puede clasificar a los programadores entre backend, frontend, y nada más. Lo veo incluso absurdo. Hay una cantidad ingente de situaciones en las que se programa, y no tienen nada que ver con el desarrollo web puro, mediante HTML, CSS, Javascript, PHP y SQL.

Construir una página web puede llegar a ser tan complejo como construir un edificio.

Con la llegada del IoT, te puedes encontrar cada vez más con proyectos web en los que necesitas hardware.. hacerlo funcionar en un sistema operativo.. que conecte los datos a una web.. haciendo ventas, gestiones online y offline.. Y vuelta de nuevo la información arriba y abajo, de un lado a otro, necesitando programar en varios lenguajes, en varios sistemas operativos.

Finalmente sólo se ve la web, pero.. ¡peligro! Como el arquitecto que dirija la construcción, no sepa lo que está haciendo.. como no sepa hacer cemento y poner un ladrillo.. como no sepa pasar cables ni poner un interruptor.. tendrás un marrón importante como programador. Hacen falta muchos conocimientos y experiencia, para ser consciente de todas las implicaciones que puede tener cada proyecto web medianamente complejo.

Nunca es igual, nunca es la misma historia, no hay dos proyectos web iguales.

Sería como subestimar la programación, subestimar la informática.. Al final todo puede acabar como un “error de implementación”, cuando realmente ha sido un error de gestión. Te comes el marrón como programador, te echan del proyecto, otro cabeza de turco que paga las consecuencias de una mala gestión del proyecto. Ya lo sé, un poco duro lo que estoy escribiendo, pero es la triste realidad de muchos compañeros programadores caídos en combate..

Hay muchas especialidades en la programación

En el desarrollo de páginas web tienes un front, y tienes un back. Pero también hay una serie de situaciones en las que se programa, muchas veces para una web, que no son ni front ni back:

  • Drivers.
  • Sistemas operativos.
  • Aplicaciones de escritorio, o nativas de móviles.
  • Servicios de sistemas operativos.
  • Servicios de red.
  • Middlewares.
  • Microservicios.
  • Bots.
  • Scripts de sistema, scripts de procesamientos por lotes.
  • Programación de nubes, eventos que desencadenan acciones.
  • Integraciones, despliegues contínuos.
  • Y un largo, muy largo, etcétera..

Es decir, en el desarrollo web, pueden converger una gran cantidad de especialidades. No tenerlo presente es el origen de muchos problemas. Hay programadores que conocen puntualmente muchas áreas, pero ninguna en profundidad. Otros programadores conocen varias áreas medianamente bien, pero en otras cero pelotero.

Entonces, porqué lo de frontend y backend

Actualmente, veo mucho que la gente divide a los desarrolladores entre frontend y backend. La mayoría de nosotros empezamos por el frontend, porque es más sencillo, visual.. y a medida que vamos profundizando acabamos continuando por la parte de backend.

Entonces, ¿se puede decir que todos los backend developers son frontend también? No.

Se suele clasificar en programadores frontend a los que dominan lenguajes o herramientas de front como las siguientes:

  • HTML
  • CSS: Bootstrap, SASS, LESS..
  • Javascript: jQuery, Bootstrap, Datatables..

..y como programadores backend a los que dominan:

  • PHP, Java, ASP..
  • SQL: MySQL, Mariadb, Postgres..

Al margen de esta clasificación quedan herramientas que tienen tanto componentes de front como de back, es lo que llaman full-stack frameworks. Con ésto llegamos a la clasificación del programador full-stack.

Pero realmente, en el desarrollo web, todos desarrollamos, o deberíamos desarrollar, tanto frontend como backend. Cuanto mejor se nos da el front o el back, que nos acaban clasificando como una cosa u otra. Al fin y al cabo no le veo sentido, porque si desarrollas webs, es imprescindible saber programar tanto front como back, mejor o peor, pero lo necesitas.

Recapitulando, mis conclusiones

Volviendo al inicio del post, lo que me dice la experiencia.. mirando antiguos proyectos.. mirando atrás.. mirando sobre la leche derramada.. el error de muchos gestores de proyectos web está en subestimar el área de programación, en subestimar el área informática. No se puede gestionar la construcción de un edificio de cualquier manera, tampoco una web.

No creo que clasificar a los programadores web entre front y back sea bueno, es simplista, sobretodo cuando la mayoría de programadores web nos vemos obligados a tocar fronts y backs contínuamente. Veo más importante clasificar en niveles de experiencia, en lenguajes de programación, tecnologías y frameworks. El gestor de los proyectos web, debería de ser una persona que pique código, que sea consciente de las implicaciones que pueden tener sus decisiones. El gestor de proyectos web no debería ser una persona que haya perdido el contacto con el código fuente. Debería ser una persona responsable, no basta con un mero asesoramiento de un programador experto, ya que estará constantemente tomando decisiones.

Hay piezas de software que pueden requerir mucha atención. Hay tareas sencillas y con muchos profesionales en el mercado, otras para las que no hay en el mercado casi profesionales aunque tengan mucha publicidad. Quizá un framework sea muy molón para el cliente, con un nombre muy conocido, pero entre los desarrolladores no esté realmente teniendo mucha acogida, quizá tiene una curva de aprendizaje muy pronunciada, o incluso comience a estar en desuso. Es decir, resumiendo, no se puede simplificar la gestión de los proyectos web como si fuera un trabajo fácil de organizar. Hay mucha variedad de oficios, de personas especializadas en muchas áreas distintas. Cada día se van ramificando más y más los oficios de la programación, van surgiendo nuevos especialistas para cada nueva área. Esto cada día va a más, ya no es sota, caballo y rey. Y entre todos se complementarán los proyectos web, para poder alcanzar los objetivos en tiempo y forma.

Compartir..

Dejar un comentario

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