Como me tornei um programador melhor com um cronômetro

Um artigo para quem quer se tornar um desenvolvedor melhor

Alex Castro
4 min readJul 18, 2021

Artigo em inglês: https://alexcastro-devbr.medium.com/becoming-a-better-programmer-with-a-chronometer-ebb481af5afa

Você se preocupa com o código. Você é apaixonado por desenvolvimento. Você é o tipo de desenvolvedor que gosta de criar um software realmente top. E você está lendo este artigo porque deseja melhorar. Boa decisão. 👌

3 Meses atrás, abril de 2021 — comecei um projeto chamado Chronometer React, para ajudar um amigo melhorar habilidade de codar, e aprender sobre algumas ferramentas como: Contexts, Hooks e TypeScript. Tínhamos começado este pequeno projeto, e cerca de 4 dias ele estava pronto. Perfeito!

O que fizemos? Uma IU simples que apenas inicia, pausa e zera o cronômetro.

Este pequeno projeto foi suficiente para entender alguns conceitos, e percebemos o nosso objetivo.

Deveríamos mexer neste projeto, embora tenhamos cumprido nosso objetivo?

Depende. No meu caso, este é apenas mais um projeto de centenas que fiz. mas se você precisa construir um bom projeto, bom o suficiente para impressionar um Líder Técnico que está procurando por um desenvolvedor de verdade !? ou você está apenas tentando seu primeiro emprego? ou você tem um monte de projetos inacabados?

Logo no início da carreira de qualquer programador, chega-se à conclusão de que ser um grande programador é mais do que um simples entendimento da sintaxe e um domínio do design básico. Os programadores tops, aquelas pessoas produtivas que elaboram códigos bonitos e trabalham de forma eficaz com outras pessoas, sabem muito mais.

Percebi que para mim não era o suficiente. Então, começo a melhorar este projeto, codificando alguns recursos como:
Offline First com Service workers (PWA)
Implementação de uma tabela editável com voltas.

https://github.com/AlexcastroDev/chronometer-react

Talvez você pense…

Ta cara, Beleza. Bom trabalho! Você já dedicou muito tempo nesse projeto, vamos pra próxima.

3 meses depois de criar esse app, percebi que ainda não é suficiente para mim. Vamos melhorar mais! Mas como?

Primeiro — Ser um usuário

Parei de usar meu cronômetro do iphone e comecei a usá-lo. Adivinhe o que descobri ? Um bug interessante!
Se você não sabe, Google Chromer 57+ [e outros navegadores], param de executar funções como setInterval quando a guia estiver inativa, só pra otimizar o uso da CPU.

And it make all sense, of course! We needn’t this to increase second a second.

Segundo —Remova lógica inúteis e refatore

Se for inútil, remova.

Remova lógica inúteis e refatore isso.

Neste caso, escolhi [tanto faz aqui, você pode fazer no seu próprio projeto] construir um pacote apenas para lidar com as funções básicas do Cronômetro, e apenas consumi-lo no meu App.

Pacote: castroclock

Documentação: Docs

Projeto React: CastroClock

Terceito —Escreva testes

Percebi que algumas funções estavam estupidamente erradas. por exemplo, cronômetro iniciar duas vezes, ou pausar / redefinir antes de iniciar.

Veja os testes. Teste o sucesso e as exceções. Descubra como adicionar um novo teste de unidade e como adicionar um novo arquivo de teste ao conjunto. Como os testes são executados? Um ótimo truque é tentar adicionar um único teste com falha de uma linha. O conjunto de testes falha imediatamente? Este teste de fumaça prova que os testes não estão sendo ativamente ignorados.

Você deve aprender bem sobre TDD.

Quarto —Aprenda fazendo

Você pode continuar lendo o artigo que quiser sobre a teoria de andar de bicicleta. Você pode estudar bicicletas, desmontá-las, remontá-las, investigar a física e a engenharia por trás delas.
Mas você também pode estar aprendendo a montar um peixe. Até você entrar na bicicleta, colocar os pés nos pedais e tentar pedalar de verdade, você nunca avançará. Você aprenderá mais caindo algumas vezes do que lendo dias sobre como se equilibrar.

É o mesmo com o código. Ler docs, teste de funções ou unitários, testes de integração, aprender experiência do usuário e etc, só vai te levar até o conhecimento teórico técnico. Você pode se tornar um [melhor] desenvolvedor metendo as cara no código, criando, quebrando, cometendo erros e caindo.

Não deixe que a inatividade o impeça de seguir em frente. Não erga uma barreira intelectual para impedi-lo de trabalhar no código.
Não seja tão acomodado! não importa o que você faça da vida pra viver, as pessoas acomodadas são quem são, apenas acomodado.
Se você acha que algo pode melhorar, vá em frente e torne-se um grande profissional.

Insights — Como me tornei um desenvolvedor melhor com um aplicativo de cronômetro?

  • Eu escrevi meu primeiro artigo em inglês
  • Eu escrevi minha primeira documentação (Multi linguagem)
  • Eu escrevi meu pacote com documentação
  • Eu aprimorei minhas habilidades técnicas para testar códigos
  • Eu aprimorei minhas habilidades técnicas para refazer o código
  • Eu aprimorei minhas habilidades técnicas para escrever em inglês

Espero ter inspirado você a ser melhor, valeu 👋

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Alex Castro
Alex Castro

Written by Alex Castro

Tech Lead — Frontend — Apaixonado por tecnologia e programação

No responses yet

Write a response