por John Selawsky
Defina os teus objectivos de carreira e escolhe uma língua. Este é o conselho mais importante para qualquer pessoa que tenha zero de experiência em programação e pretenda juntar-se à comunidade de programadores. Mas como pode fazer uma escolha sem saber qual a linguagem que mais se adequa aos seus objectivos?
Não seria fácil se houvesse um “líder de mercado” entre todas as linguagens de programação? Então todos os recém-chegados poderiam sempre ter uma escolha segura – aprenda esta língua e certamente terá uma grande procura. É claro, é impossível. As linguagens são “ferramentas” para resolver inúmeras tarefas. Mas ainda assim, há uma que pode ser considerada como uma escolha estelar – é Java.
p>Java é uma linguagem bem estruturada, orientada para objectos, que pode ser considerada fácil para principiantes. Pode dominá-la bastante rapidamente, pois há muitos processos que correm automaticamente. Não é necessário aprofundar demasiado “como as coisas funcionam lá dentro”. Java é uma linguagem multi-plataforma. Permite a um programador criar uma aplicação, que pode ser implantada em qualquer dispositivo. É a linguagem de eleição para a Internet das Coisas e a ferramenta certa para construir aplicações a nível empresarial.
O que é importante para um “caloiro”, Java tem uma das maiores comunidades globais e documentação de alta qualidade. Se tiver um problema, é mais do que provável que a resposta esteja pronta lá, à sua espera. Mais dois benefícios do Java são vastas colecções e estruturas que cobrem a maioria dos desafios com que terá de lidar como desenvolvedor Junior.
Finalmente, é uma linguagem com um background respeitável e um promissor futuro. Duas versões mais recentes, melhoradas com novas funcionalidades, foram lançadas no prazo de seis meses uma da outra. Isto ajuda Java a manter-se na vanguarda e a manter as posições mais altas em respeitáveis classificações profissionais.
Mas mesmo quando estamos a falar de uma linguagem de programação com uma curva de aprendizagem baixa, há muitas rochas escondidas para os principiantes. Quanto tempo é necessário para aprender? Em que fontes confiar? Quais os erros a evitar? Vamos percorrer toda a sua experiência de aprendizagem.
Segure-se que contorna os obstáculos comuns
Então, você é novo na programação. Parabéns: como pode fazer uso da experiência de outros programadores e evitar os erros comuns de uma auto-educação. Eis alguns lapsos frequentes.
Aprendizagem sem estabelecer um objectivo específico

Para estimar a escala e o nível de conhecimento desejado numa determinada linguagem de programação, em primeiro lugar, deve responder a uma pergunta simples: porque é que precisa de programação?
Se está a levar a sério a codificação e pretende tornar-se um programador Java, terá de estudar todos os dias durante pelo menos 4-5 horas. Mas se quiser simplesmente alargar o seu âmbito, pode escolher um tempo mais relaxado. De qualquer modo, tente não prolongar a sua educação por muitos anos, porque as tecnologias evoluem. Enquanto aprende uma certa estrutura ou ferramenta de desenvolvimento para conseguir um emprego, esta torna-se desactualizada.
Ler “qualquer coisa útil” que aparece não é a melhor estratégia de aprendizagem. Não há problema em fazer ajustamentos ao plano geral. No entanto, não o seguir de todo, irá inevitavelmente desmotivá-lo.
Uma tentativa de aprender demasiadas tecnologias ao mesmo tempo
Este é um erro subsequente, que leva a uma aprendizagem sem fim. Não tente encher o seu plano educacional com demasiadas tecnologias e ferramentas para evitar o esgotamento. Vai precisar de tempo para processar a informação e ver como tudo funciona na prática.
Demasiada investigação e teoria sem prática

Programação é uma habilidade que só se pode ganhar com muita prática. Vai precisar de uma formação séria em teoria, mas desde que apenas leia (ou veja) palestras e cursos, não pode realmente codificar. Pense sobre isso. Ninguém pode aprender a nadar sem o experimentar. Precisa de explicações, mas acima de tudo, precisa de acção.
Apenas muita prática lhe ensinará como lidar com os problemas do dia-a-dia dos programadores. Por exemplo, terá o hábito de verificar o seu código regularmente e não deixar que os problemas ligados se acumulem. Também começará com as soluções mais fáceis. Depois passará a ser mais requintado, trabalhando constantemente na melhoria do seu código. E o mais importante, habituar-se-á a codificar diariamente.
Aprender a codificar de forma isolada
Os iniciantes hesitam frequentemente, quer se juntem a comunidades de programação em linha ou participem em eventos, principalmente devido à síndrome do impostor. Mas lembrem-se: ninguém vos quer deitar abaixo. A comunidade de programação é colaborativa. É assim que aparecem numerosas fontes de dados abertas. Estão habituados a trabalhar em equipa, e certamente, todos eles eram principiantes num determinado momento da vida.
Dê uma vista de olhos: há muitos fóruns e fontes web sobre programação. Os programadores partilham avidamente os seus conhecimentos e estão abertos a colaborações. Pode começar a aprender online, obter uma dica útil de colegas mais experientes e mais tarde, encontrar o seu primeiro projecto de codificação.
Tenham a certeza de que um dia compreenderão completamente todos os aspectos da programação
Se alguém descobrisse um comprimido para tomar e imediatamente se qualificasse em qualquer linguagem de programação, seria a pessoa mais rica do planeta (desculpe, Jeff Bezos). Mas até lá, não há um fim certo na sua educação, se escolheu ser um programador. Mesmo quando se tem um emprego, nunca se deixa de aprender. As coisas mudam rapidamente num mundo da programação.
No outro lado, quando ainda estiver a aprender a codificar, tente aceitar alguns factos como eles são. Não se aprofunde em cada assunto, pois o seu fundo pode ser demasiado “pesado”.
Faça um programa de treino perfeito
É mais fácil atingir o seu objectivo passo a passo. Agora, quando conhece os erros comuns, pode evitá-los. Aqui estão cinco passos que pode dar para aprender Java.
- Definir um objectivo e escolher uma linguagem.
P>Pode fazer praticamente tudo com Java. Pode construir servidores de aplicações, aplicações desktop e móveis, aplicações empresariais, e executar testes unitários. Mas, claro, uma linguagem de programação não é tudo o que precisa de saber para se tornar um profissional. Tente pensar em áreas de actividade específicas.
Today’s trends are building cloud-based applications (you’ll also need to learn cloud computing basics and specific tools for cloud development), working with the Internet of Things, performing Big data analysis, creating games, etc.
2. Create an educational plan.
Aready to make Java programming your profession? Depois dedique pelo menos 2-3 (nos dias úteis) a 5 horas (nos fins-de-semana) para estudar diariamente. Neste caso, provavelmente precisará de 3 a 6 meses para se preparar para um posto de programador Junior.
Em geral, o seu processo de aprendizagem será dividido em algumas fases:
- Instalação de JDK (Java Development Kit) a partir do website Oracle e Instalação de ambiente de execução Java (IntelliJ IDEA, Eclipse ou NetBeans);
- Learning Java Collections;
- Explorar APIs frequentemente utilizadas (por exemplo, servlets, JSP, JDBC, JUnit);
- Mastering Git;
- E assim por diante.
Li>Sintaxe Java de aprendizagem;Li>Li>Learning Java Core;
Li>Learning popular libraries and frameworks;
Tente seguir o seu plano e manter o equilíbrio entre teoria e prática. A programação é uma habilidade que precisa de treino todos os dias. Se terminar de estudar um determinado assunto, continue com algumas tarefas de codificação (3 a 10, dependendo da sua dificuldade).
P>Pode facilmente ajustar o conhecido princípio de Pareto (regra 80/20) à aprendizagem de Java. O “20” significará investigação e o “80” significará prática. Isto não é um exagero: precisará de quatro vezes mais codificação do que leitura para memorizar o que aprendeu e desenvolveu as suas capacidades de codificação. Infelizmente, se não escrever o seu código de uma vez, irá esquecer tudo o que leu no dia seguinte. Felizmente, não precisa de inventar o seu próprio programa de formação, se tiver as fontes certas.
3. Escolha as ferramentas certas e junte-se às comunidades de programação.
Sejamos honestos: não existe um curso de Java perfeito. Alguns dar-lhe-ão um profundo conhecimento básico, outros proporcionar-lhe-ão uma boa dose de prática. Escolha algumas plataformas para educação, comunicação, e prática. Escolha um curso online que combine uma explicação simples da teoria com a codificação real.
Junte-se às comunidades, onde poderá fazer qualquer pergunta sobre os aspectos da codificação em Java, partilhar os seus pensamentos e encontrar pessoas com os mesmos interesses. As principais comunidades para programadores Java estão listadas abaixo.
Utilizar múltiplas fontes para aprender Java
Vocês precisarão de muitas ferramentas para atingir os vossos objectivos. Aqui está um conjunto de “ferramentas” para que tenha sucesso.
- Prática estrita: CodeAcademia
Esta é provavelmente uma das plataformas online mais conhecidas para a aprendizagem de numerosas línguas. Claro que também há uma secção para aprendizes de Java. Aqui começa a codificação a partir da primeira lição. Há dicas bastante úteis, que pode obter se uma determinada tarefa parecer difícil (o que é normal quando se é principiante). A lógica é simples: leia a tarefa, escreva código e execute-o para ver o que acontece como resultado, e depois passe para o passo seguinte. As tarefas tornam-se gradualmente mais complicadas, até começar a escrever o seu código a partir de uma folha limpa. A secção FAQ é bastante útil e tem a opção de discutir cada tarefa com outros alunos.
Este curso pode ser uma grande ferramenta complementar na aprendizagem de Java. Como já foi dito, precisa de codificar para dominar a programação Java.
2. Reproduzir e codificar desde o início: CodeGym.cc
Estes são cursos em linha para alunos de Java com uma característica especial – a gamificação. Hoje em dia é comum os cursos em linha adoptarem elementos gamificados, pois trazem motivação instantânea, uma sensação de realizações constantes e tornam mais fácil atingir o seu objectivo.
No CodeGym’s começa-se do nível 0 no universo futurista com viagens espaciais, robots, e outras coisas fixes. O seu objectivo é passar quatro missões educacionais para nivelar um personagem – um robô. Cada missão inclui 10 níveis, e cada nível tem até 10-12 lições, ensinadas por membros da tripulação de uma nave galáctica. Uma lição consiste de uma teoria mínima e um conjunto de tarefas com verificação instantânea e dicas sobre como melhorar o seu código. Começa-se a codificar desde o início, resolvendo tarefas muito simples, até se estar pronto para projectos de codificação muito mais complicados e massivos.
A história inteira permite-lhe não ficar preso a um determinado assunto ou tarefa, avançar e regressar mais tarde aos “twisters”. No total, há mais de 1200 tarefas impressionantes num curso. Uma quantidade que se converte em pelo menos 300-500 horas de codificação.
3. Desafiar programadores: Codewars
Esta é outra plataforma online com toneladas de prática. Embora seja mais adequada para alunos com pelo menos uma pequena experiência em programação. Os codewars permitem-lhe afiar competências numa determinada linguagem, treinando katas.
Pode escrever o seu código num browser e utilizar casos de teste para o verificar passo a passo. Pode também comparar a sua solução com outras para alargar os seus conhecimentos e discutir as melhores práticas. Cada kata tem uma classificação, e cada kata é um desafio com outros programadores. Quando resolve tarefas mais difíceis, pode obter desafios mais complicados para melhorar as suas capacidades de codificação. O que difere esta plataforma das outras é que permite estudar e praticar num grupo.
4. Ouça as palestras de um nível “pro”: EdX
EdX é uma plataforma educacional fundada pela Universidade de Harvard e pelo MIT. Abrange muitos campos de estudo, incluindo programação Java e muitos assuntos relacionados. Há muitos cursos de introdução e programas de certificação verificados, fornecidos por universidades.
Cada curso tem um período de tempo definido e inclui palestras em vídeo com transcrição de texto. É fácil voltar às aulas anteriores e rever o material. Há dezenas de cursos diferentes, alguns deles são gratuitos. Mas mesmo assim, esta é uma fonte estritamente para aprender a teoria Java. Certifique-se de reforçar esses cursos com horas de codificação.
Quer ficar atento às últimas notícias, revisões e actualizações no mundo Java? Isso é a coisa certa a fazer. Java está em constante evolução, actualizando e trazendo novas funcionalidades. Certifique-se de ter um par de suportes que possa ler diariamente. Um dos maiores são:
- Javaworld (notícias, tutoriais úteis, “como fazer” e tudo o resto para o manter actualizado com a programação Java);
- Java Code Geeks (um centro de recursos para aqueles que aprendem Java com tutoriais educativos, artigos, e dicas sobre como obter um emprego como programador Java);
- DZone (muitos artigos e guias para principiantes e programadores experientes);
- Javarevisited (um blogue actualizado diariamente que cobre numerosos tópicos de aprendizagem de Java).
Lembra-se dos conselhos para se juntar a uma comunidade para tornar a sua educação mais eficaz? Pode fazer qualquer pergunta na secção Java de Stack Overflow ou Coderanch. Além disso, existem pelo menos três grandes comunidades em Reddit, como alearnprogramming, java e learnjava, onde encontrará dicas úteis sobre aprendizagem de Java e programação em geral. Se precisar de informações mais específicas, por exemplo, uma dica sobre como melhorar o seu código em determinadas tarefas, tente a secção de ajuda especial no CodeGym, onde outros estudantes e “coding coaches” o ajudarão com qualquer problema. E finalmente, a Oracle tem uma vasta comunidade Java, aberta tanto para os recém-chegados como para os programadores experientes.

Ser um programador significa melhoria constante e ganhar novos conhecimentos. Se desenvolver uma capacidade de auto-educação desde o início, será bem sucedido por todos os meios. Está pronto para tentar?