Prefácio
Então, você sente que é hora de mudar de ramo de atuação e aprender uma nova profissão. Por que não tentar programar? Eles pagam bem por isso, é promissor e interessante. Mas surge imediatamente a questão: o que fazer, para onde ir, como começar a programar? Como pessoa que percorreu esse caminho do zero, posso garantir que, com a abordagem correta de aprendizado, paciência e perseverança, em breve você poderá se tornar um programador e encontrar um emprego bem remunerado. Neste artigo quero compartilhar dicas sobre como começar a programar.Definir uma meta
Para entender pelo que se esforçar e que nível alcançar, responda a uma pergunta simples - por que você precisa de programação? Se o seu objetivo é se profissionalizar e ganhar a vida programando, esteja preparado para um treinamento sério e intensivo. Ao mesmo tempo, você deve estar disposto a dedicar tempo todos os dias ao aprendizado de programação. Se o seu objetivo é um hobby ou expandir seus horizontes, você pode escolher um ritmo mais lento conforme tiver tempo livre e vontade. Mas, em qualquer caso, você não deve prolongar seu treinamento “por anos”. Em primeiro lugar, o conhecimento desaparece mais rapidamente do que se acumula e, em segundo lugar, as tecnologias de programação estão a desenvolver-se muito rapidamente. Enquanto você aprende uma ferramenta ou estrutura de desenvolvimento, ela pode se tornar desatualizada e desnecessária no momento em que você for contratado. A melhor solução, na minha opinião, é traçar um plano de treinamento aproximado. Mas primeiro, decida sobre a pilha de tecnologia.Escolhendo um idioma
Se você tem uma ideia específica do que gostaria de fazer em programação, isso torna a escolha de uma linguagem muito mais fácil. Cada idioma tem sua própria especialização e foco. Informações específicas sobre isso podem ser facilmente encontradas na Internet.Atualizado em 29/11/2021
Escrevendo um plano de preparação
É com um plano que aconselho iniciar o caminho de um programador. Divida seu treinamento em etapas e reserve um tempo específico para cada etapa. Para entender melhor como programar, ou mais precisamente, o que acontece essencialmente quando o processador executa seu primeiro “Olá, Word!” você precisará de um conhecimento geral de arquitetura de computadores. Se houver lacunas nesta área, é aconselhável eliminá-las. Portanto, recomendo incluir a arquitetura de PC em seu currículo. Divida o estudo do idioma escolhido em etapas à medida que a complexidade do material aumenta. Você pode ter uma ideia aproximada do conhecimento necessário estudando as perguntas da entrevista ou os requisitos para candidatos a cargos em empresas de TI. Como aprender a programar se ainda não o fez? A resposta é simples: para aprender uma língua estrangeira, primeiro você aprende palavras simples, depois as regras que permitem conectá-las, depois aprende a compreender e falar. Para aprender Java, tente seguir o mesmo algoritmo.Como aprender Java?
Primeiro, estude a sintaxe da linguagem: palavras-chave, operadores, regras para escrever código. Gradualmente, passe a estudar estruturas de linguagem mais complexas - métodos, construtores, classes, bibliotecas e frameworks. Para entender como programar corretamente, inclua algoritmos e estruturas de dados em seu currículo. Isso é muito útil para moldar a mentalidade de um programador. É aconselhável realizar esta etapa após estudar a sintaxe da linguagem.
Como aprender a programar em Java?
Para começar a programar em Java , aprenda tópicos básicos como OOP, exceções, multithreading, coleções. Tudo isso está incluído no Java SE, o conjunto padrão de ferramentas para desenvolvedores, e definitivamente deve ser incluído no seu plano de treinamento. Depois de dominar o Java SE, você pode passar para o Java EE, tecnologias de programação cliente-servidor, bancos de dados e tecnologias de programação web. Aqui você simplesmente encontrará uma quantidade colossal de várias estruturas e ferramentas.
Não é necessário aprender tudo de uma vez, mas é aconselhável dominar os principais na hora da contratação. Eu classificaria como principais: Git, Maven, Spring, ORM (Hibernate, JPA), REST, SQL, JUnit, Tomcat, JavaScript, JSP/JSTL, HTML/CSS, XML, conhecimento de algum banco de dados (MySql, PostgreSQL). Meu plano era mais ou menos assim: janeiro- Complete os primeiros 10 níveis do JavaRush
- Ferramentas de desenvolvimento IDE, Eclipse, NetBeans
- JRE, JDK, JVM, compilação, execução de programa
- Sintaxe Java
- " A Filosofia de Java ", Bruce Eckel, capítulos 1-5
- Yakov Fain “Introdução à programação Java” lição 1
- Complete os níveis 11-13 do JavaRush
- POO
- "A Filosofia de Java", Bruce Eckel, capítulos 6-10
- Yakov Fain “Introdução à programação Java” lições 2, 4
- Complete os níveis 14-17 do JavaRush
- Noções básicas de multithreading
- Algoritmos em Java, Robert Sedgwick, Kevin Wayne, capítulos 1-3
- "A Filosofia de Java", Bruce Eckel, Capítulo 21
- Yakov Fain “Introdução à programação Java” lição 11
- Complete os níveis 18-20 do JavaRush
- Noções básicas de XML
- Entrada/Saída
- "A Filosofia de Java", Bruce Eckel, Capítulo 18
- Yakov Fain “Introdução à programação Java” lição 9
- Complete os níveis 21-23 do JavaRush
- Cordas
- Expressões regulares
- Noções básicas de HTML
- "A Filosofia de Java", Bruce Eckel, capítulos 13-16
- Yakov Fain “Introdução à programação Java” lição 3
- Complete os níveis 24-26 do JavaRush
- Multithreading
- Exceções
- Aulas internas
- "A Filosofia de Java", Bruce Eckel, capítulos 10, 12
- Yakov Fain “Introdução à programação Java”, lição 6-7
- Complete os níveis 27-28 do JavaRush
- java.util.concurrent
- Noções básicas de SQL e banco de dados
- JDBC
- Anotações
- Reflexão
- "A Filosofia de Java", Bruce Eckel, Capítulo 20
- Yakov Fain “Introdução à programação Java” lições 12,13
- Complete os níveis 28-30 do JavaRush
- Balanço
- Serialização
- Análise XML
- Servlets
- JSP/JSTL
- "A Filosofia de Java", Bruce Eckel, Capítulo 22
- Yakov Fain “Introdução à programação Java” lições 14-15
- Complete os níveis 31-33 do JavaRush
- JSON
- URL. Trabalhando com a rede
- Noções básicas de CSS
- Yakov Fain “Introdução à programação Java” lição 10
- Complete os níveis 34-36 do JavaRush
- Exploração madeireira
- JUnit
- Git
- Maven
- Lista
- Fila
- Trabalhando com coleções
- Complete os níveis 37-38 do JavaRush
- Mapa
- Padrões de design
- "A Filosofia de Java", Bruce Eckel, Capítulo 11
- Yakov Fain “Introdução à programação Java” lição 8
- Complete os níveis 39-40 do JavaRush
- Descansar
- gato
- Construindo e implantando aplicativos
- Yakov Fain “Introdução à programação Java”, lição 16-18
GO TO FULL VERSION