Empresa de tecnologia sem foco em tecnologia. Como melhorar?

Boa tarde pessoal, trabalho numa empresa no interior de minas gerais, ela nasceu em uma incubadora de startups com base tecnológica. Nosso produto é um sistema web que foi inicialmente programado pelos sócios fundadores e depois foi mantido por um desenvolvedor júnior e agora é mantido por um pleno e dois juniors.

A empresa cresce bem, tem uma boa penetração no mercado, porém o foco da empresa sempre foi na parte comercial e acabamos com um sistema legado e muitas coisas feitas "por fora" sem seguir necessariamente um padrão, fazendo com que a digitalização dos processos fique complexa dado a quantidade de exceções a regra que existem.

Eu tenho tido bastante críticas em relação a estruturação do setor de desenvolvimento pois é o único que não possui supervisão e uma liderança tecnica. Seguimos, na minha opinião, um scrum psicológico que tentamos manter um ritmo de entrega de tarefas sem um valor concreto para a empresa, sem planejamento adequado e sem uma organização dos fluxos de trabalho antes da cobrança de uma velocidade de desenvolvimento.

Tentamos defender uma refatoração do sistema para atualizar tecnologias, padronizar as regras de negócios que não estão mapeadas em nenhum lugar e estruturar a base do projeto principal da empresa para poder receber novos projetos que a empresa pretende criar.

Na minha visão, como uma empresa de tecnologia, o setor de desenvolvimento deve participar de toda parte estratégica da empresa, para poder projetar soluções internas e externas que vão deixar a empresa mais dinâmica, eficiente e competitiva.

O desafio é, como uma equipe pequena e sem liderança tecnica pode mostrar para a diretoria a necessidade dessa mudança não só de estrutura na empresa como de mentalidade, trazendo a tecnologia como ferramenta principal do negócio?

Uma empresa vive de ganhos $$, então a melhor forma de convencê-la a mudar é falando a mesma língua que ela.

Tome cuidado com essa questão de “Refatoração” e “Atualizar tecnologia”, já trabalhei com muita gente que defende isso e faz essa tal de refatoração e atualiza com a tecnologia da moda. E no fim das contas faz uma merda só com a linguagem/framework do momento.

E se alguém já fez isso na empresa que trabalha, vai deixar mais difícil ainda eles aceitarem a mudança.

Posso estar equivocado na minha colocação, mas não acho que exista empresa de TECNOLOGIA, e sim uma empresa que usa a tecnologia para vender o seu produto (mesmo que ela venda a tal “tecnologia”).

Sendo assim, você primeiro precisa levantar as vantagens que e empresa terá quando a “equipe de Tecnologia” participar do processo, além de provar de forma mensurável o que irá melhorar na refatoração do código (vai melhorar a velocidade do desenvolvimento? Vai melhorar a performance? Vou conseguir ganhar mais dinheiro?)

Outra coisa, nunca diga que tem que refazer tudo, isso assusta. Veja onde estão os maiores problemas e refaça aos poucos, quando perceber pode ser que todo o legado já tenha morrido.

Enfim, se você não mostrar por A+B que terá ganho financeiro (seja um produto melhor que facilite sua venda, ou um desenvolvimento mais rápido no qual poderá finalizar um cliente novo em menos tempo), apenas argumentos que está ruim não vai resolver seu problema.

O foco nem é necessariamente atualizar tecnologia para usar coisas da moda ou algo assim, é realmente para reestruturar as coisas que foram feitas como MVP no início e estão lá até hoje. Revisitar o projeto para deixa-lo mais sólido. Não existe documentação ou registro das regras de negócios, o que deixa tudo mais complicado. "Isso deu erro porque o código ta errado? A regra escrita ta certa? O sistema faz o que esperam que ele faça?" Hoje temos dificuldade em manter e criar novas funcionalidades em cima da base caótica e isso pra mim também tem um custo. E acho que hoje é um custo invisível. Questionam o custo de planejar o ajuste de algo pronto, mas não consideram que uma base boa garante uma série de vantagens que economizam dinheiro e logo, refletem no bolso. Concordo com o que você falou sobre EMPRESA DE TECNOLOGIA, eu falei assim mais para deixar nos mesmos termos que eles mesmos dizem. E sobre refatorar ou refazer tudo, com certeza não é algo tratado dessa forma. A vida não vai parar pra gente refazer o que existe. hehehe Acho mesmo que o lance é mostrar o ganho financeiro que pode existir, mas como disse na resposta do outro comentário, a dúvida é se eu vou conseguir fazer isso. Sou dev, não estou acostumado a tratar de tecnologia nesse nível de gestão e tals... por isso uma das minhas críticas foi não ter uma liderança no setor.
É muito difícil mesmo, eu já passei (e ainda passo em alguns casos) as mesmas dores que você. Toda empresa quer que um projeto saia rápido e vem com o bordão (faz um MVP depois melhoramos) e no fim vende o MVP e fica por isso mesmo. No meu caso sempre que tive sucesso em encaixar as soluções foi da seguinte forma. Entre uma tarefa e outra caso sobre um espaço tento melhorar algo que seja **tangível**, depois apresento para alguém que tenha o "**poder**" de autorizar a mudança o que foi feito e mostro o que agregou. Se gostarem é a hora que tento vender isso para o restante. Vou te dar um exemplo (sei que não é arquitetura de software mas uma situação que tive que tomar essa medida). ## Exemplo que aconteceu comigo Imagina um sistema que em uma determinada funcionalidade tenha um fluxo de trabalho com 5 telas, em uma dessas telas eu ia precisar fazer uma pequena implementação (vamos chamar aqui de tela 3). Todas as telas eram lentas e feias, sendo assim estimei fazer a implementação com um pouco de tempo a mais para eu poder melhorar a beleza da tela 3 e sua velocidade. Apresentei a tela 3 com sua beleza e velocidade para quem solicitou, e comparei com as outras telas (“O joaquim olha como essa tela está bem melhor seu layout e sua velocidade comparado com as outras”) Joaquim observou e disse, “É mesmo”. Esse foi o momento chave onde eu disse, “Então o sistema vai ficar estranho se uma etapa é muito lenta e com o layout feio e uma única tela dessa forma. Não posso aplicar isso nas outras, vou precisar de mais uma semana”. E com sorte obtive o sim. Com essa abordagem consegui mostrar algo tangível e convencer de alterar o resto desse fluxo de trabalho. Sei que nem sempre isso vai funcionar, mas nessa circunstância deu certo.
É basicamente o que a equipe vem tentando fazer. Mas as vezes desmanima. A equipe inteira se questiona de praticamente estar se preocupar com o produto mais do que o dono dele.

Olá, boa tarde! Me chamo Danilo Fernandes. Deixo minha opinião: 1 - Procure seu gestor direto e pergunte o que realmente se faz para ganhar dinheiro, entender o core business da empresa talvez te ajude a entender as decisões que a empresa toma. 2 - Sabendo o que a empresa faz para ganhar dinheiro, agora vai você entender onde você quer estar daqui a 5 ou 10 anos e se nesse cenário do futuro a empresa vai te prover as coisas que você deseja no futuro. 3 - Eu sou do time que as pessoas estão em momentos diferentes, isso faz parte da vida, não leve para o lado pessoal, no final do dia é apenas mais um trabalho, talvez a empresa e sua gestão estejam preocupados com outras coisas, stack não paga boleto, resolver problema sim. 4 - Tem empresa que fatura alto usando EXCEL e VBA e não vai trocar nunca pelo visto e está tudo bem, só não irei trabalhar lá, a empresa não é obrigada a trabalhar com uma stack, seguir um conjunto de boas praticas porque está na moda ou é "importante", importante é ganhar dinheiro. 5 - A mágica será mostrar como as boas praticas pode gerar um retorno FINANCEIRO, se você conseguir responder essa pergunta, você aos poucos vai entendendo como as coisas acontecem. 6 - Respondendo de forma bem direta o que você perguntou "desafio é, como uma equipe pequena e sem liderança tecnica pode mostrar para a diretoria a necessidade dessa mudança não só de estrutura na empresa como de mentalidade, trazendo a tecnologia como ferramenta principal do negócio?", Qual o problema que será resolvido, já perguntou para sua gestão pelo menos 3 grandes problemas ao olhar deles que gostariam que fossem resolvidos? Perguntou para o usuário final qual problema ele gostaria que fosse resolvido?, volta sempre para: o que realmente a empresa faz pra ganhar dinheiro?

Espero ter ajudado.

Eu já vivi nesse ambiente de startups por um tempo e a mentalidade é totalmente diferente de uma empresa consolidada, pois na maioria das vezes, os sócios estão correndo contra o tempo, pois "o investimento inicial irá acabar em 8 meses (vulgo, em 8 meses não terão dinheiro nem para pagar os funcionários" ou "nossa meta é fazer um exit (vender a empresa em crescimento) dentro de 3 anos (vulgo, não me importo se o sistema estiver podre, contanto que os números da empresa estejam positivos para que a venda seja concretizada)". Nessa mentalidade não faz sentido nenhum fazer refatorações, a não ser que o dor resultante desses problemas seja enorme e esteja trazendo prejuízos para o crescimento da empresa. Procure entender a empresa nessa visão macro, pois suas sugestões, apesar de estarem 100% coretas, podem não fazer sentido para a estratégia geral da empresa.