De estudante desenvolvedor a proprietário de produto
Fiquei sabendo da Microblink por um mentor da minha universidade. Na época, fiquei surpreso ao saber que havia uma empresa de C++ na Croácia que desenvolvia algo diferente de hardware ou jogos. No meu terceiro ano de estudos, vi uma vaga de emprego e dei uma chance. Pouco tempo depois, eu estava trabalhando na funcionalidade principal dos produtos da Microblink.
Meu primeiro trabalho de estudante foi mais do que eu esperava. A atmosfera era descontraída, mas a paixão por fazer um trabalho de qualidade estava claramente presente. Trabalhar com pessoas acaba sendo muito fácil quando elas conversam entre si de igual para igual e quando uma ideia vinda de um desenvolvedor sênior é tão valiosa quanto uma ideia vinda de um estudante estagiário. Recebi a orientação de que precisava desde o início e agradeço o esforço e a paciência que foram investidos em meu crescimento.
Na época em que eu estava me estabelecendo, a Microblink estava fazendo mudanças na forma como abordava os problemas de visão computacional. Novas pessoas estavam chegando para ajudar a apoiar a mudança para o aprendizado de máquina, mas ainda éramos pequenos o suficiente para resolver problemas de equipes multifuncionais gritando em nosso escritório aberto.
Hoje, todos os nossos produtos são desenvolvidos com base em nossa plataforma de IA e formamos equipes focadas que lidam com etapas específicas do pipeline. No entanto, o escritório aberto não se mostrou uma boa ideia.
À medida que a Microblink crescia, comecei a me interessar por alguns dos problemas “leves” que as novas equipes enfrentavam. O fato é que você pode ter as melhores intenções no coração e ainda assim ter problemas de comunicação. Os processos herdados precisam ser ampliados. A propriedade precisa ser clara. Percebi que queria resolver problemas em um nível mais alto de abstração e que meu conhecimento na área poderia me ajudar a chegar lá. Com o tempo, passei a exercer a função de gerente de projetos, trabalhando nas junções de nossas equipes de IA, C++, dispositivos móveis e Web.
Depois de um ano de melhorias na entrega de produtos, nas habilidades de comunicação e na priorização, a Microblink superou novamente seu “guarda-roupa”. Precisávamos definir uma estratégia de produto mais clara, estabelecer metas de longo prazo e entrar em novos mercados. Uma nova equipe de gerenciamento de produtos foi formada com o objetivo de liderar essa mudança de forma sustentável e escalonável. Fui encarregado de gerenciar o desenvolvimento de um produto totalmente novo que resolveria um problema até então inexplorado.
Assumir a nova função significou assumir novas responsabilidades. Eu tinha mais autonomia para definir metas de produtos, fazer pesquisas de mercado e conversar com os clientes, tudo isso relacionado ao que eu fazia na Microblink até aquele momento.
Do desenvolvimento ao gerenciamento
Se você está pensando em passar do desenvolvimento para qualquer tipo de gerenciamento, há algumas coisas que você precisa considerar. Não espere um cronograma simples e previsível. Você terá muito mais autonomia, mas também terá a responsabilidade (às vezes esmagadora) de especificar o que precisa ser feito e quando.
Sem dúvida, uma formação em engenharia será útil para você no seu trabalho diário. A programação permitirá que você crie uma variedade de pequenas ferramentas para ajudá-lo a realizar o trabalho com mais rapidez. Dividir e conquistar, refatorar, traduzir uma descrição abstrata de um problema em uma estratégia concreta, testar suas suposições – todos esses são conceitos que um bom trabalho de programação ensina a você, e você os guarda para sempre.
Mas a coisa mais importante que você precisa ter em mente é nutrir empatia pelas pessoas com quem trabalha. Como desenvolvedor sênior, você precisa ter empatia ao analisar as solicitações de pull dos desenvolvedores juniores. Você precisa ter empatia pelo seu chefe que pede que você justifique a necessidade de um mês de refatoração porque ele tem que fazer o mesmo para o chefe dele.
Quando você está em desenvolvimento, a grande maioria dos seus colegas de trabalho compartilha a mesma forma de pensar que você. Eles entenderão os problemas de uma estrutura específica, de um sistema de CI ou de uma arquitetura de software. Esse não é o caso quando você está no gerenciamento. Você provavelmente trabalhará com equipes que não falam a mesma língua que você. E isso vai além de misturar UX com UI quando você fala de design ou de pesquisar no Google os acrônimos que o marketing adora usar. Todo o seu trabalho será baseado na comunicação entre equipes. Para conhecer os meandros de um novo domínio, primeiro você precisa entender a motivação das outras equipes, seus problemas e estratégias.
Por isso, é importante que você trabalhe em uma empresa em que a comunicação seja aberta e construtiva. Hoje, não me importo com o título e a descrição do meu cargo. Para mim, é importante trabalhar em grandes problemas, com pessoas ambiciosas e abertas, em uma empresa que incentiva e recompensa meu crescimento.
Mateja Škriljak
Proprietário do produto