FullStack @ OLX — Parte 1

Daniela Souto Maior
5 min readApr 16, 2019

Desenvolvedor(a) Fullstack: Alguém que trabalha com QUALQUER TECNOLOGIA. Uma pessoa generalista e não especialista, focada em resolver problemas e construir produtos.

Este artigo é resultado de uma palestra que eu e Alicia fizemos três vezes, em eventos de tecnologia voltado para mulheres: WoMakersCode, TDC4Women e OLX Talks. Esta foi a maneira que encontramos de dar a ela um RIP digno (risos).

Segundo a pesquisa mais recente realizada pelo Stack Overflow, a combinação mais comum de identificação entre desenvolvedores de software é "fullstack" com "backend" e "frontend".

Top 5 — Tipos de desenvolvedor de software em 2019, segundo Stack Overflow (https://insights.stackoverflow.com/survey/2019)

Percebemos que essa é a tendência mais comum no mercado: o termo “fullstack” apenas como um agregador de desenvolvimento backend + frontend. Quando muito, incluindo tecnologias mobile híbridas ou práticas de devops.

Aqui na OLX, no entanto, ser fullstack tem uma abrangência ampla, que vai desde participar na idealização das funcionalidades do produto até acompanhar as reclamações dos usuários pra atuar em melhorias.

O desenvolvimento do software em si é atribuição exclusiva nossa, desenvolvedores, e já é bastante coisa: backend, frontend, mobile, devops… Ao mesmo tempo, cada time é responsável por uma parte do produto, de ponta a ponta, e os desenvolvedores possuem participação inclusive na definição de OKRs.

Já diz um de nossos valores: “Temos paixão por desafios e fazemos acontecer!”

Essa percepção abrangente transforma o modo como lidamos com linguagens de programação, frameworks e abordagens específicas no desenvolvimento de software.

Tecnologias e ferramentas mudam a todo momento e, por isso, não é sustentável se basear na proficiência nelas para determinar a senioridade de um(a) desenvolvedor(a) de software. É preciso mostrar capacidade de entregar resultados e causar impacto no negócio.

A escolha da OLX por profissionais fullstack está estritamente relacionada à cultura de times autogerenciáveis.

Um time de tecnologia na OLX normalmente é composto por três ou quatro desenvolvedores, um(a) gerente de tecnologia, um(a) gerente de produto, um(a) designer e, em alguns casos, um(a) cientista de dados. Como dissemos antes, cada time é responsável por uma parte do produto de ponta a ponta e isso é possível também pelas competências variadas e complementares entre os membros do time.

Como desenvolvedoras de software, não é o caso de fazer todos os papéis a todo momento. No entanto, em um time coeso, é inevitável que a gente participe de todas as decisões, contribua com ideias e se envolva em todas as etapas.

Nessa configuração, conseguimos extrair o melhor de outro de nossos valores: "Somos todos donos". Somos donos porque entendemos o problema do usuário, ajudamos a definir o quê e como será feito, porque tornamos a solução realidade e porque é nosso celular que toca de madrugada se algo der errado.

Em um time autogerenciável, conseguimos notar o imenso ganho de clareza na comunicação entre as pessoas, agilidade de entrega e assertividade na construção do produto certo, diminuindo o atrito normalmente existente em empresas que possuem times especialistas que precisam alinhar demandas para que o produto final seja construído.

E o foco?

É claro que ser especialista em alguma tecnologia ou stack pode tornar a pessoa mais produtiva em alguns cenários. Saber de cor a sintaxe de uma linguagem, ter passado por diversos problemas parecidos em algum framework, já ter componentes prontos para serem reutilizados… tudo isso ajuda a desenvolver mais rápido.

Desenvolvedores fullstack continuamente sofrem com a falta de profundidade no conhecimento de especificidades e, ainda mais, com a contínua troca de contexto em tarefas atuando em projetos com linguagens diferentes, muitas vezes no mesmo dia de trabalho.

Porém, os moldes de “fábrica de software”, como se nosso trabalho fosse análogo às linhas de montagem de carros, não se aplica bem ao nosso negócio. A produtividade por si só nem sempre é convertida em um melhor produto entregue para o usuário. Muito mais comum é ser desenvolvida — com ótima qualidade — uma funcionalidade que ninguém quer.

Trazendo os desenvolvedores para as decisões de produto e de negócio, diminuímos a chance disso acontecer. É como perder um pouco o foco no arco e na flecha (ferramentas) para poder focar melhor o alvo.

Cada estrela, um desenvolvedor de software

A nossa experiência é que as desvantagens de ser fullstack se tornam muito pequenas perto das vantagens. Ter oportunidade de trabalhar com diferentes tecnologias nos mantém sempre atualizadas e bem posicionadas no mercado. Ter conhecimento em diversas áreas é um diferencial na nossa carreira.

Por outro lado, entendemos que escolher ser fullstack ou se especializar em alguma tecnologia é uma decisão de carreira e depende do que cada um acredita ser mais adequado para seu perfil e vantajoso para seu desenvolvimento profissional.

Com certeza há empresas que procuram outro tipo de profissionais, há um bom mercado para especialistas e pode ser particularmente desafiador e empolgante ser "o ninja" do Javascript, "o guru" do backend ou "o mestre" do iOS.

Esperamos que esse artigo tenha ajudado você a saber mais sobre a carreira fullstack e a decidir seus próximos passos ;)

Se você se animou com a forma "Fullstack@OLX" de trabalhar e quer se tornar um(a) desenvolvedor(a) fullstack, mas não sabe por onde começar, veja nossas dicas na segunda parte deste artigo!

--

--