Dificuldade para se encaixar em uma empresa

Fala galera, essa é a primeira vez que escrevo aqui.

Pois bem, recentemente eu fui demitido de uma empresa, e nem me senti mal por isso pois eu já estava desmotivado e focando em um projeto próprio, mas me mantia na empresa pois pagava meu salário enquanto meu outro projeto está começando.

Até hoje já passei por mais ou menos 8 empresas de desenvolvimento de software, e por mais que eu ficasse um tempo nelas, em algum momento acontecia algo que me desmotivava e me fazia querer um novo desafio.

Antes dessa empresa que fui demitido atualmente, eu estava em outra empresa grande de desenvolvimento de software no Brasil, quando comecei lá eu me amarrei. Comecei em um projeto novo que era menor (mas não pequeno) do que a empresa costumava trabalhar. Aprendi e evoluí muito lá e ensinei também, tive a experiência de estar cara a cara com o cliente e participar de decisões importantes no rumo do projeto, porém após um tempo esse projeto acabou e eu fui realocado em um outro projeto muito maior de um cliente gigante, onde eu posso dizer que aprendi pra caramba também, principalmente sobre Micro-serviços, Kubernetes e tecnologias para aplicativos de larga escala em geral. Porém a forma com que a empresa gerenciava o projeto e me cobrava era diferente do projeto anterior. Eles microgerenciavam horas, ou seja, toda tarefa que eu fazia, as horas eram contabilizadas, e se tivesse um descanso de 10 minutos que fosse entre uma tarefa e outra, isso era metrificado e possivelmente cobrado do dev. Isso começou a me cansar muito, parecia que eu não tinha tempo para respirar. Eu até podia tirar um tempo pra respirar, mas isso ia ser cobrado depois de alguma forma, e por mais que eu tenha performado bem durante um período (porque eu queria continuar no emprego até então) depois isso foi me cansando e até me gerando ansiedade, assim eu percebi que atuo muito melhor em projeto menores, não pelo tamanho em si do projeto, mas sim pela forma que são gerenciados e cobrados. Eu amo programar e já percebi que programo muito melhor quando estou relaxado, e quando bate o bloqueio mental, eu preciso de um tempo ocioso para mente produzir novamente, e muitas vezes programo até melhor do que a sessão anterior, mas já passei por diversas empresas que não valorizavam isso, por ter um processo mais engessado, ou cultural, ou até mesmo pelo objetivo de desempenho máximo em tudo que faz de uma empresa.

Eu tive experiências muito boas na minha carreira, e como citei, algumas ruins.

Enfim, depois desse projeto que me gerou ansiedade, eu resolvi buscar outra oportunidade. Eu tava pensando em tentar uma experiência no mobile com React Native ou Flutter, pois estava estudando na época, mas não consegui uma vaga e acabei entrando em uma para atuar com C# em uma empresa Estadunidense. Me falaram na entrevista que quase tudo na empresa era micro-serviços, o que me animou pois eu já tinha alguma experiência nesse parte e queria aprender mais, sem contar ter que usar o inglês no dia, que era uma oportunidade para falar mais o inglês que tava ficando enferrujado. Então aceitei a vaga, porém como eles disseram, "Quase tudo", pois é, eu fiquei com a parte de sustentação que não trabalhava com micro-serviços, era um monolito pesado pra cacete e bem antigo. Isso foi me desmotivando, porém eu deixei claro para os meus gestores que não era o que eu queria. Mas no fim eu não fui movido para um outro time, e como falei anteriormente, fiquei pois conseguia ter mais tempo pra viver do que na outra empresa e porque pagava meu salário. Mas eu fui demitido esses dias por um motivo bem bobo até que manterei em segredo aqui para proteger a privacidade de ambas as partes.

Bom, agora estou buscando um desafio legal de novo, enquanto meu projeto pessoal está em desenvolvimento e tenta crescer.

Enfim, essas foram duas experiências ruins recentes que tive com empresas de software de uma forma bem resumida, mas já tive anteriores, incluindo uma que não me encaixei na cultura dela por não ser "workaholic".

Então, queria saber se mais alguém já passou por coisas parecidas, onde não se encaixaram em certos serviços mesmo amando programação e tendo certeza de que é bom(a).

Meu Github caso queiram me conhecer um pouco melhor: https://github.com/EwertonMendes

Como sempre, as empresas ainda não aprenderam que os programadores não fazem parte do hardware, e que são seres humanos. Contabilizar tempo dessa forma é algo surreal e sem o menor fundamento. Muitas vezes na hora de descanso, que nunca se desliga totalmente, temos inspirações e ideias mais interessantes, justamente porque estamos mais relaxados e com espaço para criar. Enquanto estamos focados numa atividade especifica, tudo fica mais tenso e muito menos criativo, porque queremos fazer funcionar o mais rapido possivel o projeto. Agora com as AIs isso tende piorar, mas lembrando que os donos das empresas que querem concretizar projetos, são seres humanos e eles mesmos acabam se colocando em situações de estress cada vez mais. A velha ganacia de querer sempre mais em menos tempo. Uma doença mental humana que se não for curada em breve, dará conta de acabar com a humanidade em pouco tempo. A humanidade cada vez mais desconectada de si mesma, da vida e da natureza. Um buraco que só aumenta e vai ficando mais e mais escuro. Isso vale para todas as profissões embora TI seja uma das que sofrem mais com essa loucura de achar que ser humano é maquina e que a vida tem que se vivida dessa forma alucinante, em busca de algo que jamais vai ser alcançado porque quanto mais se tem, se realiza, ou se ganha, mais a mente humana vai querer realizar, ganhar, ter. Eu rezo pra que a profissão de Ti seja uma colaboradora para melhorar a qualidade de vida da humanidade em geral, e não para transformar a humanidade em zumbis funcionais.

Isso é uma característica clássica de consultorias (a.k.a empresas de desenvolvimento de software / software house), eu já trabalhei em algumas, grandes também, e todas compartilham os mesmos problemas.

E cara, não ache que o problema é vc, por não parar em uma empresa. Não se sujeite a fazer algo que não gosta só pela grana, hora ou outra vc vai estar desmotivado mais uma vez.

Algo que pode ajudar a evitar esse tipo de problema é alinhar as expectativas no momento das entrevistas. Pergunte bem sobre a função, porque estão contratando, o que vc pode vir a fazer, se tiver a oportunidade pergunte aos devs inclusive o que eles gostam e não gostam no codebase da empresa. Tudo isso pode diminuir as chances de vc entrar em algo sem ter completa ciência da situação.

tentar uma experiência no mobile com React Native ou Flutter

Eu recomendaria você escolher uma plataforma nativa, como Kotlin Android ou Swift IOS. Porque as empresas com Flutter pelo menos, que é a Stack que trabalho, as que realmente tem algo interessante são bem poucas, e as que tem, pedem conhecimento em nativo.

Não sei qual é bem sua experiência com UX e Mobile, porém é um universo bem diferente, se vocês estiver vindo de Backend. Eu recomendo bastante você estudar pelo menos um pouco sobre UX, Material Design, que é Design System do Android e o Human Interface Guidelines, da Apple.

Um canal bem interessante que tem conteúdo de Mobile é o do Lucas Montano, que trabalha nos Apps de Streaming da Disney, com Android Nativo.

E sobre sua dificuldade em se encaixar na empresa, para eu pelo menos isso é bem normal. Como sou bem jovem, a maioria das pessoas com que trabalhei eram pelo menos uns 5 a 10 anos mais velhas do que eu. Isso causava um conflito, porque eu me adaptava muito rápido na empresa, e essas pessoas que já tinham mais tempo ali ficavam incomodadas com a minha rapidez.

Já recebi um Feedback que dizia: "Thiago, você não precisa fazer suas atividades tão rápido". E já saí de uma empresa porque nas palavras deles eu entregava "qualidade demais nas atividades", e eles queriam apenas alguém que fizesse de qualquer jeito, só para entregar e dizer que tava pronto, mesmo que com péssima qualidade.

E aliás, disseram que a cultura da empresa era essa mesmo, entregar de qualquer jeito mas entregar.

Aquela parada do "Feito é melhor que perfeito", que é muito utilizado por algumas pessoas na área de tecnologia para disfarçar a falta de habilidade delas de não conseguir entregar algo com qualidade e rápido. Poucas vezes que ouvi isso essa frase era realmente aplicável, na maior parte das vezes era preguiça de se empenhar apenas mais um pouco.

Entendo o desconforto no "Feito é melhor que perfeito". Mas quanto tempo a mais demorava o seu perfeito? Remete a questão de que o esforço pra atingir 100% tende a ser exponencial e em termos práticos pode perder o propósito. O Próprio Filipe mencionou um exemplo no vídeo sobre o tabnews de "Abraham Lincoln" onde tendo 6 horas pra cortar uma àrvore alguns gastam as 6 horas afiando o machado..." enfim não é uma crítica mas um convite a reflexão. Algumas vezes agi por impulso e depois refleti na minha parcela de culpa quando me coloquei em situações parecidas.
É uma reflexão interessante, mas na maior parte das vezes as pessoas estão tão acostumadas a entregar mal feito e as vezes em um tempo ruim, que quando você faz algo bem feito, que leva o tempo adequado de uma atividade, elas ficam incomodadas (inveja). No caso onde saí por entregar qualidade demais, entrei em projetos próximos a Deadline, que estavam todos construídos porcamente, e queriam que eu continuasse desenvolvendo as funcionalidade nele. Diversos problemas básicos como tratamento de exceção, responsividade para diferentes dispositivos, UX apropriado, não estavam sendo seguidos. E quem havia feito o código desses projetos, eram meus superiores e eram até sócios da empresa. Chegou um momento que tive que dar Feedback para eles, porque não sabiam resolver os problemas de forma eficiente. Eu passei mais tempo resolvendo o problema que os outros geraram do que fazendo as minhas atividades, que ainda saiam com ótima qualidade. No final, esse sócio que fez os códigos errados nem comunicava direito o que fazia (provavelmente porque sabia que não estava fazendo certo), e eu tinha que ficar reportando bugs gerados a meses. E eu ainda ouvia que eu devia deixar errado mesmo, que não era importante qualidade no projeto. Porque de forma ou de outra, entregando com qualidade e pouca qualidade, o dinheiro que iriam receber era o mesmo, então era mais barato fazer de forma rápida, sem qualidade e sem gerar expectativas. E isso não foi só dessa empresa, já conheci outras que o ambiente é bem parecido. Ainda mais porque quando você começa a entregar qualidade no mesmo tempo gasto que pessoas entregam atividades mal feitas, começa a gerar intrigas, já que como você consegue entregar no tempo certo e ainda bem feito e outra pessoa que já está na empresa a um tempo entrega mal feito e no mesmo tempo?