Hoje pela manhã, indo para a minha empresa, passei na frente de uma grande corporação, na qual trabalhei no passado.
Boas lembranças passaram pela minha cabeça, como coisas técnicas legais que aprendi e boas amizades que nasceram e ainda perduram desta experiência.
Mas nenhuma história é construída apenas de boas lembranças.

Quem consegue aprender com os erros, mesmo que dos outros, têm vantagem competitiva no mercado.
Mas nem todos estão dispostos a encarar com humildade as feridas de batalha. Isso leva à mediocridade e posteriormente à decadência.

Este post tem como objetivo externar os meus mais profundos pensamentos sobre o assunto.
Muito já falei sobre o tema na mesa do bar, mas agora resolvi eternizar o conteúdo em bytes.

O post reflete somente a minha opinião e visão sobre o tempo que permaneci na empresa.
Em nenhum momento o post tenta denegrir a empresa ou as pessoas que lá trabalhavam.
Por esse motivo também omito o nome da companhia e funcionários.

Decadência à vista

Meet the decline

Meet the decline
Logo que comecei a trabalhar nesta empresa, percebi que algo estava errado.
Após passar por agências e startups, achei que ao entrar em uma grande corporação tudo seria diferente.
Obviamente todas grandes empresas possuem problemas e nenhum lugar será o sonho dourado, porém, os problemas ali estavam em outro nível.

Analisando o problema de fora, anos depois, vejo que o primeiro grande erro foi a minha própria contratação.
Eu entrei na empresa como desenvolvedor sênior em uma equipe repleta de desenvolvedores pleno.
O problema é que muitos deles já deveriam ocupar o cargo de sênior.
A grande maioria das empresas ainda acha que esse sistema de jr/pleno/sênior/whatever funciona bem. Obviamente minha entrada na equipe gerou um desconforto para todos, afinal, o correto seria olhar primeiro para dentro, e ver se alguém estaria apto ao cargo de sênior, ao invés de sair contratando apenas porque o RH liberou uma vaga.

O segundo grande problema, ainda relacionado com a minha contratação, foi a minha entrevista nesta empresa.
Depois de ter intimidade e ficar amigo das pessoas eu até brincava: “Olha, vocês têm muita sorte de que o entrevistado fui eu, poderia ter sido qualquer outro”.
Eu não sou adepto de entrevistas tradicionais com mil testes, etc, mas um padrão mínimo precisa existir.
No meu caso foi apenas uma conversa com 3 gestores que não entendiam NADA de desenvolvimento de software, muito menos de JavaScript ou FrontEnd. Sério. A única preocupação dos gestores era de ocupar uma vaga sênior liberada pela diretoria.

Tecnicamente, existia muita gente boa por lá, porém, a cultura que corria na veia da empresa desde os primórdios era (e ainda é) precária no quesito inovação.
Eu levei mais de 1 ano para conseguir implantar GIT e mudar/criar um processo de desenvolvimento mínimo na equipe de desenvolvimento FrontEnd.

Sempre uso como exemplo um caso onde foi necessário desenvolver uma plataforma real time.
O gestor da equipe responsável, em conjunto com o seu dev líder, decidiu que a melhor solução era criar uma plataforma do zero, em C, em cima do Nginx.
Na mesma época o Node.js já estava em alta e sendo utilizado por milhares de empresas.
O Socket.io já tinha sido lançado e tinha uma comunidade muito boa e engajada no projeto.
No mínimo, uma análise deveria ter sido feita, já que a soma de Node.js e Socket.io cumpria exatamente o papel necessário para uma plataforma real time. A falta de inovação, o medo de tentar algo novo e até mesmo uma certa teimosia misturada com ego, fez com que o sistema fosse desenvolvido em C, por apenas uma pessoa.
O que aconteceu com esse sistema? Um minuto após sua finalização ele virou um sistema legado.
Nunca mais ninguém colocou a mão, o sistema ficou estagnado e consequentemente os produtos que dependiam dele.
Entendem o meu ponto aqui? O Node.js está aí até hoje, evoluindo em uma escala gigante. O Socket.io também, incluindo uma série de funcionalidades que proporcionariam benefícios diretos e indiretos aos produtos da empresa.
Não estou afirmando que o Node.js, o Socket.io, ou qualquer outra tecnologia teriam resolvido o problema, entretanto, a abordagem aplicada notavelmente não foi a mais sábia.

Diversos casos semelhantes a esse aconteceram.

Gestão medíocre

And I'm free, free fallin'

And I’m free, free fallin’

A péssima gestão na alta cúpula da empresa era como uma forte cachoeira.
Cada nível abaixo na escala hierárquica seguia a mesma queda.
Diretores, gestores e qualquer tipo de líder seguia o mesmo curso e discurso do seru parentNode. Era quase como viver no Idiocracy, só que sem a parte da comédia.

A empresa em questão nasceu na era do boom da Internet, e isso sempre me intrigou.
Como essa empresa não virou uma potência nacional ou até mesmo mundial?
A resposta para esta pergunta veio com o passar do tempo.

Cultura Open-source