Quero ser desenvolvedor, o que faço? Parte 2
Série: 1, 2
Se você leu o primeiro post dessa série com atenção você vai lembrar que eu falei que precisava ser viciado em absorver novos conhecimentos, certo? Então vamos começar a maratona pois neste já teremos aprendizados!
Eu ainda não falei nada sobre a minha carreira e também sobre o trabalho de desenvolvedor, mas eu amo o que faço e espero que você também passe a amar. Programar para mim é um hobby e um trabalho ao mesmo tempo, o lado financeiro também é bom porém não é isso que me faz acordar todos os dias por mais que eu precise ganhar dinheiro para viver.
Acredito que não existe separação entre vida pessoal e profissional até porque somos um só e se o nosso trabalho for uma coisa chata e que não gostamos então estaremos jogando pelo menos um terço de nosso dia fora. Escrevo isto aqui para te motivar e te ajudar a superar essa fase inicial de muitos aprendizados até se apaixonar por esse mundo.
Vou fugir um pouco da ordem que normalmente acontece nesse papo “do que fazer para ser um desenvolvedor” para que fique mais fácil o seu caminho, e vamos direto ao ponto: sabe aquela tela preta do Windows?
Então, você vai precisar se tornar familiar com essa tela, isso se chama Terminal, porém o terminal padrão do Windows não é tão interessante e possui algumas limitações e por isso recomendo que você instale o cmder que é um outro terminal, que também funciona no Windows porém funcionará melhor para os comandos que precisaremos.
O terminal serve para que você interaja com o computador através de comandos de texto, parecido com a explicação sobre o que é programar né? É mesmo parecido pois você também pode programar no terminal.
Vou te contar uma estória, uns 12 anos atrás eu fiz um programa de terminal para sempre que eu chegasse em um computador, normalmente era o da UEMS (onde estudei) ou de casa (eu não tinha notebook) ele já sincronizava os meus arquivos do pendrive e vice-versa, viu como é poderoso esse tal de terminal?
Nessa época não existia Dropbox (eu acho), a internet não era rápida para ficar transferindo arquivos grandes e então o pendrive era muito usado. Eu também ainda não conhecia um tipo de ferramenta chamado Controle de Versão (a mais conhecida hoje é o Git) mas eu te conto mais sobre elas em outro momento porém já te antecipo: o Git é o modo mais usado para compartilhar e salvar código, se você está fazendo isso de outra forma, vale a pena repensar.
Voltando para o terminal, com ele você pode fazer praticamente tudo, na verdade até mais, do que você consegue fazer com seu mouse e teclado no sistema operacional, alguns exemplos e seus comandos:
- Copiar ou mover um arquivo; cp ou mv
- Criar uma nova pasta; mkdir
- Criar um novo arquivo; echo “” > nomedoarquivo.txt
- Editar um arquivo de texto (com a ajuda do vim); vim nomedoarquivo.txt
- Finalizar a execução de um programa; kill 1234 (ou sudo kill -9 1234)
- Listar todos os programas que estão sendo executados; ps aux
- Listar todos os programas que estão sendo executados com um nome específico; ps aux | grep nomedoprograma
Como você viram a lista vai longe, dá pra fazer tudo isso e muito mais, só coloquei acima comandos que faço diariamente. Se quiser uma lista mais completa veja essa ou pesquise no Google o que quer fazer, normalmente o ideal é procurar assim “comando shell para fazer X”.
Esses comandos serão importantes no seu dia-a-dia no seu computador para agilizar atividades comuns e mais ainda quando começar a trabalhar com servidores pois a maioria deles não tem acesso via tela bonitinha, você apenas terá acesso ao terminal. Seu código depois de pronto não fica rodando na sua máquina, ele fica rodando em algum servidor, um servidor nada mais é do que um outro computador que expõe seu código de alguma forma.
De forma geral eu estarei falando aqui de desenvolvimento para Internet (web) que é o mais comum e com mais vagas para quem quer trabalhar então nessa explicação acima de servidor eu estou tratando desse contexto e não de todos os tipos de códigos possíveis.
Já que falei do Google vai aqui outro ponto importante, é essencial saber usar o Google para ser um bom programador, é muito difícil lembrar tudo de cor e então o Google nos ajuda muito, eu já trabalhei sem ter acesso a Internet e é muito difícil trabalhar sem o Google.
O Google é um outro motivo de você saber Inglês, existe muito mais conteúdo na internet sobre a área de desenvolvimento em Inglês do que em Português então eu sempre busco os assuntos no Google em Inglês, sempre é muito mais fácil achar a resposta correta.
Um último ponto, sei que a maioria das pessoas utilizam o Windows, ou alguns com mais grana acabam usando o Mac OS, como sistema operacional e até aí beleza, nenhum problema. Porém o Windows não é baseado no Unix e boa parte dos desenvolvedores (exceto os que trabalham com as plataformas da Microsft) vão utilizar sistemas operacionais baseados em Unix e com isso várias ferramentas não funcionam tão bem no Windows porém quase todas funcionam de alguma forma.
Minha recomendação então é que você tente utilizar o Ubuntu (ou outro baseado em Unix) que é o mais popular, eu mesmo uso o Ubuntu 16.04 LTS. Você não precisa remover o Windows de sua máquina, use no modo Dual Boot, ou seja, você vai conseguir acessar o Windows ou o Ubuntu assim que ligar o seu computador. Se você utiliza Mac OS você está tranquilo pois ele também se baseia no Unix.
Resumo: instale um terminal, aprenda os comandos básicos de terminal e de preferência utilize alguma sistema operacional baseado em Unix.
Quer mais informações sobre algum tópico citado? Mande nos comentários.