Como ser um bom programador

Atualizar: Adicionado uma lista de fantásticos podcasts de programação para aprender em movimento.

Agora, melhor do que nunca, a tecnologia tornou-se uma das partes mais fundamentais para a inovação em todas as indústrias. Isso resultou em uma enorme demanda por programadores e desenvolvedores em todo o mundo. A beleza da tecnologia é que, é muito acessível, então…

VOCÊ NÃO TEM QUE SER UM CIENTÍFICO DE ROCKET PARA SER UM PROGRAMA DECENTE.

Pode parecer difícil, mas a verdade é… Pode ser mais fácil do que você pensa. você só tem que ler, praticar e colocar algum esforço. Mas… não é isto que se faz diariamente?

A primeira coisa é a primeira. Antes mesmo de começar a perturbar a sua mente por um ponto-e-vírgula (Talvez você não vai conseguir isso agora, mas acredite em mim. Você vai conseguir mais tarde em 😂 ) você vai precisar de um bom recurso básico de ciência da computação e um bom editor de textos. Mesmo que haja muitos por aí, vou dar-lhe os mais modernos.

Teach Yourself Computer Science

Este website dá-lhe um bom ponto de partida para aprender sobre Ciência da Computação e programação. Ele cobre muitos tópicos básicos importantes e ajuda você a obter um bom conhecimento sobre CS.

Git

Git é um sistema de controle de versão para… Bem, manter versões do seu código. Ele permite que você volte para outra versão se você mudar alguma coisa e alguma coisa der errado na nova versão. Este site é um bom lugar para começar a aprender git.

Github

Este é um recurso muito importante. Quase todas as empresas de programação lhe pedem para ter experiência com algum tipo de sistema de controle de versão. GitHub é um serviço de hospedagem baseado na web para controle de versão usando git. Ele é usado principalmente para código de computador. Ele oferece todas as funcionalidades de controle de versão distribuído e gerenciamento de código fonte de Git, além de adicionar suas próprias funcionalidades. Ele também permite que você colabore com outros programadores. Você também pode usá-lo como um alojamento HTML estático para armazenar os arquivos do seu projeto pessoal. Você pode realmente servir um site dentro de Github.

Bitbucket

Bitbucket é o mesmo que Github, menos a plataforma social. Outra grande diferença entre estes dois é que o Bitbucket permite a criação de repositórios privados e no Github você tem que pagar por esta funcionalidade. Você também pode usá-lo como um alojamento HTML estático para armazenar arquivos de projetos pessoais. Você pode realmente servir um site dentro do Bitbucket.

Aprenda o comando

A linha de comando é onde a maior parte da mágica acontece. Então é realmente importante obter algumas habilidades de linha de comando.

Os editores de texto:

Sweet old Sublime. Na minha opinião, este editor é um dos melhores por aí. Ele tem um monte de plugins e trechos de código. Ele também é realmente confiável em termos de performance e produtividade. Eu ainda o uso, mas eu adoro experimentar coisas novas, então mudei recentemente para Visual Studio Code. Com suporte a ele: Windows, Mac OS e Linux

Visual Studio Code

Visual Studio Code foi desenvolvido pela Microsoft, apesar de ser bastante novo, ele chegou ao topo dos editores de texto de 2017. Tão bom que acabei por mudar do texto Sublime e tenho de dizer que é um editor de texto bastante fantástico. Até agora não tive arrependimentos. Apoiado: Windows, Mac OS e Linux

Atom

Este editor de texto do Github foi a minha escolha preferida. É realmente lindo e é muito fácil de configurar. A única coisa que me fez mudar de volta para Sublime é o fato de que ele pode ficar bem lento às vezes e ele costumava me travar sempre que eu abria um arquivo minificado. Mas no geral é um editor de texto decente. Suportado: Windows, Mac OS e Linux

Notepad++

Notepad+++ é um editor de texto básico com as características necessárias para escrever um programa decente. Algumas pessoas preferem este por causa da sua simplicidade. Pessoalmente, eu me vejo mais produtivo em editores de texto mais arrojados como o código VS ou Sublime. Suportado por: Windows

VIM

Hacker, este é para si. Este editor de texto é mais técnico e requer mais configuração. Ele vem por padrão no Mac OS e na maioria dos sistemas baseados em UNIX. Suportado em: Mac OS, Linux e recentemente no Windows

Remember: Você sempre poderia usar o editor de texto de sua escolha. Estes são apenas os melhores baseados em tendências e na minha experiência.

Com isto dito, aqui estão alguns recursos de aprendizagem que o ajudarão a desenvolver as suas capacidades de programação:

Free Code Camp é um caminho de aprendizagem de programação gratuito para desenvolvedores web e desenvolvedores de pilha cheia. Este é um dos primeiros recursos que usei para iniciar minha carreira de desenvolvimento web. E eu gostei muito. Eles até oferecem projetos reais sem fins lucrativos para aperfeiçoar suas habilidades.

Code Academy

Code Academy é na verdade um dos melhores recursos para começar. Ela oferece uma experiência geral de programação básica. Ele também tem um editor de texto ao vivo na página da lição para que você possa praticar enquanto aprende.

Ruby Monk

Ruby Monk é um bom tutorial de iniciação para aprender Ruby. Ele oferece um curso simples e direto para iniciantes e é realmente fácil de seguir.

CodeWars

Code Wars é uma maneira muito legal de aprender a codificar. Ele oferece a oportunidade de aperfeiçoar suas habilidades interagindo com outras pessoas em desafios reais de código.

Railsforzombies.org

Esta é outra maneira legal de aprender programação, embora eu recomendo ter algum conhecimento básico sobre Ruby antes de tentar este site. Este site permite-lhe aprender Ruby com um jogo interactivo.

CodeSchool

CodeSchool oferece uma rica variedade de cursos com um percurso de aprendizagem que lhe permite determinar qual o percurso de programação a seguir com base nos seus interesses.

Egghead.io

Este recurso é um dos meus favoritos. Ele se concentra mais em tecnologias de desenvolvimento web. Ele oferece tutoriais e cursos de codificação de alta qualidade para melhor desenvolver essas habilidades de Javascript.

Udacity

Eu só usei Udacity algumas vezes, mas eu li muito sobre isso e é muito legal. Eles oferecem cursos gratuitos para iniciantes e o que eles chamam de “Nanodegrees”. Os Nanodegrees parecem bastante promissores, eles são basicamente uma lista curada de cursos de iniciante a avançado para um tópico específico. Por exemplo, o Nanodegree Full Stack Web Developer cobre tudo, desde o desenvolvimento web front-end até o desenvolvimento web back-end. Tenho que salientar que estes Nanodegrees são criados em colaboração com grandes empresas como Google, Amazon, IBM e muito mais. Agora, eu não sei se esses cursos valem o dinheiro (porque são caros), mas estou planejando fazer um, então quando eu chegar lá, vou escrever um artigo sobre isso.

Udemy

Almost forgot about this one. Udemy é talvez uma das plataformas de aprendizagem mais populares. Eles têm mais de 15.000 cursos e geralmente são bem baratos. Este recurso é muito bom para quando você está com pressa e precisa aprender uma certa habilidade rapidamente. Eu usei muito este recurso quando estava na faculdade (atualmente tenho mais de 80 cursos). Mesmo tendo que admitir, não terminei cada um deles 😂.

Devslopes

Devslopes começou como uma campanha Kickstarter e imediatamente me apaixonei por ele. Ele oferece uma variedade de cursos de programação de alta qualidade com projetos para usar em seu portfólio. Como apoiador inicial tive a oportunidade de contribuir com o projeto deles e em troca tenho acesso vitalício a todos os cursos e versões que eles lançam, de graça. Agora, se você quiser ter essa vantagem você pode ter porque eles estão prestes a lançar o Devslopes 2.0 e eles tinham uma promoção sobre ele. Mas não tenho a certeza se ainda está disponível. Mas é um dos melhores negócios que eu tenho. Afinal o conhecimento não tem preço.

Treehouse

Frankly, eu nunca considerei este antes, mas depois de ser sugerido pelo Tomáš Vorel e semanas de aparecer no Facebook &Anúncios no Youtube, eu decidi tentar. Tenho que dizer, este recurso de aprendizado é muito bem organizado e eu amo absolutamente os métodos de ensino. Eles sempre têm alguma representação visual para os tópicos e eu realmente adoro conteúdo visual.

BrainFood

Yes, você ainda tem que ler se você quiser ficar realmente bom nisso. Esta é a forma mais tradicional e às vezes mais eficaz de aprender novas habilidades.

Esta é uma lista de livros que achei útil:

Este livro pode ser um pouco “chato” mas cobre os conceitos básicos da ciência da computação e algoritmos. Este livro é um must se você realmente quer entender como código e algoritmos funcionam.

Cracking the Coding Interview

Este livro cobre uma visão geral das questões de programação que podem ser feitas em uma entrevista de emprego. E como abordá-las.

Os Inovadores: Como um grupo de Hackers, Génios e Geeks Criaram a Revolução Digital

Este livro é mais sobre a história da inovação e da tecnologia. Basicamente cobre todas as pessoas que contribuíram de alguma forma para a tecnologia que tornou a inovação de hoje uma realidade.

Aprenda Python do Caminho Difícil

Este livro é basicamente um livro de trabalho. Você aprende enquanto pratica. Ele lhe dá desafios para você praticar diariamente. Ele cobre os tópicos muito básicos sobre python.

Soft Skills: O manual de vida para desenvolvedores de software é um guia único, oferecendo técnicas e práticas para uma vida mais satisfatória como um desenvolvedor profissional de software. Nele, o autor aborda uma ampla gama de tópicos “leves” importantes, desde carreira e produtividade até finanças pessoais e investimentos, e até mesmo fitness e relacionamentos, tudo do ponto de vista do desenvolvedor.

Envolva-se na Comunidade

Esta é uma das partes mais importantes para se tornar um bom desenvolvedor. A maioria das pessoas salta esta parte porque acha que é inútil, mas a verdade é que AJUDA MUITO. Você ficará espantado com o quanto você pode aprender de uma ou duas horas de conversa com outros desenvolvedores. Só para dar um exemplo, no meu primeiro encontro eu tive a chance de conhecer um dos desenvolvedores de Campos Personalizados Avançados (um aclamado plugin do WordPress para desenvolvedores) Eu realmente uso muito este plugin. E eu também consegui me tornar um membro da equipe do Wordcamp Miami 2018 WordPress Conference.

Com isso dito, aqui estão algumas das plataformas que eu uso para meetups e conferências:

Este aplicativo permite que você procure por conferências de codificação nas proximidades.

>

Meetup

Esta aplicação permite que você procure por conferências de codificação próximas.

Espaços de trabalho

Você poderia facilmente encontrar um espaço de trabalho conjunto próximo apenas procurando “Espaço de trabalho conjunto <SuaCidade>” . Os espaços de co-trabalho permitem-lhe partilhar conhecimentos com outros programadores e obter um feedback real na sua base de código.

Playgrounds

Playgrounds são basicamente editores virtuais para praticar em movimento, sem a necessidade de sobrecarregar o seu computador portátil ou PC. Isto ajuda-o a poupar tempo e a melhorar em qualquer linguagem de programação. A melhor parte destes playgrounds virtuais é que você pode acessá-los de qualquer lugar.

Cloud9

Este playground virtual é na verdade um IDE completo baseado no Linux. o que isto significa? Significa que você pode fazer tudo que faz em uma máquina Linux através do terminal, até mesmo instalar bibliotecas. Este me ajudou muito na faculdade.

Codepen

Utilizo muito este aqui. O Codepen é o Santo Graal para desenvolvedores web. É mais uma comunidade online para testar e mostrar trechos de código HTML, CSS e JavaScript criados pelo usuário.

Glitch

Glitch é quase o mesmo conceito do Codepen. Só que é um pouco mais “amigável”. É bastante poderoso também. Eu ainda gosto mais do Codepen tho.

Orion

Orion é uma IDE online para brincar com Java.

Python Fiddle

Python ganhou muita popularidade nos últimos anos. Este é um ambiente de codificação para aqueles que gostariam de adicionar python ao seu conjunto de habilidades (você deve aprender pelo menos o básico).

Codeanywhere

Codeanywhere é uma IDE de nuvem multi-plataforma. Ele permite aos usuários escrever, editar, colaborar e executar instantaneamente projetos de desenvolvimento web a partir de um navegador web e qualquer dispositivo móvel.

Reply.it

Esta foi sugerida por Vic A. e devo dizer, parece bastante promissora. Esta plataforma de programação virtual permite criar playgrounds virtuais para desenvolver, testar e até mesmo implantar aplicativos. Ela também inclui um recurso muito legal da plataforma de ensino 🔥 com seu próprio sistema de classificação.

Codesandbox.io

I veio com este recurso bacana enquanto eu estava participando do 10º Wordcamp de Miami. Uma das colunas usadas para uma demonstração de codificação ao vivo e eu me apaixonei por ela. É outra solução rápida e confiável baseada na nuvem para criar protótipos de aplicações em movimento.

Got Stuck? Pergunte a alguém

A beleza de ser um desenvolvedor vivendo em 2018, é que há muitas pessoas que já passaram pela maioria das lutas que você vai ter. Há uma grande chance de que alguém tenha tido o mesmo problema que você está tendo com um pedaço de código. A menos que você esteja trabalhando em um código proprietário. E mesmo assim, você deve ser capaz de encontrar dicas de como lidar com esses insetos desagradáveis. Agora, tudo isto é baseado na minha experiência.

Aqui está uma lista de sites e recursos para ajudar na luta para que você não acabe com uma crise existencial, chorando no canto. (Nunca fiz isto 😅🤣):

Stack Overflow

Tão conhecido como a bíblia do programador. Stack overflow é uma, se não, a maior comunidade online para programadores aprenderem, perguntarem, partilharem, e até mesmo encontrarem um emprego. Portanto, certifique-se de ter este na sua guia favorita.

Stack Exchange

Stack Exchange é um site de perguntas e respostas simples. Um tipo de fórum, para ajudá-lo a esclarecer essas dúvidas de codificação.

Quora

Vejo o Quora mais como uma versão profissional do Stack Exchange. Quora é um lugar para ganhar e compartilhar conhecimento. É uma plataforma para fazer perguntas e conectar-se com pessoas que contribuem com insights únicos e respostas de qualidade. Isto capacita as pessoas a aprender umas com as outras e a compreender melhor o mundo.

Github

Again, Github é uma das comunidades online mais usadas por aí. Faça uso dele, aprenda-o, compartilhe-o e contribua para ele.

Twitter

Aposto que você já ouviu falar dele. Mas você já pensou em usar é como um recurso para aprender e responder perguntas? Bem, deixe-me dizer que o Twitter, com sua grande quantidade de usuários, tem uma boa quantidade de especialistas no assunto. Basta tweetar a sua pergunta e hash hash tag ### it

Reddit

Não, não é apenas para Meme’s e gifs. Reddit também pode ser um poderoso recurso para encontrar soluções ou aprender novas tecnologias. Ele possui um sistema de threads para organizar melhor os tópicos.

Hacker News

Este recurso é um feed muito simples de atualizações importantes e notícias sobre a indústria tecnológica. Realmente útil.

Producthunt

Agora, Producthunt… Não consigo expressar o quanto eu amo este site. Eu literalmente uso isto diariamente. Ele constantemente lança uma lista curada de novas ferramentas, aplicativos, frameworks, sites e até mesmo gadgets para procurar. A maior parte está relacionada com tecnologia! Então você sempre pode tentar e aprender coisas novas. Também apresenta uma pesquisa de trabalho e uma seção para perguntas e respostas.

Podcasts

Comecei a ouvir podcasts daqui a quase dois anos e é um dos melhores recursos que eu já tive. Eu dirijo muito e ouvir podcasts me permite aprender em movimento, então nunca perco tempo.

Syntaxfm

Esta é a minha favorita pessoal. Hospedado por Full Stack Developers, Wes Bos e Scott Tolinski, Syntaxfm é um podcast de “tratamentos web saborosos” com muitos recursos e dicas úteis para desenvolvedores web. Eles cobrem desde frameworks JavaScript como React, até os últimos avanços em CSS para simplificar ferramentas web.

Shop Talk Show

ShopTalk é um podcast sobre design web front end, desenvolvimento e UX. Cada semana Chris Coyier e Dave Rupert são acompanhados por um convidado especial para falar de loja e responder as perguntas enviadas pelo ouvinte.

The Web Ahead

Um recurso muito bom para se manter atualizado com as últimas tendências da web. Conversas com especialistas mundiais sobre tecnologias em mudança e o futuro da web. Hospedado por Jen Simmons.

Code Pen Radio

Chris Chris Coyier, Alex Vazquez e Tim Sabat, os co-fundadores da CodePen, falam sobre os meandros de gerir um negócio de software web. Este podcast é um must-have.

Learn to Code with Me

O podcast Learn to Code With Me, criado por Laurence Bradford, é para aspirantes a técnicos e codificadores autodidatas que procuram a transição para a indústria tecnológica.

Conclusão

Leia, Pratique, Partilhe, Pergunte…Repito

Este é tudo um caminho de aprendizagem. Comprometa-se com ele e tenha muita paciência. Ninguém nasceu sendo um especialista no que faz. Eu ainda tenho muito a aprender também. Lembre-se, uma das partes mais importantes de se tornar um bom desenvolvedor, é realmente fazer parte da comunidade. Então, dê a você mesmo a chance de tentar algo diferente, vá a um encontro, conheça novas pessoas, obtenha algum feedback, critique algum código e se divirta.

Deixe uma resposta

O seu endereço de email não será publicado.