Eugene Cozac em se tornar um desenvolvedor de alto nível
Publicados: 2022-10-26TechBullion: Como você entrou na programação?
Eugene Cozac: Crescendo, descobri meu interesse em matemática e ciências STEM. Comecei a programar por conta própria e, claro, quando terminei o ensino médio, tinha 100% de certeza de que queria trabalhar em TI. Então, me formei em Engenharia da Computação na melhor universidade da Moldávia. Antes de entrar na programação montei mais de 300 computadores pois meu primeiro diploma foi em Engenharia da Computação.
TechBullion: Qual foi um dos projetos mais desafiadores para você no início?
Eugene Cozac: Bem, não posso dizer que tive algumas dificuldades no início. Mas houve um no terceiro ano da minha carreira, quando me tornei desenvolvedor front-end do Samsung Pay. Como eu era o principal desenvolvedor de interface do usuário do Samsung Pay Promotions, eu era o responsável por tudo. O Samsung Pay tinha mais de 15 milhões de usuários na época, e qualquer problema ou bug poderia influenciar sua experiência. Se algo desse errado a qualquer momento, todos os usuários podiam ver isso. Então eu fui muito cuidadoso e tentei entregar a mais alta qualidade possível.
TechBullion: Normalmente, as pessoas se especializam em um escopo restrito de linguagens de programação. Como você acabou sendo tão completo em termos de linguagens de programação?
Eugene Cozac : Normalmente, a carreira de um desenvolvedor é basicamente uma promoção do nível Júnior para o Sênior ao longo do tempo, com o aprimoramento de seu conjunto de habilidades. Mas isto não é o suficiente. A maioria dos desenvolvedores provavelmente trabalharia na mesma empresa e no mesmo projeto por alguns anos, mas não é assim que você pode se tornar o 1% melhor dos desenvolvedores. Além disso, as pessoas não são necessariamente capazes de trocar projetos muito rapidamente e, se quiserem mudar para outra empresa, isso pode se tornar um desafio. Então eu quero dizer, é que muitos desenvolvedores estão em sua zona de conforto, o que também é bom. Ao mesmo tempo, mesmo os desenvolvedores seniores nem sempre estariam dispostos a assumir a responsabilidade de liderar o projeto, eles apenas estão fazendo suas tarefas. Provavelmente, tem a ver com uma personalidade% a maioria das pessoas simplesmente não quer participar de hackathons, fazer parte da ciência ou construir algo que resolva um problema de programação. Eles são meio preguiçosos e ficam bem em sua zona de conforto. Sempre fui curioso, e minha capacidade de aprender várias linguagens vem da minha vontade de resolver o problema da melhor maneira possível versus apenas poder codificar em mais uma linguagem.
TechBullion: Você participou de alguns hackathons ou sprints de programação?
Eugene Cozac: Na verdade não. Sei que muitos desenvolvedores podem testar suas habilidades em hackathons, mas acho que o mais importante é tentar construir o máximo de projetos possível e trabalhar em ambientes diferentes. É verdade que os desenvolvedores muitas vezes querem demonstrar aos outros ou a si mesmos o quão legais eles são através dos hackathons, mas, para mim, outra maneira de provar suas habilidades é construir seu próprio framework em JS/CSS e torná-lo público ou implementar seu estrutura em uma empresa onde você está trabalhando. E está aí para provar porque essa empresa deveria usar seu próprio framework, mas não React ou Bootstrap, ou Material UI. De qualquer forma, apenas 1% dos desenvolvedores ganham hackathons, criando seu próprio framework pode construir algumas plataformas que serão reutilizáveis para milhões de usuários.
TechBullion: Qual foi o seu produto de construção mais rápido? Como você interagiu com a equipe durante o processo?
Eugene Cozac: Normalmente, os desenvolvedores trabalham em um ambiente ágil e têm várias tarefas por sprint (2 semanas). O que fazer se essas tarefas forem divididas por 2 semanas, mas você puder fazer tudo em 3 dias? Nem todas as empresas são éticas em pedir mais tarefas porque somos iguais, eu e também os gerentes de projeto estão planejando uma quantidade de trabalho para todos os desenvolvedores. Mas eu tive uma situação em que eu era contratado de uma empresa na qual eu era apenas um desenvolvedor, e por isso escolhi essa empresa. Para mim não era tão interessante trabalhar em um pequeno número de tarefas, eu queria construir um Web App para uma empresa sozinho, por exemplo em vez de 5 desenvolvedores. Em 11 meses criei um sistema de CRM do zero até o fim, havia trabalho de API, UI e UX. Este projeto foi feito muito rápido com muitas funcionalidades como gerenciamento de projetos, rastreamento de estoque, geração de faturas, criação e gerenciamento de cotações, além de rastreamento de estoque usando GPS. Não tenho informações atualizadas, mas este CRM será vendido como assinatura devido ao pequeno nicho de negócio: acústica na construção.
TechBullion: O que é preciso para ser um desenvolvedor de alto nível?
Eugene Cozac: Muitos desenvolvedores podem responder a você que a experiência é a coisa mais importante se você quer ser um desenvolvedor de alto nível, mas isso não é necessariamente verdade. Conheço muitos desenvolvedores que têm mais de 10 anos de experiência, mas muitos projetos ou diferentes tarefas complexas podem ser desafiadores para eles. Isso pode explicar por que alguém leva de 7 a 8 anos para se tornar um Desenvolvedor Sênior enquanto leva apenas 4 anos para outros. Portanto, a melhor abordagem é desenvolver suas habilidades excepcionais e o caminho certo para a resolução de tarefas e, em seguida, experiência. Ao mesmo tempo é bom fazer entrevistas em desenvolvimento para contratação: fiz mais de 100 entrevistas para diversos clientes. Como eu disse para provar suas habilidades e habilidades excepcionais em programação é implementar um projeto em sua própria estrutura na empresa para a qual você está trabalhando. Isso significa que você não apenas conhece linguagens de programação e como usar frameworks, mas também pode construir seu próprio framework e provar para a empresa usá-lo. Então, com base em sua própria estrutura, você criará um produto que usará milhões de usuários. Eu acho que isso pode fazer apenas 1% dos desenvolvedores. Por exemplo, estou construindo minha própria estrutura de interface do usuário que pode ser usada em combinação com o React, o nome é Krypton. Ainda não está concluído, mas para um dos meus clientes atuais, estou usando partes do Krypton para construir um novo projeto. Portanto, o cliente atual não está usando minha estrutura inteiramente, mas parcialmente, mas espero que até terminarmos o projeto para este cliente, meu Krypton será feito e mais de 60% do projeto será construído em Krypton. Além disso, uma boa dica para ser um desenvolvedor de primeira linha é escrever publicações científicas em revistas profissionais, tenho mais de 25 delas. Além disso, fiz mais de 100 revisões de artigos por pares, porque, como desenvolvedor, você precisa não apenas fazer parte da programação, mas também da ciência.
TechBullion: Quais são suas habilidades mais fortes?
Eugene Cozac: Eu diria, a capacidade de participar de qualquer projeto em qualquer período de tempo. Eu estava em situações diferentes de quando comecei o projeto do zero ou entrei quando o projeto estava em andamento. Muitas empresas estão lhe dando tempo em torno de 2 a 3 semanas para entendê-lo, geralmente para mim leva 2 dias. Desenvolvedores com habilidades excepcionais são capazes de entender qualquer projeto e começar a corrigir problemas ou realizar tarefas em dias, não semanas. Além disso, posso trabalhar em 4 projetos ao mesmo tempo. Suponho que apenas 1% dos desenvolvedores podem fazer isso, quero dizer, todos os tipos de desenvolvedores, de Junior a Tech Leads. Tive a experiência de trabalhar em 2, 3 e 4 projetos ao mesmo tempo, e entregar resultados muito bons, além disso, em todos eles, sou pelo menos um Sênior ou líder de equipe para cerca de 4 desenvolvedores. Além disso, nesse nível, você precisa ser capaz de orientar outros desenvolvedores, do Júnior ao Sênior. Trabalhar também muito rápido não apenas em projetos do dia a dia, mas também construir algo como uma estrutura de código aberto, escrever publicações científicas e assim por diante. Qualidade. Velocidade. Diversificação.
TechBullion: Qual idioma foi o mais desafiador para você?
Eugene Cozac: Eu não acho que qualquer framework ou linguagem seja muito desafiador, uma vez que você conhece uma linguagem de programação, outras são mais ou menos iguais, apenas tem algumas outras regras, ou um framework pode ter menos ou mais recursos. Para um desenvolvedor de habilidades excepcionais não existe nenhuma linguagem de programação desafiadora.