Trabalhando efetivamente com código legado
Certamente você já trabalhou ou trabalhará com código legado durante sua carreira, pois nem sempre estaremos em projetos novos com tecnologias novas, certo? Errado.
Certamente você já trabalhou ou trabalhará com código legado durante sua carreira, pois nem sempre estaremos em projetos novos com tecnologias novas, certo? Errado.

Recentemente, aproveitando a promoção do 25ª aniversário do Java, atualizei a minha certificação Java 8 para a versão 11 e algumas coisas foram diferentes dessa vez. Não só os novos tópicos incluídos na prova, mas também a forma pela qual optei em fazer o teste.
Depois de longos anos e grandes mudanças, a plataforma java vem evoluindo a passos rápidos. Essa agilidade atual se deve ao novo sistema de release da plataforma onde a cada seis é lançada uma nova versão. Dessa forma não temos que esperar anos por novidades. No entanto, precisamos nos atualizar a cada seis meses?
À medida que o tempo passa e seu conhecimento cresce, você será naturalmente mais interrompido por dúvidas, reuniões, mensagens, etc. Interrupções contínuas diminuem a produtividade e certamente será um problema que você terá que lidar cedo ou tarde. Neste artigo, apresento 3 "coisas" que me ajudaram a lidar com essa situação.
Photo by Viktor Forgacs - click ↓↓ on Unsplash
Recentemente precisei escolher uma licença open source para um novo projeto, o e-cordel. Para atingir meu objetivo, tive que pesquisar, ler, ver conferências, etc até estar minimamente seguro. Percebi que mesmo usando projetos open source durante toda a minha carreira, não tinha um bom entendimento sobre o tema. Por isso, trago hoje um pouco sobre esse tópico. Antes de mais nada, deixo claro que não sou advogado e este artigo é apenas um compilado do meu atual entendimento sobre o assunto.
Para compreender o que é um projeto open source e porque licenças são importantes, precisamos primeiro saber o que são direitos autorais.
Não é raro alguém me perguntar se vale a pena adquirir uma certificação. E de forma resumida, a minha opinião é sim, vale a pena por um motivo específico que vou abordar mais a frente. No entanto, valer a pena não é o mesmo que ser obrigatório e isso pode variar dependendo da área. Em cada área a importância de uma certificação pode ser diferente. Para um programador uma certificação pode não ter o mesmo peso que teria para um gerente de projetos.
Por isso, considere que esse texto se refere exclusivamente às certificações para programadores.
Photo by Stanislav on Unsplash
Durante a minha (curta) carreira como programador, raramente tive que otimizar trechos de código para extrair o melhor rendimento possível, acredito que isso se deve principalmente por ter trabalhado em projetos simples, sem tantos requisitos de performance. Ainda assim, acredito que raramente você estará escovando bits. Porém, em situações adversas e com infra limitada, será necessário lutar por milissegundos.
Imagine o seguinte cenário: uma aplicação multithread, que processa milhões de registros diariamente e que deve fazer isso de forma eficiente. Imagine também que escalar verticalmente e/ou horizontalmente não é uma opção neste exemplo, por enquanto aceite que não há mais recursos e que depois de code reviews e algumas otimizações lógicas você tem a sensação de não saber mais o que fazer. E ai?
Como foi o ano anterior para você? Conseguiu atingir todos os seus objetivos? Nem sempre consigo atingir os meus, a verdade é que sempre ficam dois ou três pendentes, mas isso não é um problema, o mais importante é termos metas bem definidas, pois sem isso acredito que não temos foco, o que torna mais difícil atingir bons resultados.
Mas para atingir objetivos precisamos do mínimo de planejamento. Para um planejamento de um ano precisamos principalmente ser realistas com nós mesmos e não nos enganarmos. Muitas vezes, iniciar com objetivos menores nos motiva a buscar objetivos maiores. Além disso, um objetivo muito ambicioso, por parecer muito difícil alcançar, pode nos desencorajar.
Depois de alguns anos trabalhando como programador no interior do Ceará, decidi que precisava tentar passos maiores na minha carreira. A região que vivia, o cariri cearense, ainda não se tornou um polo tecnológico, portanto, conseguir um bom emprego na área de TI por lá pode não ser tão fácil, já que a região não absorve todos os profissionais que a mesma forma.
Recentemente comecei a ler o famoso livro Clean Code juntamente com o time do projeto no qual me encontro atualmente. Esse é um livro, que na minha opinião, todo programador deve ler e que certamente lhe fará mudar a forma como você programa. Talvez, assim como eu, você pode se perguntar porque não o leu antes.