Eu lembro que quando comecei a programar usava um computador muito limitado e lento com windows e os editores Eclipse ou na maioria do tempo com o Notepad++ . Por uns 2 anos eu não usava coisas como testes, linter ou generators. Com o tempo eu fui testando e usando novas ferramentas de desenvolvimento e hoje uso uma estrutura que é muito agradável e resolvi compartilhar aqui.

Sistema operacionalLink to this heading

Importante! Para programação recomendo o uso do Linux, eu uso o Fedora e o Mac também é uma opção mas evite usar o windows para desenvolver sistemas que não use tecnologias da MS como .Net.

Editor de código: Link to this heading

O editor deve ser leve, ágil e funcional com os recursos de auto completar os textos digitados com opções relevantes e checar se existe algum erro de sintaxe no seu código e por isso eu escolhi o Sublime Text como meu editor padrão.

Entre os muitos recursos o Sublime Text possuí vários plugins, comandos especiais de teclado e suporte de projetos onde é possível organizar pastas e continuar um projeto de onde parou ao reabrir o projeto no editor.

Link para baixar o sublime text: https://www.sublimetext.com/3

Testes de código:Link to this heading

O trabalho de checar se seu recurso ou código está funcionando é muito cansativo então porque não deixar o computador realizar isso por você? 

Esse é uma das razões para escrever testes em seus sistemas e um sistema com uma boa cobertura de testes de ajuda a garantir que seu sistema vai funcionar da forma esperada mesmo depois de realizar alterações em recursos antigos.

As ferramentas e formas de realizar os testes estão relacionados com a tecnologia usada no meu caso eu uso muito Node.js e para testar uso o modulo “mocha” e “istambul” para analisar e gerar um relatório com a cobertura de testes.

Sobre os testes: https://pt.wikipedia.org/wiki/Automação_de_teste 

LinterLink to this heading

O linter é um programa que analisa seu código e procura possíveis problemas ou erros e existem versões para várias linguagens de programação como javascritp, python e PHP. 

É possível usar o plugin de linter do Sublime Text para analisar e buscar erros de forma automática avisando error como a falta de ; (ponto e virgula) . Resumindo, o linter pode “corrigir” o seu código por você.

Git e versionamento!Link to this heading

Versionar o seu código vai ajudar a resolver muitos problemas como juntar alterações por pessoas diferentes e ter uma história do que foi alterado.

Sites importantes!Link to this heading

Código e dúvidas:Link to this heading

Github: Hoje o Github é um grande repositório de código  com ferramentas para desenvolver os sistemas de forma colaborativa.

Link: https://github.com

Busca do google: Está com dúvidas? Há ele vai ter ajudar a encontrar informações e muitas vezes as soluções para seu problema.

Link: https://www.google.com.br

Stack overflow: Fórum onde os desenvolvedores podem se ajudar com um sistema eficiente de validação social.

Link: http://stackoverflow.com

Aprender:Link to this heading

Programar: https://www.codecademy.com/ (Codecademy)

Git: http://pcottle.github.io/learnGitBranching/

Socialize!Link to this heading

Sempre que possível participe de eventos relacionados a tecnologia que você gosta ou quer aprender, procure conhecer novas pessoas. Dessa forma você pode aprender com pessoas mais experientes e até ter novas idéias para seus projetos.

E por hoje é isso pessoal …