Tips/Trucos: Para diferenciar un producto de una tecnología

Vamos a ser didácticos, porque si no trabajas en una cooperativa las «mentes pensantes» que tienes por encima en las reuniones de proyectos y sprints y mierdas similares, se llenan la boca con «vamos a usar la tecnología X y la tecnología Y y usaremos un desarrollo agile y blablablaba.».

O las psicópatas de recursos humanos (aka reclusos humanos) que normalmente son psicólogas con ínfulas de guardiana de campo de concentración…estoy esperando que en una entrevista de curro me pregunten «te encuentras una tortuga boca arriba en el desierto…». Son gente que trata a la gente como recursos y que se la suda despedir a personas con sus cosas humanas si no rinden en determinado momento concreto pese a ver salvado docena de veces el culo a la empresa, ojala haya un infierno para ellas y sea un diablo que les haga picar piedra con las manos desnudas y les haga un cuestionario cada 2 horas de su valor en la infierno.

Pues esta gente psicópata normalmente en la entrevista de trabajo te sueltan una batería de preguntas sacada de «las 10 tecnologías del año según forges/sección_tecnología_el_mundo/yahoo/o_su_puta_madre_en_bragas» pasando cosas tan curiosas como en mis tiempos mozos ver ofertas de trabajo en el tablón de anuncios de mi universidad que pedían «3 años de experiencia en puto-asqueroso M$-.Net» cuando lo habían empezado a vender ese mismo año.

Lo primero es lo primero…¿Qué es una tecnología?

Pues lo siento hijo mio, pero una tecnología puede ser cualquier cosa, y ya me he adaptado a este pseudolenguaje y también digo tecnología a todo, porque puedes decir:

  • en el proyecto X usamos tecnologías json
  • en el proyecto X usamos tecnología Python
  • en el proyecto X usamos tecnología Flake8
  • en el proyecto X usamos tecnología Django
  • en el proyecto X usamos tecnología BigData
  • en el proyecto X usamos tecnología MariaDB
  • en el proyecto X usamos tecnología git
  • en el proyecto X usamos tecnología teclados de membrana para joderle las articulaciones a los programadores
  • en el proyecto X usamos tecnología Blockchain

Y te quedas tan pancho, nadie te va mirar raro en la reunión, o nadie te va contestar al email intentando aclarar que eso no es una tecnología…salvo pedantes y pimpollitos recien salidos del FP/Univesidad….¡¡OJO!! FP o Carreras técnicas (o gente que se a pelado el  porque los que salen de ADE o Empresariales o Económicas esos te miran ojos de salmón de la pescaría encima del hielo y si ven que pueden chupar bien al jefe si esta en esa reunión…se apuntan al carro diciendo «si, si la tecnología PITICLIN es muy puntera he visto proyectos de Google que la usan».

Vale ahora vamos a ver cuando una tecnología es un producto.

Pues como todo es una tecnología. Vamos con una lista de checks para saber lo que es un producto:

  • ¿No es algo físico que puedas coger con las manos? Entonces es software, documentación, etc. ¿Es libre (software libre, o CC by-sa o similares)? NO, es un producto.
    • Ejemplos:
      • (antiguo por suerte) Microsoft Visual Basic 6, tienes que comprarlo.
      • APIs a online resful a por ejemplo datos de resultados deportivos, que a parte de pedirte un registro, te cobran por el uso, frente por ejemplo el API de Wikipedia u Openstreetmap que es de acceso libre.
      • Las API a servidores de software privativo, puede que en la siguiente versión les salga de los cojones cambiarla y te jodan medio proyecto.
      • Mierdas de IDEs como PyCharm que la versión «libre» es una mierda pinchada en un palo, y los cabrones te venden una versión privativa con lo que le da valor al puto IDE.
  • ¿Es un estándar? ¿Quién lo mantiene? Si lo mantiene solo 1 empresa o un conglomerado de empresas camuflados bajo una fundación…es un producto. Y ellos son los dueños y cuando quieran cambian. El contra ejemplo es cuando el estándar esta bajo una fundación y ves que en ella hay asociaciones, fundaciones, ongs, empresas variadas e incluso enemigas, como por ejemplo OpenGL.
    • Ejemplos:
      • Cualquier estándar de la industria de la automoción, son sus gatos y se los ****. Y no hablo solo de los protocolos de comunicación, imaginad un mundo en que se obligara a estandarizar las piezas de los coches como mas o menos se hace las de PCs y así.
      • Lenguajes de programación de mentira o productos como m$-.Net o Kotlin o Objetive C que solo lo lleva una empresa.
      • Las clavijas de los productos de Apple.
  • ¿Si es algo físico? ¿Se basa en estándares de verdad (ver anterior punto)? NO, un producto. ¿Lo fabrican muchas empresas la misma cosa física? NO, un producto.
    • Ejemplos:
      • CUALQUIER PRODUCTO DE APPLE
      • Muchas videoconsolas, salvo las que estanhechas con Android.
    • Corolario
      • Y por contra, ya para que «eso físico» reciba el calificativo de una tecnología DE LA HOSTIA….¿Lo puedes mas o menos fabricar tu (tanto en garaje o mandarlo a que te hagan las placas)? Si, entonces es una tecnología DE LA HOSTIA. Y  como superlativo para que sea una tecnología DE LA REHOSTIA. ¿Puedes fabricarlo de cero tu? Si es SI, es una tecnología de la REHOSTIA…cosa que Arduino solo es una técnologia de HOSTIA y no es un tecnología DE LA REHOSTIA porque la CPU que es una atmega xxx no es hardware libre, es un producto que si o si debes comprar a Atmel o sus copias chinas. Macho David Cuartielles a ver si le metes caña al Arduino con Risc V.
  • ¿El software no es software libre y solo es open source? Entonces es producto.
    • Notas:
      • Ocurre como PyCharm y asi que la «version libre» no es un versión completa y «lo enterprise» son añadidos, si no es una «versión mutilada».
      • Cuando el proyecto no acepta contribuciones (o pull request o ranas en sidra) que «no sean buenas» para la empresa que lo lleva.
      • Hay que sospechar cuando el proyecto lo lleva solo una empresa y encima es de las que llamamos «empresas malvadas», aunque a veces no influye.
      • También hay que sospechar cuando pese a ser un proyecto viejo, ninguna distribución lo tiene empaquetado, sobre todo si es Debian.
      • Cuando el código fuente lleva blobs o código cifrado u ofuscado.
      • Cuando tiene una licencia anti GPL.
      • Cuando los assets (rollo músicas, gráficos, videos) o ficheros no de codigo fuente, no son libres. Ejemplo claro el típico videojuego que va de libre pero no tiene ni siquiera libres un pack de gráficos y niveles de demo, lo que buscan son tontos que les mejoren el motor de gratis.
      • Cuando no existe documentación, o la documentación es una puta mierda pinchada en un palo, o para poder usarlo de verdad son cursos pagando.
      • Sospecha el proyecto esta overengining o tiene complejidad artificial.
      • Cuando le falta algo esencial para que funcione, ejemplo anterior los assets de videojuegos.
      • Cuando no compila, despliega el proyecto desde las fuentes.

Y consejo del día, por tu bien intenta en los proyectos usar tecnologías en vez de productos, porque quien sabe que vueltas da la vida y cuando te van a dejar tirado el que te ofrece el API y te quedas sin esa importante funcionalidad, y como era un producto de mierda pues no puedes decir pues «me voy a montar el API que ha desaparecido en un server mio con casinos y putas.» y buscate la vida.

 

2 comentarios sobre “Tips/Trucos: Para diferenciar un producto de una tecnología”

  1. teclados de membrana para joderle las articulaciones a los programadores

    Tengo uno de esos desde hace muchos años y no creo que mis articulaciones hayan empeorado al usarlo.

    Microsoft Visual Basic 6, tienes que comprarlo.

    Habla por ti, también existe la versión portable.

    el típico videojuego que va de libre pero no tiene ni siquiera libres un pack de gráficos y niveles de demo, lo que buscan son tontos que les mejoren el motor de gratis.

    También están las implementaciones libres de un juego viejo a la que le dejan los assets originales. Ese tipo de proyectos normalmente solo ofrecen lo básico (como los binarios y poco mas) e indican que archivos del juego original se necesitan y como obtenerlos para cubrirse las espaldas con tal de evitarse problemas legales, sino pasa algo como lo que ocurrió hace tiempo con una reimplementacion de Sim City 2000 (aunque igualmente se lo merece por estar hecho en Electron, pero ese es otro tema).

    Sospecha el proyecto esta overengining o tiene complejidad artificial.

    Me pasa con un sitio en el que estuve trabajando como freelance. Resulta que algún listillo se le dio por meter cosas como clases y customElements() en unos scripts para crear elementos personalizados. No se si me estoy volviendo viejo para esta mierda o que pero pienso que con el createElement() de toda la vida se puede hacer mas o menos lo mismo sin meter complejidad innecesaria (sin mencionar que tiene mayor retrocompatibilidad entre navegadores).

    1. Bueno lo de los teclados de membrana y los dedos…es como el editor de código fondo blanco y letras negras o fondo negro y letras blancas cual es bueno para los ojos…

      Bueno con Visual Basic 6…creo que nos entendemos…

      Cierto con juegos antiguos, ese es el punto que no están en venta y no ganan dinero de tu trabajo gratuito. Por ejemplo para mi el genial OpenTTD que hasta hace unos años necesitabas el pack de ficheros del juego original, pero ahora ya tiene remplazo libre y se puede jugar de principio a fin entero sin necesidad del Transport Tycoon.

      Complejidad innecesarea, me gustaría tener un látigo de siete puntas como el de Jesus contra los comerciantes, que tenga grabado en el mango KISS https://es.wikipedia.org/wiki/Principio_KISS . He trabajado en proyectos geniales que se han ido a la mierda por culpa de jefes y comerciales que pedían engordarlo mas y mas.

Responder a MD Cancelar la respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.