Motivación y sentido por encima de la jerarquía
En el mundo de la empresa, a menudo oímos hablar de "jerarquía". Existe la creencia convencional de que una estructura jerárquica es necesaria para que las empresas funcionen bien. Sin embargo, ¿es siempre beneficioso? El psicólogo organizativo Adam Grant sostiene que la jerarquía puede ser perjudicial para la creatividad y la productividad.
Iron Software es una empresa que está rompiendo moldes y demostrando que la jerarquía no tiene por qué ser un obstáculo para el éxito. Una forma de hacerlo es contratando ingenieros que deleguen tareas en ingenieros superiores. Puede sonar contradictorio, pero funciona.
La incorporación a Iron Software implica animar a los ingenieros veteranos a trabajar estrechamente con los ingenieros principiantes. Los ingenieros menos experimentados de Iron Software no se limitan a realizar tareas mundanas; hablan con los clientes, se convierten en expertos en el producto y crean pruebas unitarias.
Tras licenciarse en Tecnología de la Información por la Universidad de Otago, Michael se incorporó a Iron Software.
"El tercer día empecé a responder a las preguntas de los clientes, con mi jefe revisando las respuestas.
En 4 meses ya estaba escribiendo pruebas unitarias y probando todo nuestro código base. Medio año después, he corregido mi primer error y he añadido una función muy popular".
Esto es muy diferente de lo que ocurre en muchas otras empresas de software, que tienden a aislar a los ingenieros principiantes para que se limiten a una sola tarea.
Según la encuesta Stack Overflow Developer Survey de 2022, la mayoría de los desarrolladores tienen entre 18 y 24 años. El enfoque de Iron significa que pueden crear puestos de trabajo para desarrolladores con menos experiencia. En Iron Software, nuestros ingenieros descubren que la variedad les proporciona una experiencia más amplia, aprendizajes más significativos y conocimientos que pueden utilizar para impulsar sus propias carreras.
También se ha demostrado que la delegación de tareas de los ingenieros principiantes a los más experimentados supone un mejor uso del tiempo de los ingenieros superiores, ya que no tienen que cambiar de tareas o investigar, sino que pueden centrarse en completar el trabajo que se les ha delegado.
A los diez meses de trabajar en Iron Software, la función de Michael cambió para reflejar su experiencia. Ahora, su día a día incluye la revisión de pull requests y la redacción de documentación, así como la gestión de otros ingenieros.
Iron Software cuenta con un equipo de ingenieros de producto y un equipo de asistencia técnica.
El papel de Michael es, en parte, hacer de puente entre el trabajo de ambos equipos para garantizar que se transmiten las opiniones de los clientes; en conjunción con las prioridades de desarrollo de productos.
"Cuando los ingenieros de producto hacen cambios en un producto, no se implementan inmediatamente, sino que pasan por un proceso en el que piden a sus compañeros que revisen su cambio y lo prueben, para verificar lo que han hecho".
Se anima a las personas a aprender unas de otras en función de sus puntos fuertes. La ventaja para los desarrolladores menos experimentados es que aprenden de la forma de trabajar de los ingenieros con más antigüedad y experiencia. También tendrán una habilidad única que puedan aportar.
Puedes aprender mucho de cómo escriben el código", dice Michael, "porque tu papel en un pull request es buscar casos extremos que se hayan pasado por alto y hacer sugerencias y formas de mejorarlo". Crea responsabilidad de equipo, lo que a su vez es un buen ejercicio de creación de equipo, ya que trabajamos juntos".
La encuesta de desarrolladores de Stack Overflow de 2022 destaca que la mayoría de los desarrolladores tienen más de 9 años de experiencia. El enfoque de trabajo de Iron significa que pueden acomodar tanto a desarrolladores principiantes como sénior. El bucle de retroalimentación permite hacer revisiones, aplicarlas y construir colectivamente un producto mejor y más estable.
Según Jacob Mellor, Director de Tecnología de Iron Software, "la parte más importante de mi papel es conseguir que la gente revele sus bloqueos y poner de relieve dónde hay problemas para asumirlos y quitárselos de encima. Las reuniones de equipo más productivas son cuando alguien dice que está atascado, porque alguien en la sala tendrá una solución". Este planteamiento de comunicación abierta y resolución de problemas, independientemente del rango o el cargo, fomenta una cultura positiva en la que todos se sienten animados a aportar sus ideas y a trabajar juntos por un objetivo común.
Incluso cuando se trata de la planificación de scrum, los ingenieros de nivel básico son los que dicen a los ingenieros superiores lo que tienen que hacer. La estructura de Iron Software permite que todos los ingenieros tengan una perspectiva de alto nivel de los problemas y reconozcan patrones sobre qué tipo de problemas se han producido, de modo que puedan destacarse para una inmersión en profundidad. Este enfoque garantiza que todos tengan voz y que se alcancen las mejores soluciones mediante la colaboración.
Esta cultura de delegación y comunicación abierta permite a Iron Software contratar a más ingenieros con menos experiencia previa, que optan por codificar en .NET. Como aconseja Mellor: "Mi consejo a los ingenieros que empiezan es que aprendan a codificar en .NET. Es un lenguaje de programación estable y fácil de depurar y, con MAUI, ahora puedes implementarlo en cualquier tipo de dispositivo. Las empresas de Silicon Valley están tomando decisiones de tendencia, pero .NET sigue contando con algunas de las mentes más inteligentes del mundo en diseño de lenguajes y compiladores que invierten en él, y Microsoft lo respalda con miles de millones de una forma que Java prometió pero que, en cierto modo, ha abandonado la carrera."
Iron Software ha puesto en marcha varios ejemplos prácticos para lograr una cultura libre de jerarquías, incluida la planificación bianual del OKR del equipo, para que cada miembro del equipo comprenda su función, sus proyectos, sus prioridades y cómo pueden apoyarse mutuamente. Además, demuestran confianza a los miembros del equipo permitiendo horarios de trabajo flexibles, lo que demuestra que valoran el equilibrio entre la vida laboral y personal de sus empleados. Por último, animan a los miembros del equipo a poner de relieve los problemas, aunque los hayan creado ellos mismos, ya que encontrar problemas y resolverlos ayuda a la empresa a crecer y mejorar.
"Esta estructura significa que podemos ofrecer a más ingenieros emergentes el inicio de su carrera, porque estamos creando muchos más puestos de trabajo", afirma Jacob.
"Mi consejo a los ingenieros que empiezan es que eviten la última moda de Silicon Valley.
99/100 líneas de código de moda nunca pasan a producción o se eliminan y sustituyen en un ciclo de 3 años".
En cambio, .NET tiene longevidad y cuenta con el respaldo de Microsoft. Jacob continúa:
"NET sigue contando con algunas de las mentes más inteligentes del mundo en diseño de lenguajes y compiladores que invierten en él, y Microsoft lo respalda".
Iron Software sigue creciendo, y nuestra cultura y estructura empresarial continúan evolucionando, pero estamos comprometidos con una cultura de aprendizaje; donde la contribución significativa es más importante que la jerarquía.
Cultivar una cultura del rendimiento que promueva la salud en Iron Software
Cerrar la brecha de género: por qué las mujeres deben formar parte de la ingeniería de software