¿Por qué la mayoría de los desarrolladores de software odian ser llamados monos de código?

Un código mono es lo que cualquier ingeniero de software es para un CFO u otro jefe no técnico con un título de MBA (en el mejor de los casos). Afortunadamente, se limita a la TI corporativa, por ejemplo, (presumiblemente “técnicos”) departamentos de TI de corporaciones no técnicas (financieras, de seguros, de comercialización / distribución, etc.). Desafortunadamente, TI todavía emplea al 99.9% de los ingenieros de software en comparación con el puñado de compañías de software verdaderas como Google y Facebook.

Oracle e IBM no son empresas de ingeniería. Son vendedores dentro de la enorme cadena alimentaria de consultoría de TI. Empleando predominantemente monos de código para producir código innecesario y que no funciona, cobran de más a sus clientes corporativos de TI. Entonces, sí, este modelo fraudulento de contratar organismos suministrados por el taller y pretender trabajar para transferir las ganancias corporativas excesivas al personal y otros intermediarios (más sobornos a los tomadores de decisiones), se compara mejor con el teorema del mono infinito: Wikipedia.

La educación y las habilidades no son importantes para los MBA. Ni su compensación. Cualquiera, desde los occidentales de seis cifras hasta los “recursos de descuento” de $ 2 / hora de ciertos países superpoblados, son monos en código para los jefes de TI. Por supuesto, a los primeros se les paga en exceso: una llaga en la hoja de cálculo del salario corporativo (costo laboral). No hay nada que puedas hacer para cambiar esa perspectiva. Incluso cuando el servicio crítico no funciona y le cuesta a la compañía principal millones por hora (¿minuto?), Los MBA aún se preguntarán cómo sucedió y buscarán contratar más monos de código para arreglar los espaguetis creados por el equipo actual de monos.

La única forma de que se detenga es dejar que los ingenieros se conviertan en gerentes. O contratar a un gerente técnico. Espera un segundo. Las empresas hacen eso. El puñado de los empleadores que mencioné anteriormente.

El “código mono” de la OMI es un término ligero y algo humorístico para cualquier persona maltratada en un departamento de TI corporativo o una startup mal administrada (del tipo de vaporware). No es tan degradante, como la jerga oficial de PM, por ejemplo, “recurso”. Especialmente “recurso de descuento” muy inequívoco que implica la cierta calidad del trabajo asociado con la ubicación geográfica específica “offshore”. Un “vendedor de descuento” es un nombre políticamente correcto para un taller de carrocería, utilizado en documentos corporativos.

Sorprendentemente, a los “recursos de descuento” no les importa. Incluso he conocido a un tipo que se refería a sí mismo como un “recurso”. Mentalidad de servidumbre.

Me gusta bastante el término.

Código mono, código barrendero, código gruñido, botón pulsador, todos buenos términos.

El motivo es personal.

Encuentro que muchas veces, la gente piensa que el desarrollo de software es glamoroso, sexy, altamente remunerado, emocionante, que requiere un inmenso conocimiento, cerebro y talento.

El codificador “10x”. El “uno por ciento superior”.

Rockstar / ninja / l33t haxxor.

Pero las estadísticas simples y el conocimiento de medianas, promedios y sigmas nos dicen que la mayoría del software no puede ser así.

La mayoría del software es de rutina.

La mayoría de los empleadores de software no venden mis habilidades / tiempo directamente, venden un producto en parte hecho por mí.

Les gustaría que fuera más barato y más rápido, porque soy un gasto operativo. Pueden contratar a más personas lo suficientemente similares a mí que no pueden notar la diferencia unos meses después de que me haya ido.

Estoy más cerca de un soldador en una línea de montaje que de una estrella de rock.

Algunos copos de nieve especiales piensan que están por encima de eso. Pero la mayoría de la gente no lo es.

Incluso cuando era una cara bastante pública de una startup, y uno de sus primeros empleados buscados por la cabeza, el 80% de lo que hice fue escribir código que escupió datos de una base de datos a una API.

Eso no quiere decir que no hubo partes muy emocionantes de todo este viaje, incluidos algunos desafíos muy interesantes de codificación, marketing, CRO, SEO, narración de cuentos y UX de productos que resolvimos.

Es decir que la mayor parte fue solo para hacer el trabajo.

Lo que me convierte en un mono código.

Así que pásame un plátano, tengo una lista de acciones para arreglar …

El uso de este término indica una percepción superficial e incorrecta del proceso de desarrollo de software. Según esa percepción, los ejecutivos, vicepresidentes, gerentes intermedios, gerentes de producto y arquitectos pueden establecer el curso de un proyecto de manera tan clara que la tarea de escribir código sería tan técnica como traducir un idioma a otro.

Cuando llama a los monos de código de los desarrolladores, les muestra que subestima su contribución única al proceso e insinúa que cualquiera de ellos puede ser reemplazado fácilmente por otro “mono”, tal vez incluso un nuevo graduado.

Cuando alguien con poder llama a los desarrolladores “monos codificados”, lo odiarían aún más porque esa persona podría tomar decisiones basadas en esa percepción errónea. Dichas decisiones podrían reducir la compensación, la contratación externa, los proyectos que se mueven rápidamente entre los equipos, etc. Ese tipo de decisiones a menudo resultan ser destructivas para la empresa.

Usted pregunta: ¿Por qué la mayoría de los desarrolladores de software odian ser llamados monos de código?

Honestamente, debido a la comparación con un mono sin sentido presionando los botones totalmente al azar esperando obtener a Shakespeare de él (ver Teorema del mono infinito) mientras les da de comer un plátano o dos.

Y también porque los monos se usaron a fondo en la cultura occidental como una forma de representar la estupidez. A nadie le gusta que lo llamen “estúpido”.

Tenga en cuenta que a menudo en broma me califico a mí mismo como un fraccabottoni (básicamente, “empujador de botones sin sentido” en mi dialecto local del italiano – tenga en cuenta que el verbo dialectal “fraccare” deriva del latín frangere – para romper), así que no tengo falta de auto-ironía

He escuchado dos razones de desarrolladores que conozco que realmente se ofenden con ese término. El último de los dos es una de las razones por las que personalmente no me gusta el término (aunque no diré que me ofende … Simplemente prefiero no degradar a los miembros de mi equipo al usarlo, a favor de ayudando a las personas a entender lo que realmente hacemos).

Primero, que ser equiparado con un mono no es entrañable. No solo por la cuestión del “primado inferior”, sino porque los monos a menudo se entrenan de manera ritualista, sin pensamiento civil, como los minions, a la Flying Monkeys. Piensa también en el perro de Pavlov . El desarrollo es una función de pensamiento crítico, no una función de “presionar un botón para una pastilla”. Muchos desarrolladores que conozco que no están en una empresa de tecnología a menudo sienten que su función es el tipo de trabajo de “presionar un botón, obtener una recompensa”.

Segundo, el concepto de “código”. A los desarrolladores les encanta escribir código. El código es poesía. Pero para muchos desarrolladores (especialmente aquellos en pequeñas tiendas que tienen que hacer mucho más que simplemente descifrar código), las responsabilidades de la arquitectura, el diseño, las pruebas y la implementación también están sobre sus hombros. Como resultado, algunos ven el acto de codificación como solo una fracción de su trabajo real, y se sienten fuertemente atraídos por la arquitectura y los elementos de planificación. Ser un mono de código los hace sentir como si no fueran respetados por algunas de las fortalezas de planificación de negocios y software que también pueden aportar.

Al leer las respuestas presentadas ante mí, no he visto a nadie mencionar mi punto de vista. La mayoría de la gente ha dicho que los monos de código es un término despectivo, no estoy seguro de verlo de esa manera.

Para mí, un mono código es un codificador increíble. Así que imagina a las personas que hacen que Google funcione.

No les preocupa cómo se ve o la experiencia, necesitan usar sus habilidades técnicas para (en este caso) buscar un almacén de datos masivo y obtener resultados para el usuario en el menor tiempo posible.

Son maestros en hacer que el procesamiento afeite milisegundos aquí o allá …

Hacen cosas para las que simplemente no tengo paciencia o experiencia. Mi trabajo está más orientado a los negocios, requiere mucho análisis comercial, diseño, venta y capacitación además de toda la codificación (front-end y back-end)

Entonces, para mí, el mono de código no es lo que hago, pero los respeto completamente, porque cuando estoy atrapado con un código o arquitectura, son los monos de código en lugares como el desbordamiento de pila que me ayudan.

Dios bendiga a los monos del código, para siempre reinarán

Los ingenieros de software, como muchas profesiones, son incomprendidos por extraños. Muchas personas los perciben como simplemente escribiendo código y las personas que en algún momento han escrito algunas macros HTML o Excel son particularmente malas para comprender el trabajo que hace un ingeniero de software porque sienten que también tienen código escrito.

El término mono de código (como muchos ya han aludido) simplifica demasiado el trabajo que hacen los ingenieros de software de una manera despectiva. Generalmente se usa en el contexto de ‘él / ella es solo un mono código’.

Los ingenieros de software también son muy protectores de su estado elitista percibido en la tecnología. Estos son algunos de los niveles (según mi opinión):

  1. incursionar en html o ejecutar programas para ‘crackear’ software con licencia
  2. escriba un código para hacer algo: matlab, excel, javascript web básico … etc.
  3. sabe un poco sobre algoritmos y estructuras de datos para escribir código ligeramente mejor
  4. escribe buenos algoritmos con tiempos de ejecución realmente buenos y código limpio y elegante
  5. puede escribir pruebas matemáticas para mostrar que su código es el más eficiente y tolerante a fallas
  6. crea nuevos lenguajes / marcos de programación

La mayoría de los ingenieros de software están entre 4 y 6. Un mono código caería entre 1 y 2.

Pregunta: “¿Por qué la mayoría de los desarrolladores de software odian ser clasificados como monos de código?”


Porque “código mono” se usa generalmente como un término despectivo incluso para programadores sin experiencia.

Porque eso realmente simplifica demasiado su conjunto de habilidades. Sería lo mismo que definir a un escritor galardonado con el Premio Nobel como un “mecanógrafo”.

Escribir ese libro es solo una pequeña parte del proceso de escribirlo. Un mecanógrafo solo tendría que escribir un texto que se le haya entregado. Un buen escritor primero debe pensar cuidadosamente sobre la trama, la configuración, los personajes, etc., incluso antes de comenzar a escribir nada. Y ahí es donde su talento realmente muestra: encontrar una historia convincente para mantener a los lectores enganchados a la trama, no su destreza en una máquina de escribir o un procesador de textos . Incluso podría entregarle un manuscrito a un mecanógrafo experimentado para que lo haga por él. Que es, casualmente, lo que sucede muchas veces en el desarrollo de software: después de que se establecen los requisitos, se encuentran las soluciones, se define la lógica del programa y se escribe el pseudocódigo, la tarea se pasa a los escritores de software junior en “fábricas de códigos” a traduzca ese pseudocódigo a cualquier lenguaje de programación que se esté utilizando.

Pero la mayor parte, y la más difícil, ya se ha hecho por ellos. Por personas que hacen mucho más que simplemente “escribir” el código fuente.

Construir una casa es mucho más complejo que simplemente colocar ladrillos. Eso es solo una pequeña parte de todo el proceso.

Según el Oxford English Dictionary, un mono código es un programador de computadoras, especialmente uno inexperto o inexperto.

Un “mono de código” es generalmente un término despectivo para alguien que realiza tareas de programación que no requieren una habilidad sustancial y que se consideran inquebrantables.

O para decirlo de otra manera: los ingenieros de software resuelven problemas usando una computadora como herramienta, y los monos de código convierten las soluciones de problemas de otras personas en instrucciones de máquina. Escriben código: no desarrollan nuevos algoritmos.


Es el equivalente de software de llamar a un novelista escritor de hacks, en otras palabras, a alguien a quien se le paga por escribir artículos o libros apresurados de baja calidad “a pedido”, a menudo con un plazo corto.

Bueno, desde el punto de vista de un ingeniero, uno recuerda el dicho de que 100 monos, golpeando los teclados, ocasionalmente golpean algo que tiene sentido.

El software real se trata del diseño, no del código.

Porque tallar el código es la última y más mundana parte del diseño del sistema. Un poco como llamar a un arquitecto albañil. Sí, los ladrillos tienen que colocarse, y en el software no tenemos la separación de trabajo que hacen en la construcción. Pero colocar los ladrillos es la parte final de todo el proceso, y el diseño es tanto la parte más experta como la más interesante.

No todos lo hacemos. A menudo me llamo mono código … es entrañable.

A menudo, los desarrolladores de software se autodenominan monos de código para parecer amables con las personas cuyos trabajos son mucho menos impresionantes. Imagínese parado cerca del refrigerador de agua con los contadores y ellos preguntan: “¿y qué hacen?”. No voy a decir: “Escribo un código increíble que cambia el mundo” frente a la persona que se duerme en una calculadora. .

Los programadores que se refieren a sí mismos como monos de código es simplemente un ejercicio positivo de etiqueta (minimizamos la jactancia de esta manera).

Me referí a mí mismo como un mono código durante mi primer año fuera de la universidad. Mi primer gerente de programa pensó que era divertido porque hice mucho más que solo trabajar en el código para ese proyecto. Además, soy un tipo muy grande. 6′3 ″ 290 + lbs con una voz grande y resonante.

Cuando dejé ese trabajo, ella me dio un colorido juguete de gorila relleno con una nota muy linda que hablaba de todo lo que hice por ella y el equipo mientras estuve allí. Fue, con mucho, mi gerente de programa favorito con el que he trabajado y aprendí más de ella sobre cómo tratar con clientes profesionales que en los otros 9 años que he pasado desde entonces. En esa tarjeta me dijo que ya no me permitían llamarme mono código. A partir de ese momento, me referiría a mí mismo como un gorila de código. He intentado desde entonces conseguir una compañía que me permita poner eso en mi tarjeta de presentación. Mi empresa actual al menos me permite incluirla en mi biografía en el sitio web, ya que es principalmente una empresa de diseño y soy el único desarrollador de .NET en el personal.

Me encanta el término personalmente, pero supongo que soy un poco diferente a la mayoría.

En general, los simios, y más específicamente, los homínidos, nos ofendemos por estar asociados con esos primates de cola y definitivamente más primitivos. ¡Al caminar más o menos erguidos, nos hemos ganado el respeto de los habitantes de los árboles!

Dado que esta disminución proviene de la casta financiera parasitaria, no me molesta ya que tampoco los respeto. En los días de las puntocom trabajamos en las mismas oficinas que los tipos financieros y Cristo es un grupo ignorante. Nunca olvidaré al tipo que no pudo nombrar los planetas solares y no sabía cuál era la tabla periódica.

El tipo financiero ha resentido a los desarrolladores que ganan salarios reales mientras están tan separados de la corriente de ingresos. Nos consideran como sirvientes. Pueden besarme el culo.

No me importa, puedes llamarme así si quieres.

Es solo un apodo, como llamar a un gerente un Excel Jockey.

More Interesting

Ingenieros o desarrolladores de software: ¿qué haces para relajarte durante tu tiempo libre?

¿Qué hace a un buen programador OCaml?

Si tengo que elegir * uno *, ¿cuál es el mejor título de desarrollo de software / ingeniería / operaciones para un equipo de alto rendimiento?

¿Hay herramientas decentes disponibles para medir el desempeño de los empleados desarrolladores de software? Tal vez algo con un sistema de recompensa incorporado? (Gamificación)

¿Qué desafíos de programación puedo usar para involucrar a mi equipo en Coding Dojo?

¿Cuál es el salario más alto para desarrolladores de software y qué habilidades requiere?

¿Qué es lo más complejo del desarrollo de software, según su experiencia?

¿Cuáles son los detalles técnicos detrás de las aplicaciones o extensiones que bloquean los anuncios?

¿Cómo es el futuro para el desarrollador de BizTalk? Considerando el plan de carrera a largo plazo, ¿debo continuar mi carrera en BizTalk?

¿Cuáles son las cosas en el desarrollo de software que solo puedo aprender trabajando en empresas y no solo?

¿La decisión de Sony de retirarse de DRM está alejando a los desarrolladores y editores externos?

¿Qué software usan los equipos de cricket para analizar el desempeño de los otros equipos? ¿De dónde sacan los datos? ¿Cómo lo visualizan? ¿Quién desarrolla este software?

¿Puede escuchar audiolibros mientras programa?

¿Cuánto salario debo exigir como desarrollador de software de una agencia de viajes en línea (MNC) en Bangkok? Están ofreciendo 1400k baht tailandés anualmente.

Como desarrollador de software a los 32 años, me enfrenté a una grave discriminación por edad en una startup joven. ¿Qué tengo que hacer?