Executando verificação de segurança...
3

(Pergunta) Como que eu descubro novas ferramentas para melhorar meu desempenho como desenvolvedor.

Eu vejo direto alguns devs com várias aplicações de terminal, com varias libs que eu nunca tinha ouvido falar antes, que acabam sendo bem uteis em vários casos diferentes, como eu dev descubro essas ferramentas? Como eu comparo qual a melhor? gosto performance?

Carregando publicação patrocinada...
2

Vamos usar a razão?

  1. Ferramentas existem para resolver problemas;
  2. Dito isso, procure uma ferramenta quando você tiver um problema;
  3. Não tem um problema? Então para quê você vai querer uma lib ou ferramentas que você nunca ouviu falar?
  4. Têm um problema? Pesquise uma ferramenta para resolvê-lo.

Não complique com overthinking antes da hora.

3

Ótima resposta, apoiado!

Adiciono que caso esteja trabalhando em um projeto com devs mais experientes, podes pedir que eles te mostrem quais ferramentas utilizam dentro do contexto do projeto.

Mas sempre isso, sem super pensar ou antecipar demais os problemas. Abraços.

1
1

Não acho que rolou razão aí na sua resposta, parceiro.
Existem cenários em que ferramentas não precisam resolver "problemas" clássicos.
Existe o cenário dele, em que se tu precisar muito de um problema pra poder contribuir, considera que o problema que ele quer resolver é a incerteza de ser tão produtivo quanto ele poderia.
Tenta coisa nova surgindo, acho muito coerente o sentimento dele e a iniciativa de acionar a comunidade pra trocar figurinhas a respeito disso.

1

Para esclarecer: você tem um problema de improdutividade? Então é provável que haja uma ferramenta para te ajudar com isso. Esse é o conceito de problema que eu usei no meu comentário.
Concordo que a incerteza sobre se poderia ser mais produtivo pode ser um problema e que o racional que expus não contemple isso, mas o ponto de crítica com meu comentário é o overthinking sobre estar sempre buscando a lib mais popular, o terminal mais moderninho, etc, como é praxe de muitos devs que no fim do dia se veem menos produtivos.

1

Acredito que venha antes da necessidade de resolver algum problema, principalmente relacionado a bibliotecas, depois de um tempo você percebe que não é necessário utilizar bibliotecas pra tudo - pois gera dependência. Mas quando ou é um problema comum ou a biblioteca é muita boa, aí procuramos soluções.

Sobre aplicações de terminal, aplicações no geral, é bom tomar cuidado pra não ter um canivete suíço mas não saber o básico de como funciona, foque no que já vem e só se você REALMENTE precisar de um app pra isso, ir procurar.

Também já caí nessa de ter tudo pelo terminal, mas pelo menos por enquanto ainda sou uma batata utilizando Nvim e editores do tipo, o que eu mais uso é a CLI do git, docker, alguns aliases, e o zoxide pra navegação entre pastas.

1

Na minha humilde opinião, você descobre quando você necessita, quando você utiliza e com experiência. Explico melhor:

  • Necessita: Quando você está trabalhando em um projeto e precisa fazer uma feature nova mas o nativo não suporta, aí você pesquisa e descobre novas libs, novas ferramentas, novas APIs, etc.
  • Utiliza: Quando você está trabalhando em uma empresa e no projeto tem uma lib, uma API, ou algo do tipo que não conhecia.
  • Experiência: Você vai iniciar um projeto novo ou uma feature nova e sabe que vai ter que utilizar uma lib ou uma API, logo se lembra de quando trabalhou em um projeto uma vez que utilizava uma lib que atende ao que precisa.

Apesar de tudo isso, a base do conhecimento sempre vai ser a pesquisa.

1

Simples, sentiu a necessidade, procura.

Nenhum dev fica caçando ferramentas o dia todo. Ao longo do tempo, conforme vai precisando, essas ferramentas entram na carteira, é natural.

É que nem os itens simples nos jogos, simplesmente aglomeram de forma incontrolável ao longo da jornada.

Algumas é dessas ferramentas é de autoria própria, ou uma modificação. Você mesmo pode criar suas próprias ferramentas se quiser algo. Não estou falando para reinventar a roda, e sim em casos de querer aprender mais ou as ferramentas existentes não suprir o teu caso.

Eu ultimamente vejo vários devs perguntando qual é o "melhor", e como sempre, depende muito do cenário. Não existe melhor, existe o ideal para o teu cenário. Como você sabe isso? Com experiência. No dia que você usar um PostgreSQL para criar um simples to do list você vai notar que um SQlite resolveria, e com base nisso, vai notar outros cenários parecidos também.

Amo fazer analogias com jogos. Pense que você adquiriu uma nova arma encantada com fogo. Você testa e o inimigo tem resistência a fogo. Então você deve usar outra ferramenta para lidar com isso, mesmo que aparentemente esta alternativa seja menos efetiva (a prática é o que conta), isto lida melhor que a arma de fogo.

1

Acho que acontece de forma natural através das necessidades do seu trabalho, porém acho que necessita do dev buscar e ficar atento aos conteúdos que consome.

Por exemplo, uma função / ferramenta que utilizo muito no meu dia-a-dia é a .to_clipboard() do pandas(python), descobri sua existência meio que sem querer através das sugestões de complete do vscode. Quando notei que isso pouparia um trabalho repetitivo em diversos momentos no meu dia, adotei o uso constante.

Um outro exemplo que tive que ir atrás é do uso de WSL, por estar tendo alguns erros de execuções dentro do windows, e por não poder migrar de OS na maquina do trabalho, tive que ir atrás de soluções, então vi que o WSL poderia me ajudar. Tive um tempo até entender, configurar e adotar como ferramenta principal.

Mas a ideia é, se tu não for atrás de encontrar e adaptar seu fluxo de trabalho à essas novas ferramentas, irá ficar estagnado.

Por isso digo que é natural, mas exige uma vontade de buscar e se adaptar.

E com o tempo, estamos cheio dessas "ferramentas" no nosso workflow.

1

Tenho o mesmo problema, parece que em outros lugares estão usando ótimas ferramentas de otimização que eu não consigo encontrar kkkk.
Eu programo em ts e uso várias no vscode como prettier, code spell checker (Brazilian e English), eslint, gitlens, JSON formatter e reload. Programas como postman, react native directory, entre outras coisas que foram aparecendo com o tempo.

Na minha opinião a melhor forma de você conhecer novas ferramentas é codificando com outras pessoas. A melhor opção é participar de hackathons, você aprende muito mas se participar com pessoas mais experientes.

Quando você cria os seus próprios facilitadores em um projeto, normalmente se chama utils ou helpers, como exemplos você pode ter utils que remove os caracteres especiais de um CPF, CNPJ, CEP, etc. Existem libs que ajudam com isso como o Lodash.

LinkedIn é ótimo pra pegar as ferramentas mais usadas, pessoal compartilha bastante.