A maioria das pessoas supõe que eu estudei ciência da computação na universidade e que tenho codificado desde que era jovem. Eles geralmente ficam surpresos quando eu digo a eles que, de fato, estudei Marketing e Espanhol e que, embora meu irmão tenha me ensinado a criar uma página da Web muito básica no início dos anos 2000, eu realmente não comecei a aprender a programar antes de começar. um adulto com um emprego.
A verdade é que minha história não é única. Simplesmente não é verdade que você tem que ser um garoto esperto que está codificando desde os 6 anos de idade para poder programar como adulto. Existem muitos exemplos de pessoas que também não têm formação técnica que se tornaram programadores em período integral ou que apenas aprenderam uma nova habilidade que gostam de usar.
Neste post, darei alguns conselhos que me serviram bem em minha jornada. Meu caminho não é o único caminho e, dependendo da situação em que você se encontra, pode não ser prático ou adequado para você, mas é certamente um caminho, e espero que ajude você a aprender a usar o computador.

Foto de Miguel Á. Padriñán
Original no blogO privilégio do tempo
É útil primeiro falar um pouco sobre a verdadeira barreira para aprender a programar: o tempo . Dada a enorme quantidade de coisas que se pode e precisa aprender para ser um programador eficaz, isso exige uma grande quantidade de tempo de aprendizado.
Pode não ser possível para todos se comprometerem. Se você possui responsabilidades que exigem que você dedique grande parte do seu tempo (ou seja, mais de 40 horas por semana) para sobreviver, ou se você simplesmente tem outros compromissos de longo prazo (como família, amigos, organizações sociais etc.) que são mais importantes para você, talvez você não tenha tempo livre para se dedicar ao aprendizado. Tudo bem! A codificação pode ser uma verdadeira alegria e é uma ótima carreira, mas às vezes outras coisas são apenas mais importantes.
É importante entender que aprender a programar para um nível de empregabilidade é um investimento de tempo bastante grande e é melhor saber antecipadamente se você pode ou deseja investir uma quantidade de tempo tão grande nisso. A boa notícia é que, como veremos, há muitos recursos para aprender a programar que lhe permitem fazer seu aprendizado em um horário flexível.

Foto por #WOCinTech Chat
Por onde começar?
Quando as pessoas falam sobre começar a aprender a programar, geralmente falam sobre qual linguagem de programação começar. Este é um ponto de partida natural, pois a codificação é sempre feita através de um idioma. É o aspecto mais tangível de aprender a programar computadores.
Existem muitos critérios para escolher um idioma para começar, incluindo:
* Idiomas com muitos recursos para iniciantes :. Os recursos de programação geralmente podem estar repletos de jargões técnicos e podem implicitamente esperar o conhecimento que você provavelmente não possui. Se você não entende um recurso, não se culpe; encontre um recurso que se esforce mais para atingir suas necessidades como iniciante. JavaScript faz muito bem a esse respeito.
* Idiomas que não são excessivamente complexos: alguns idiomas exigem muito mais conhecimento em segundo plano para serem usados. Go é um exemplo de uma linguagem simples. O C ++, por outro lado, é uma linguagem muito complexa e, portanto, provavelmente não é a melhor opção para uma primeira linguagem.
Alguns critérios frequentemente citados que têm muito menos peso:
* Idiomas dominantes na indústria: Um dos primeiros idiomas que aprendi depois do Ruby foi o Standard ML, que não é realmente usado por nenhuma empresa, mas influenciou minha carreira talvez mais do que em qualquer outro idioma. Não se concentre em um idioma específico, apenas porque você acha que um dia conseguirá um emprego.
* Idiomas destinados a um caso de uso específico : no mundo real, alguns idiomas são normalmente usados para determinados casos de uso em detrimento de outros. Por exemplo, o software de áudio geralmente é criado usando C ++, mas se você estiver interessado em aprender JavaScript e fazer programação de áudio, não presuma que você precise largar tudo e aprender C ++. Pergunte se existe algum suporte no idioma de sua escolha para o que você deseja criar e não se importe se não for o idioma que normalmente é usado.
Não tenha medo de escolher o idioma errado. Você sempre pode mudar para outro idioma se achar que sua escolha atual não está atendendo às suas necessidades. De fato, eu encorajo você a aprender muitas línguas. Quanto mais idiomas você aprender, mais exposto a diferentes idéias, diferentes casos de uso e diferentes desafios.
Eu, por exemplo, aprendi a programar em cerca de 10 idiomas, com algum nível de proficiência, nos primeiros dois anos após aprender a programar. Cada idioma me expôs a algo novo que tornou os conceitos em outros idiomas mais claros. Ruby, por exemplo, me expôs a algo chamado programação funcional, mas foi só quando eu aprendi Clojure e Haskell que o conceito realmente deu certo.
Mas talvez o aspecto mais importante de qual idioma escolher seja a comunidade de pessoas associadas a esse idioma, que veremos a seguir.

Foto de rubyonrails.org
Comunidade e apoio
A maioria das pessoas fora da programação (e uma quantidade deprimente dentro dela) não percebe que a programação (e especialmente a aprendizagem de programação) é frequentemente uma atividade muito social. Se você faz parte de uma equipe de uma empresa ou trabalha em um projeto em seu tempo livre, na maioria das vezes você está interagindo com outras pessoas. Os melhores codificadores são aqueles que não apenas desfrutam dos detalhes minuciosos do que estão trabalhando, mas também podem trazer o melhor dos outros.
É importante encontrar uma rede de suporte para ajudá-lo com seu aprendizado. Algumas comunidades de programação são mais amigáveis para iniciantes do que outras. Por exemplo, eu comecei na comunidade Ruby on Rails (RoR) porque estava fazendo um trabalho de suporte em uma startup que estava usando o RoR. Quando comecei, não entendi realmente por que o RoR era - as pessoas diriam que Ruby é uma linguagem de programação e Rails é uma estrutura, mas esses termos me confundiram. Tudo que eu sabia era que as pessoas que eu conheci através do Twitter e de encontros locais foram muito encorajadoras. É claro que eu estava nervosa ao perguntar o que eu supunha serem perguntas muito tolas, mas elas estavam lá para ajudar.
Encontre uma comunidade ou um conjunto de comunidades que o ajudarão em sua jornada. Se você não souber por onde começar, pergunte a outras pessoas quais comunidades de programação são mais amigáveis para os novatos. Se você não conhece nenhum programador, comece aqui .
A mentalidade certa
Aprender a programar pode ser um grande desafio e pode ser tentador desistir em determinados momentos. Quando você se sente oprimido ou não é inteligente o suficiente, é importante lembrar: os computadores não são mágicos, você pode aprender como eles funcionam.
Se algo não está clicando, não é porque você não é inteligente o suficiente. Pode ser porque você está perdendo uma parte importante do conhecimento de segundo plano. Pode ser que o recurso que você está usando não seja destinado a alguém com seu histórico específico. Pode ser que você só precise fazer uma pausa e aprender algo novo. Não desista!
E agora?
A melhor maneira de começar a aprender é mergulhar. Basta procurar "aprender a programar" e ver o que aparece. Pense no que você gostaria de tentar aprender a criar e pesquisar "Como X como iniciante absoluto". Algumas atividades em que você pode pensar são: construir um site , criar um jogo em 2D e criar arte gerada por computador . Existem muitos recursos disponíveis para ajudar você a decidir onde e como começar a aprender.
Se você tiver alguma dúvida ou quiser algum conselho pessoal, entre em contato .