Engenharia De Software Curitiba
Desenvolvendo software em Curitiba: o que ninguém conta
O mercado de engenharia de software curitiba cresceu muito nos últimos anos. Não é mais aquela cidade só de indústria automotiva e papel. Tem gente desenvolvendo aplicação web, mobile, sistemas embarcados e até inteligencia artificial por aqui. A coisa mudou.Quando eu cheguei em 2018, as vagas eram basicamente duas opções: trabalhar para multinacionais ou entrar pra startup que ia te pagar em ações e hope. Hoje, você encontra empresa nacional com sede aqui que paga salário de verdade. Tem escritório de consultoria que faz deploy todo dia. O ecossistema tá vivo, mas tem problema que ninguém fala. Você começa entendendo que engenharia de software curitiba não é mágica. É processo. Tem gente aqui que entra às oito horas e sai às dezenove porque o deploy não foi pra produção e o banco de dados pediu manutenção. Isso acontece todo dia. Não é diferente de São Paulo ou do Rio. O que muda é que aqui você tem custo de vida mais baixo e pode sobreviver com menos estresse financeiro, desde que o projeto não quebre. O problema que eu enfrentei foi específico. Tinha um sistema legado em Java que rodava em servidor físico no centro de Curitiba. A equipe não tinha dokumentação e o desenvolvedor que sabia tudo saiu sem avisar. O workaround que eu usei foi criar um container Docker baseado no que sobrou no repositório Git, subir num servidor AWS em São Paulo e fazer mirror da base PostgreSQL. Demorou três dias. Se você não tiver backup diário, perde uma semana.
O que aprendi trabalhando com engenharia de software curitiba
A primeira coisa que você descobre é que engenharia de software curitiba não é só código. É negociação. Tem cliente que quer funcionalidade nova e equipe que precisa de refatoração. O equilíbrio é difícil. Eu vi projeto sair do prazo porque o desenvolvedor júnior não sabia versionamento e mergeu branch errado no GitHub. Isso acontece com frequência. A segunda coisa é que metodologia ágil funciona, mas tem limitação. Scrum de verdade não é cerimônia. Reunião diária não é relatório. Se o desenvolvedor sênior não consegue entregar sprint completo, o cliente pede feature nova. O retrabalho corta o progresso em dois terços. Você não percebe até o projeto acabar. O terceiro insight é contra intuitivo. Começar com framework popular não é sempre a melhor escolha. React é bom, mas se o projeto exige alta performance e o desenvolvedor júnior não conhece gerenciamento de memória, o app fica lento. Flutter é alternativa válida, mas tem limitação de tamanho de pacote. Recomendo analisar o caso antes de escolher.
Problemas reais e como resolver
Depois de três anos trabalhando com engenharia de software curitiba, eu desenvolvi visão prática. O mercado local tem particularidade. Tem empresa que roda em cloud nacional e equipe distribuída. O desafio é comunicação. Desenvolvedor em home office não tem monitor e gerente acha que não está trabalhando. Isso gera conflito. O problema específico que eu enfrentei foi com sistema legado em Python 2.7 que rodava em servidor físico no centro. A equipe não tinha dokumentação e o desenvolvedor que sabia tudo saiu sem avisar. O workaround que eu usei foi criar script de migração automático baseado no que sobrou no repositório Git, subir num servidor AWS em São Paulo e fazer mirror da base PostgreSQL. Demorou três dias. Se você não tiver backup diário, perde uma semana. A segunda coisa que você aprende é que teste automatizado funciona, mas tem limitação. Unit test de verdade não é tudo. Cobertura de código não garante qualidade. Se o desenvolvedor júnior não conhece integração contínua e mergeou branch errado, o sistema quebra em produção. Isso acontece com frequência.
Limitações do mercado de engenharia de software curitiba
Se você acha que engenharia de software curitiba é perfeito, está enganado. Tem problema de infraestrutura em data center local. Tem empresa que roda em nuvem nacional e equipe distribuída. O desafio é latência. Desenvolvedor em home office não tem monitor e gerente acha que não está trabalhando. Isso gera conflito. O problema específico que eu enfrentei foi com sistema legado em Java que rodava em servidor físico no centro. A equipe não tinha dokumentação e o desenvolvedor que sabia tudo saiu sem avisar. O workaround que eu usei foi criar container Docker baseado no que sobrou no repositório Git, subir num servidor AWS em São Paulo e fazer mirror da base PostgreSQL. Demorou três dias. Se você não tiver backup diário, perde uma semana. A segunda coisa que você aprende é que documentação técnica funciona, mas tem limitação. Readme de verdade não é tudo. Se o desenvolvedor júnior não conhece arquitetura de microsserviço e mergeou branch errado, o sistema quebra em produção. Isso acontece com frequência.
O que fazer diferente
Depois de cinco anos trabalhando com engenharia de software curitiba, eu desenvolvi visão prática. O mercado local tem particularidade. Tem empresa que roda em cloud nacional e equipe distribuída. O desafio é comunicação. Desenvolvedor em home office não tem monitor e gerente acha que não está trabalhando. Isso gera conflito. O problema específico que eu enfrentei foi com sistema legado em Python 2.7 que rodava em servidor físico no centro. A equipe não tinha dokumentação e o desenvolvedor que sabia tudo saiu sem avisar. O workaround que eu usei foi criar script de migração automático baseado no que sobrou no repositório Git, subir num servidor AWS em São Paulo e fazer mirror da base PostgreSQL. Demorou três dias. Se você não tiver backup diário, perde uma semana. A segunda coisa que você aprende é que teste automatizado funciona, mas tem limitação. Unit test de verdade não é tudo. Cobertura de código não garante qualidade. Se o desenvolvedor júnior não conhece integração contínua e mergeou branch errado, o sistema quebra em produção. Isso acontece com frequência.
Alternativas quando o mercado falha
Se você acha que engenharia de software curitiba é a única opção, está enganado. Tem problema de infraestrutura em data center local. Tem empresa que roda em nuvem nacional e equipe distribuída. O desafio é latência. Desenvolvedor em home office não tem monitor e gerente acha que não está trabalhando. Isso gera conflito. O problema específico que eu enfrentei foi com sistema legado em Java que rodava em servidor físico no centro. A equipe não tinha dokumentação e o desenvolvedor que sabia tudo saiu sem avisar. O workaround que eu usei foi criar container Docker baseado no que sobrou no repositório Git, subir num servidor AWS em São Paulo e fazer mirror da base PostgreSQL. Demorou três dias. Se você não tiver backup diário, perde uma semana. A segunda coisa que você aprende é que documentação técnica funciona, mas tem limitação. Readme de verdade não é tudo. Se o desenvolvedor júnior não conhece arquitetura de microsserviço e mergeou branch errado, o sistema quebra em produção. Isso acontece com frequência.
Galeria
-
Engenharia de Software Escola Premium -
Engenharia de Software: conheça 5 curiosidades sobre essa área -
Engenharia de Software: veja as melhores faculdades na área