- En big tech, terminar de verdad un trabajo significa llevarlo hasta un estado que satisfaga a la empresa y seguir adelante, dentro de un sistema que puede mejorarse infinitamente
- Un ingeniero capaz pero con poca iniciativa sigue repitiendo pequeñas mejoras y termina perdiendo los resultados realmente importantes
- Para que se reconozca que sí hiciste el trabajo, debes entregar resultados claros y visibles para quienes toman decisiones
- Siempre hay que revisar si lo que haces está en una forma que la alta gerencia pueda leer y evaluar
- No es posible dejar todo perfectamente ordenado; llegado cierto punto, la capacidad de "declarar la victoria e irse" se vuelve una habilidad clave
El "trabajo" tiene una naturaleza que no puede completarse del todo
- A diferencia de un problema de matemáticas o una tarea, el trabajo en el mundo real es un sistema abierto que puede mejorarse infinitamente
- Desarrollar un servicio es como plantar un árbol: después también requiere un proceso de mantenimiento continuo
El ingeniero capaz que cayó en la trampa
- Un ingeniero que carga con todo por su cuenta y solo repite mejoras pequeñas y continuas puede sentir que sí está logrando cosas, pero
- desde la perspectiva de la alta gerencia, se juzga que no hay una "creación de valor visible para la empresa"
- Como resultado, puede ser malinterpretado como una persona ocupada pero sin resultados
El significado real de "terminar" algo
- Llevarlo hasta el punto en que la empresa (quienes toman decisiones) quede satisfecha y pasar a lo siguiente
- En lugar de seguir refactorizando o repitiendo mejoras menores, hay que crear una lista clara de resultados
- Es importante tener la determinación de declarar "ya está terminado" y pasar al siguiente trabajo
Asegurar la "legibilidad" del trabajo
- Los proyectos que la gerencia ya conoce o pidió, y las respuestas a incidentes importantes, tienen alta legibilidad
- En general, la mayoría del trabajo técnico no es más que ruido técnico difícil de juzgar para la gerencia
- Por eso, hay que ajustarlo para que pueda leerse, por ejemplo volviendo visibles los resultados o destacando el impacto económico
"Terminar" es un concepto social
- Desde un punto de vista filosófico, la idea de "estar terminado" también es una construcción social, pero en la práctica tiene una fuerza muy real
- Si se ignora, puedes no ser evaluado correctamente y, en última instancia, incluso podrían despedirte
Resumen
- Trabajar no significa necesariamente haber terminado
- La mayoría de los trabajos no pueden terminarse y pueden continuar indefinidamente
- Hay que dejar de ser jardinero y convertirse en un táctico orientado a resultados
- El criterio de "terminado" es la satisfacción de la empresa o de la gerencia
- "Declarar la victoria → irse → pasar al siguiente trabajo" es la estrategia clave
7 comentarios
Parece que también es una habilidad importante elegir un trabajo con el que realmente se pueda declarar la victoria.
A limitar el alcance se le llama scoping. La capacidad está en hacer bien el scoping para poder ganar.
Hanshin vs. Soha
No son los detalles, sino resultados visibles y cuantificables
Opiniones de Hacker News
No estoy totalmente en desacuerdo con lo que plantea este artículo, pero por mi experiencia trabajando en big tech, varias startups y unicornios, no me parece un consejo muy práctico. En los últimos 10 años, el trabajo de los desarrolladores se ha especializado tanto que quedó desconectado de quienes toman decisiones y de las necesidades del cliente. Esto pasa porque el Product Manager se mete entre los ingenieros y el resto de la empresa. Yo siempre quiero generar resultados valiosos, pero en la práctica hacerlo implica vivir con estrés constante. Mi aporte inevitablemente se ajusta al pasar por el ego de la persona que habla con quienes deciden. La única vez en los últimos 5 años que sentí un logro real fue cuando asumí temporalmente el rol de Product Manager durante 9 meses. En ese período, nuestro equipo completó con éxito tres proyectos en los que otros equipos ya habían fallado varias veces. El secreto fue hablar de verdad con los stakeholders para entender sus necesidades, no tratar de hacerlo a mi manera. Así que supongo que seguiré entregando solo lo que me pidan, me van a culpar por los bugs y no me van a reconocer por las funciones. Al menos pagan bien. Igual sigo buscando un lugar donde pueda aportar de verdad
Tengo una objeción de fondo a tomar como única medida del éxito el satisfacer a quienes tienen poder. Vivimos atados a jerarquías ridículas, sí, pero no creo que todo se reduzca a mover un ticket en Jira a “hecho” o eliminar warnings del compilador. Nadie dice “no me arrepiento de haber pasado 40 años satisfaciendo a mis jefes cada vez”
En general estoy de acuerdo, pero agregaría algo: para entender lo que quiere tu manager, tienes que entender la estructura de negocio de la empresa. Debes averiguar por ti mismo cómo gana dinero la empresa y qué considera valioso. Cuando trabajas en un lugar alineado con tus valores, la compensación es mejor y la satisfacción también. Es importante hablar directamente con clientes, ventas, marketing y, si es posible, con ejecutivos. Incluso si trabajas en sistemas internos, lo clave es entender qué valor o qué protección aporta ese sistema. Si tu área no crea valor de forma clara, deberías pensar en moverte a un equipo que sí lo haga. Trabajar en algo que no se alinea con las necesidades de la empresa siempre fue un gran error
El autor dijo que “hay que producir resultados visibles para quienes toman decisiones”, y conecto con esa mentalidad de “negocio”. A muchos desarrolladores les cuesta explicar cuál es la utilidad de negocio de su trabajo. El refactoring también entra ahí. Mejorar el código puede no parecer tener ningún valor en el corto plazo, pero según el contexto puede generar un beneficio enorme para la organización. Al final, lo importante es pensar cómo conectar tu trabajo con ingresos o ahorros para la organización, y cómo comunicarlo
Me pregunto si “esta forma de pensar es la razón por la que tantos ingenieros no se preocupan por la calidad del código, las pruebas y la documentación”. Si solo te enfocas en la satisfacción inmediata de la gente de arriba, ¿quién va a esforzarse por escribir código mantenible a largo plazo? No hace falta calidad por encima de lo requerido, pero incluso una inversión mínima puede ahorrar miles de millones
He vivido esta realidad y estos problemas muchas veces, y aunque los entiendo, sigo en desacuerdo. Muchos proyectos arrancan y, cuando alguien dice “resuelto, ¡done!”, desarman el equipo. Pero el producto todavía tiene problemas, todavía necesita nuevas funciones, y la empresa sigue cambiando. Al final, por mala gestión, solo se acumula deuda técnica. Llega un nuevo manager, reconstruye un proyecto viejo y repite los mismos errores. Esa manera de trabajar es ineficiente. Si lo explicamos con la analogía del aire acondicionado: es más eficiente mantener una temperatura constante que apagarlo y volver a enfriar una y otra vez. De hecho, una herramienta de gestión que yo hice no le importaba a la dirección, pero más de 500 usuarios internos sí la necesitaban. Era importante mantener su confiabilidad continua sin invertirle demasiado tiempo de mantenimiento. Si la dejas abandonada, se fragmenta y se pierde la confianza en la herramienta. Unos pocos minutos bastaban para conservar la consistencia
Tengo sentimientos encontrados en muchos sentidos. Sin duda, para visibilidad y ascensos este artículo tiene razón, pero en la práctica sigue siendo un consejo centrado en la gestión: simplemente satisfacer al manager. Pero ¿qué pasa si no hay una dirección clara y las prioridades cambian todo el tiempo? Entonces es difícil producir resultados significativos, y la relación manager-subordinado termina convertida en una estructura total de “yes-man”. Ese resultado no es bueno
"unagentic engineer" significa un ingeniero sin autonomía. Si un ingeniero trabaja así, puede llevar a ineficiencias y problemas serios, como costos excesivos en la nube, incidentes de seguridad o quejas de clientes. Como ejemplos de trabajo que nunca se termina se mencionan los parches de seguridad, corregir errores, optimizar costos y responder al feedback de clientes. Si la empresa no entiende el valor de eso, la respuesta es cambiarse de trabajo
Odio profundamente buzzwords como "alignment". Aun así, sí es un concepto importante en esencia. En un mundo ideal, yo, mi manager y la dirección por encima deberíamos estar de acuerdo en cuál es el trabajo más importante. Si eso no pasa, entonces es un problema para quienes formamos parte de esa organización. Sea correcto o justo o no, tenemos que vivir en función de eso. Al final, hacemos lo que nos dicen desde arriba porque para eso nos pagan. Solo una minoría muy pequeña tiene el privilegio de influir hacia arriba. A eso le llaman "managing up"
El post original es útil, pero siento que le faltan puntos todavía más importantes:
Estas opiniones más bien están dando en el clavo.
Tal cual jajaja