De estudiante de desarrollo a propietario de producto
La primera vez que oí hablar de Microblink fue a través de un mentor de mi universidad. En aquel momento, me sorprendió saber que había una empresa de C++ en Croacia que construía algo más que hardware o juegos. En mi tercer año de estudios, vi un puesto de trabajo y lo intenté. Poco después, estaba trabajando en la funcionalidad básica de los productos de Microblink.
Mi primer trabajo de estudiante fue más de lo que esperaba. El ambiente era relajado, pero se notaba claramente la pasión por hacer un trabajo de calidad. Trabajar con gente resulta superfácil cuando las personas se hablan de igual a igual, y cuando una idea procedente de un desarrollador senior es tan valiosa como una idea procedente de un estudiante en prácticas. Me dieron la orientación que necesitaba desde el principio, y agradezco el esfuerzo y la paciencia que invirtieron en mi crecimiento.
En el momento en que me estaba instalando, Microblink estaba realizando cambios en su forma de abordar los problemas de visión por ordenador. Llegaba gente nueva para ayudarnos a pasar al aprendizaje automático, pero aún éramos lo bastante pequeños como para resolver los problemas de los equipos interfuncionales gritando a través de nuestra oficina abierta.
En la actualidad, todos nuestros productos se basan en nuestra plataforma de IA y hemos formado equipos especializados que se ocupan de pasos concretos del proceso. Sin embargo, la oficina abierta no resultó ser tan buena idea.
A medida que Microblink crecía, me interesé por algunos de los problemas «blandos» a los que se enfrentaban los nuevos equipos. La cuestión es que puedes tener las mejores intenciones de corazón y seguir teniendo problemas de comunicación. Los procesos heredados necesitan escalarse. La propiedad tiene que estar clara. Me di cuenta de que quería resolver problemas a un mayor nivel de abstracción, y que mis conocimientos en la materia podían ayudarme a conseguirlo. Con el tiempo, pasé a desempeñar el papel de gestora de proyectos, trabajando en los cruces de nuestros equipos de IA, C ++, móvil y web.
Tras un año de mejoras en la entrega de productos, las habilidades de comunicación y el establecimiento de prioridades, Microblink volvió a quedarse pequeño. Necesitábamos definir una estrategia de producto más clara, fijar objetivos a largo plazo e introducirnos en nuevos mercados. Se formó un nuevo equipo de gestión de productos con el objetivo de liderar este cambio de forma sostenible y escalable. Se me encargó gestionar el desarrollo de un producto totalmente nuevo que resolvería un problema hasta entonces inexplorado.
Asumir el nuevo cargo significaba asumir nuevas responsabilidades. Tuve más autonomía para fijar objetivos de producto, hacer estudios de mercado y hablar con los clientes, cosas todas ellas que encajan bien con lo que hacía en Microblink hasta ese momento.
Del desarrollo a la gestión
Si estás pensando en pasar del desarrollo a cualquier tipo de gestión, hay algunas cosas que debes tener en cuenta. No entres esperando un horario sencillo y predecible. Tendrás mucha más autonomía, pero también la responsabilidad (a veces abrumadora) de especificar lo que hay que hacer y cuándo.
Una formación en ingeniería sin duda te será útil en tu trabajo diario. La programación te permitirá construir una serie de pequeñas herramientas que te ayudarán a hacer el trabajo más rápidamente. Divide y vencerás, refactorizar, traducir una descripción abstracta de un problema en una estrategia concreta, comprobar tus suposiciones: todos estos son conceptos que te enseña un buen trabajo de programación, y los conservas para siempre.
Pero lo más importante que debes tener en cuenta es cultivar la empatía hacia las personas con las que trabajas. Como desarrollador senior, necesitas tener empatía al revisar pull requests de desarrolladores junior. Necesitas tener empatía cuando tu jefe te pida que justifiques tu necesidad de un mes de refactorización porque él tiene que hacer lo mismo por su jefe.
Cuando estás en desarrollo, la gran mayoría de tus compañeros compartirán contigo la misma forma de pensar. Comprenderán los problemas de un marco, un sistema de IC o una arquitectura de software concretos. No ocurre lo mismo cuando estás en gestión. Es probable que trabajes con equipos que no hablan el mismo idioma que tú. Y esto va más allá de mezclar UX con UI cuando hablas con diseño, o de googlear siglas que al marketing le encanta lanzar a la gente. Todo tu trabajo se basará en la comunicación entre equipos. Para aprender los entresijos de un nuevo dominio, primero tienes que entender la motivación de otros equipos, sus problemas y estrategias.
Por eso es importante trabajar en una empresa donde la comunicación sea abierta y constructiva. Hoy en día, no me importa cuál sea mi título y la descripción de mi trabajo. Para mí es importante trabajar en grandes problemas, con gente ambiciosa y abierta, en una empresa que fomenta y recompensa mi crecimiento.
Mateja Škriljak
Propietario de producto