Como aprender o desenvolvimento Java? A experiência da estudante da GeekUniversity Nikita Chernetsov


Eu recebi o ensino superior no MSTU, estudei reatores nucleares e usinas. No entanto, apesar da impressão positiva de estudar e geralmente de boas perspectivas, depois da universidade, decidi me tornar um desenvolvedor. E acabou! Há três anos, trabalho como desenvolvedor Java sem interromper meu treinamento por um segundo. Vou falar sobre quais métodos de treinamento foram mais eficazes para mim. Não é o fato de que eles irão para todos e todos. Espero que alguém desenhe algo útil para si mesmo.


Cursos Online


Mas voltando ao começo. Eu não estudei programação em uma universidade, minha faculdade se chamava Reatores Nucleares e Usinas. No entanto, foi lá que estabeleci a base mais importante para minha profissão atual: depois de Baumanka, é incrivelmente fácil dominar qualquer material, independentemente do formato. Portanto, não sou da opinião de que o ensino superior esteja depreciando. Uma pessoa com um ensino superior de qualidade, mesmo de uma esfera diferente, sempre pensa um pouco melhor e agarra um pouco mais rápido.


A energia não me pegou, porque em algum momento do treinamento percebi que meu futuro está em TI. O Java sempre foi uma das principais linguagens, portanto, não houve muita hesitação com a escolha. Como não havia nenhum com o formato - quando existem cursos on-line, por que complicar sua vida? Eu rapidamente me inscrevi em vários cursos de TI, aprendi uma nova profissão com incrível perseverança, mas o mais importante, com prazer. Aconteceu que o único do grupo realizou trabalhos de casa complexos.


Procurei em vários cursos, eis os que mais gostei:


  • Java Rush - conveniente e intuitivo.
  • O Stepik é um programa anual com cursos em Java, Python, Haskell, C ++, programação funcional, análise matemática e estatística.
  • Otus é um curso avançado de Java, Spring e Machine Learning.
  • Faculdade de Desenvolvimento Java da GeekUniversity (GeekBrains) - aqui estou terminando o último trimestre.

É bastante razoável fazer vários cursos de Java ao mesmo tempo, porque os programas diferem em tempo e conteúdo. Cursos práticos curtos são bons porque você começa imediatamente a fazer o que precisa no trabalho real. Programas mais detalhados, como no GeekUniversity, fornecem conhecimento adicional sobre bancos de dados, algoritmos e estruturas. Não é necessário estudar tudo ao mesmo tempo, apenas pode não ter tempo e esforço suficientes, mas recomendo pelo menos tentar gradualmente tudo no topo. E nunca pare.


Prática


A estrutura de todos os livros sobre programação, em qualquer caso, é boa, uma é a explicação do tópico, depois os exercícios. O último não deve ser lido apenas, mas deve ser feito com as mãos, sem copiar e colar. Ainda mais legal - se você trabalha como programador e combina isso com treinamento. Isso ajuda você a crescer mais rápido e a fazer as perguntas certas. Ajudou-me que eu rapidamente o suficiente após o início do treinamento comecei a trabalhar em vários projetos.


Na Glosav, fiz um sistema de monitoramento de transporte. Idiomas diferentes foram misturados lá, Erlang trabalhou no nível mais alto de recepção de dados, depois no barramento do sistema em Kafka e por trás dele - Java sólido. Pessoalmente, escrevi manipuladores de fluxo. Na inicialização, o iVoice estava desenvolvendo um call center automatizado, usando ativamente o Kafka. Recentemente, me tornei desenvolvedor da Luxoft; há muitas novidades para mim - estamos desenvolvendo um sistema de informação e referência para um grupo de bancos VTB. No projeto, estou desenvolvendo uma arquitetura de microsserviços no módulo Spring Cloud.


Ao projetar o trabalho para estudar, você entende melhor os cursos que agora é aconselhável escolher; em que lugar é melhor perguntar ao professor, o benefício em cursos "longos" é uma oportunidade.


Código estrangeiro no github


Recentemente, comecei a examinar o código de muitas outras pessoas no GitHub, estudar bibliotecas e estruturas, analisar como os desenvolvedores legais resolvem seus problemas e colocar seus métodos em prática.


Isso acontece assim. Quando vejo um momento difícil, pego um pedaço de papel, uma caneta e faço um diagrama de classes, variáveis ​​e relacionamentos. Sem um pedaço de papel no GitHub, isso não é muito conveniente de assistir, pois para cada classe você precisa abrir sua própria guia. Para simplificar, conecto o IDE e observo a execução do código de depuração passo a passo.


Obviamente, a maior parte do código "espiando" foi escrita por desenvolvedores ocidentais, simplesmente por causa da popularidade do GitHub. Todas são pessoas abertas, portanto, se você não conseguir descobrir por conta própria em algum lugar, pode escrever para elas e perguntar sobre alguns pontos, elas responderão com prazer.


Quando trabalhei na Glosav, usei a biblioteca GraphHopper. Eu costumava ir a um fórum em que, em um tópico separado, o fundador do produto respondia a perguntas de outros programadores.


Quando consigo trabalhar com desenvolvedores legais, também presto atenção em como eles escrevem. Às vezes, nos cursos, percebo que o professor tem um código bonito e elegante. Como resultado, tenho certeza de "dissecar" tudo, estudá-lo cuidadosamente e enfatizar coisas novas para mim.


Livros de papel


O formato dos materiais deve ser o mais diversificado possível, portanto, os livros em papel não devem ser abandonados em nenhum caso. Por exemplo, eu tenho uma grande prateleira separada com publicações de programação. E sempre levo algo comigo para ler no trem ou metrô. Para essa leitura, você não precisa dedicar muito tempo, o principal é fazê-lo regularmente.


Se você é um desenvolvedor iniciante em Java, aqui está o meu livro pessoal de leitura obrigatória:



Dos novos produtos, posso aconselhar:



Não me forço a fazer todos esses cursos ou ler livros sobre programação - estou apenas interessado neste tópico e vejo que novos conhecimentos me ajudam a fazer melhor meu trabalho atual. Ao mesmo tempo, entendo perfeitamente que a programação é um ofício no qual você precisa preencher sua mão, manter o minimalismo no código e não derramar toda a teoria que você estudou lá. Esse tipo de trabalho me lembra o Aikido de alguma forma: você sabe e entende muito, mas aplica ataques eficazes direcionados com os meios mais adequados.

Source: https://habr.com/ru/post/pt433204/


All Articles