Jose J. Fernández Programador. Desarrollador web y SEO en León

“Utilizamos tecnología propia”

Jose J. Fernández

Desde hace un tiempo, esa es la frase que más me asusta oir cuando me hablan de proyectos con programación o desarrollo de por medio.

A todo el mundo le gusta pensar que está creando tecnología. Es normal, porque la tecnología que se cree hoy definirá cómo será el mundo en los próximos años. En EEUU no quieren quedarse atrás, y por ello su presidente les anima a ser informáticos, exactamente como hace el nuestro.

En otras palabras: “si puedes crear tecnología, puedes cambiar el mundo”. Los americanos quieren dejar huella y se esfuerzan constantemente por ello. Nosotros también, pero existe una diferencia enorme entre lo que los americanos entienden por “crear tecnología” y lo que entendemos aquí.

No es la primera vez que me dicen eso de “utilizamos tecnología propia”, y no siempre con mucho acierto. En las empresas tecnológicas existen empresas que están creando tecnología y empresas que utilizan la tecnología de otras.

Aquí, la mayoría son del segundo grupo, y con lo de “tecnología propia” quieren decir lo siguiente, siempre según mi experiencia.

1. Software barato

La mayoría de las veces me he encontrado con software que estaba hecho por becarios, estudiantes de prácticas o, simplemente, por multitud de programadores que entraron y se fueron de la empresa.

Como sabrás, el desarrollo sucede más bien a medio o largo plazo (es muy raro crear software que resuelva algo en un mes), y cambiar constantemente a los programadores, analistas o ingenieros no es en absoluto una buena idea si te importa la calidad.

Ah, la calidad, ese concepto tan molesto… ¡Queremos tecnología! ¡Y la queremos ahora! Pues eso.

2. Usamos software libre, pero no liberamos nada

Es muy típico que las empresas basen casi todo su desarrollo en tecnologías libres pero luego no contribuyan en nada con dichas tecnologías. A pesar de reutilizar en muchas ocasiones software libre, no he estado todavía en ninguna empresa que considere contribuir a éste.

De acuerdo, no existe esa obligación, pero que sean conscientes de que lo que hacen es posible por el desinterés de otros programadores. También es muy curioso aplicar el concepto de “crear tecnología” a la reutilización de software libre, ¿verdad?

3. Malas prácticas

En aquellas partes que sí son desarrollos propios, lo más normal es que no hay diseño, ni arquitectura, ni se fijan estándares o convenciones internas de desarrollo… Cada parte del software está hecha como cuadró en el momento de la implementación.

Revisa el punto 1 de este artículo: si intervinieron veinte personas, hay veinte estilos distintos y veinte arquitecturas distintas. A la vez. ¡Qué hardcore!

4. Reinventan la rueda

No se debería confundir aplicar tecnología con crear tecnología. En la mayoría de los casos hablamos de empresas que hacen lo primero: aplicar tecnología a ámbitos concretos en los que no se había aplicado hasta ahora. Muy pocas empresas están creando tecnología en estos momentos, y menos en este país.

Muchas veces, en lugar de reutilizar algo que ya está hecho (y normalmente, bien hecho), las empresas prefieren hacerlo internamente. Desde cero, y con multitud de problemas, como por ejemplo, todos los mencionados en este artículo. En especial, hablaré de esto en el siguiente apartado.

Si vas a hacer algo que ya está hecho… ¿Por qué no lo adaptas de algo que ya está hecho? Habrá casos y casos, pero suele ser preferible hacerlo. O por lo menos, suele ser preferible reutilizar antes que crear algo de baja calidad, algo que es más habitual de lo que parece.

5. Hechos para dar problemas… a la empresa

Siempre se dice que un mal programador da trabajo a otros dos programadores. Aunque no me parece mal por mi (no me considero de los malos), no puedo evitar sentir cierta inquietud al pensar en el poco bien que se hacen las empresas y/o empresarios al valorar tan poco el buen hacer de los que realmente saben hacer el trabajo.

Quiero decir, siempre se valora la velocidad sobre la mayoría de las otras consideraciones (funcionalidad, eficiencia, escalabilidad, seguridad…), pese a que muchas veces eso juega en contra de las empresas.

En otras palabras, un software hecho muy rápido SIEMPRE carecerá de alguna otra cualidad. Y lo más habitual es que carezcan de, entre otras cosas, escalabilidad. Hasta el punto de que muchas veces hay que reescribir, por lo que la ventaja inicial de un desarrollo rápido no es tal si lo piensas a largo plazo.

De aquellos barros, estos lodos, ¿no?

No se mostrará públicamente.

Un enlace a tu blog o página web.