JavaRush /Blogue Java /Random-PT /O que você precisa saber para se tornar um Java Junior e ...

O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?

Publicado no grupo Random-PT
Os requisitos para potenciais desenvolvedores Java estão em constante mudança e são difíceis de acompanhar. Basta saber apenas Java Core para se tornar Trainee? Quão bem você precisa entender Spring e Hibernate para conseguir uma posição Java Junior? Vale a pena aprender bancos de dados e entender algoritmos de classificação e pesquisa? E como os alunos JavaRush muitas vezes se preocupam com essas questões, decidimos colocá-las aos nossos graduados que já estão trabalhando como Java Juniors ou estagiando em empresas como Java Trainees. Observe que 13% dos entrevistados tiveram a sorte de conseguir uma posição Java Middle na primeira tentativa, contornando o estágio Junior. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 1Os entrevistados compartilharam informações sobre quais tecnologias eles precisavam para passar na entrevista e quais usaram no primeiro ano de seu primeiro emprego em Java.

Todo mundo precisa do Java Core

O termo Java Core é bastante amplo. Este nome se refere tanto à sintaxe elementar da linguagem quanto a um tópico tão complexo como multithreading. Na verdade, o curso JavaRush é dedicado principalmente ao Core. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 2Sintaxe Java. Noções básicas de linguagem. Todos esses tipos de dados, operadores, loops e ramificações. Naturalmente, 92,4% dos que conseguiram o emprego avaliaram seu conhecimento de sintaxe como “bom ou excelente”. No entanto, 7,6% dos entrevistados conseguiram se tornar Java Trainees com conhecimento médio de sintaxe. No entanto, isso deve ser avaliado mais como sorte (ou orgulho dos entrevistados :)). É claro que todos que se candidatam a um emprego como programador devem conhecer a sintaxe da linguagem. Programação orientada a objetos (OOP). Tudo em Java é feito de objetos, então OOP pode ser considerado um dos temas mais importantes da linguagem. A abordagem orientada a objetos pode parecer estranha à primeira vista, especialmente se você só estudou linguagens procedurais antes, mas não é difícil mudar para objetos. As maiores dificuldades para iniciantes são os níveis de abstração e sua distribuição independente - um programador iniciante deve ser capaz de criar corretamente uma hierarquia de objetos, entender pelo que a interface será responsável e o que pode ser colocado em uma classe abstrata, criar uma herança escada e assim por diante. Como sempre, essa dificuldade é resolvida pela prática. A maioria dos entrevistados, 80,3% dos que conseguiram o primeiro emprego, conheciam bem os princípios da OOP e os utilizavam constantemente. No primeiro ano de trabalho como Java Juniors e estagiários, 78,8% dos entrevistados usaram princípios OOP com muita frequência, 12,1% - de vez em quando. 7,6% dos ouvintes raramente os usavam - esses caras estavam ocupados principalmente com testes unitários e várias pequenas tarefas. Isto é, é claro, eles também usavam classes ou objetos (você não pode ficar sem isso em Java), mas raramente criavam hierarquias de classes. Estrutura de coleções. Uma coleção é uma coleção de objetos individuais apresentados como um todo. Java possui um Collections Framework muito inteligente para representar coleções. As coleções são baseadas em estruturas de dados populares - listas, ordinárias e conectadas, conjuntos, tabelas hash. Portanto, ao explorar coleções, é uma boa ideia familiarizar-se mais com estruturas de dados. A principal dificuldade no estudo das coleções é compreender e lembrar como elas funcionam. Se você entender como eles acessam um elemento, extraem-no de uma coleção e adicionam-no a ela, então você começa a entender onde aplicar esta ou aquela estrutura. Isso vem com a prática. Mas, felizmente, nem todas as coleções são usadas ativamente no trabalho real. 80,3% dos entrevistados indicaram que tinham um conhecimento bom ou mesmo excelente sobre coleções antes de receberem a sua primeira oferta de emprego, e quase todos os 96,9% dos Juniores e estagiários utilizam coleções no seu primeiro emprego. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 3Manipulação de exceção.Uma exceção é uma situação fora do comum que pode ocorrer durante a execução do seu programa. Todas as classes de exceção são subtipos da classe java.lang.Exception. O mecanismo de tratamento de exceções simplifica bastante o processo de localização de erros em programas. Normalmente, os alunos começam a usar exceções bem cedo, digamos, no JavaRush. No JavaRush, esse tópico é levantado na primeira missão Java Syntax. Quase todos os graduados em JavaRush que conseguiram seus primeiros empregos sabiam como lidar com exceções e, naturalmente, as utilizavam enquanto trabalhavam. Fluxos de E/S Java. Os primeiros programas escritos em Java geralmente continham algo como System.out.println(“Hello world”). Freqüentemente, os iniciantes entendem que o método println imprime uma linha no console, mas não têm ideia de por que System e out estão lá e como funcionam. Um pouco mais tarde, acontece que Java realiza operações de entrada e saída usando fluxos, um fluxo contínuo de dados. Threads não são o tópico mais fácil de entender e não são usados ​​com muita frequência em empregos para iniciantes: apenas 22,7% das pessoas que conseguiram seu primeiro emprego Java Junior/Trainee disseram que usam muito threads de E/S, 31,8% - de vez em quando. vez, 25,8% - raramente. Portanto, pouco menos de 20% não os usaram durante o primeiro ano como desenvolvedor Java. Durante os estudos, 18,2% não tiveram dificuldades particulares com os fluxos e os conheciam bem, 36,4% avaliaram o seu conhecimento como bom, mas 10,6% ignoraram este tema. Multithreading (Java Multithreading/Simultaneidade). Talvez este seja o tema que causa maior mal-entendido entre os desenvolvedores iniciantes. Embora o multithreading em Java seja muito bem implementado, é difícil de entender e podem surgir problemas mesmo ao escrever programas simples (por exemplo, “Hello, world” multithreaded). Muitos empregadores entendem isso e não exigem um conhecimento profundo de multithreading dos iniciantes, esperando que isso venha com a experiência. Apenas 12% dos entrevistados observaram que conheciam bem o tema antes de receber a primeira oferta, enquanto quase 32% dos entrevistados admitiram que não sabiam nada sobre o tema. A maioria, 56,2%, disse que “tinha alguma compreensão” de multithreading. Portanto, se as dificuldades de trabalhar com threads parecem intransponíveis para você agora, esses números podem tranquilizá-lo. Porém, se você deseja obter vantagem competitiva em uma entrevista, este tema pode ser seu ponto forte. Em projetos reais, os iniciantes raramente têm permissão para trabalhar com threads. Assim, 15,1% dos programadores novatos não encontraram Java Multithreading em seu trabalho e 39,4% o encontraram, mas raramente. Muitas vezes, no primeiro ano de trabalho, apenas 9,1% dos entrevistados tiveram que trabalhar com multithreading. Expressões lambda.Expressões lambda e dicas de programação funcional apareceram no Java 8, mas os novatos não usam essa ferramenta útil com muita frequência. Uma expressão lambda é uma função que pode ser criada sem pertencer a nenhuma classe e você pode passá-la como um objeto ou executá-la sob demanda. Apenas 22,7% dos graduados pesquisados ​​conheciam as expressões Lambda bem antes de receberem sua primeira oferta de emprego, e 48,5% avaliaram seu conhecimento sobre o assunto como “próximo de zero”. Ao mesmo tempo, mais de 85% dos novos programadores disseram que usaram expressões lambda no primeiro ano. Para ser justo, destacamos que o baixo percentual de quem conhece esse assunto pode ser devido ao fato de que no JavaRush as expressões lambda são até agora apresentadas apenas nas novas missões e artigos do Java Syntax Pro . Assim, podemos afirmar com segurança que o conhecimento do Core Java para qualquer potencial Java Junior e até mesmo Trainee é simplesmente necessário. É claro que alguns tópicos, por exemplo, multithreading, são aceitáveis ​​para saber um pouco menos, mas a sintaxe Java, OOP e coleções devem estar firmemente arraigadas em sua consciência.

Algoritmos e estruturas de dados

Há um debate constante sobre o estudo de algoritmos de ordenação e busca. Por um lado, os melhores algoritmos foram escritos e incluídos nas bibliotecas de todas as linguagens de programação populares, incluindo Java. E eles podem ser usados ​​legalmente sem o incômodo de escrever seu próprio código. No entanto, os especialistas que treinam programadores ainda recomendam que todo desenvolvedor novato treine seu cérebro escrevendo todos esses algoritmos de bolha, fusão, pesquisa binária e assim por diante. Em primeiro lugar, esses algoritmos são uma espécie de teste decisivo das habilidades de um programador (ou seja, não de conhecimento, mas de habilidades) e da compreensão de uma pessoa sobre o que é programação em princípio. Se seu cérebro já estiver bem sintonizado para esse tipo de trabalho, você escreverá algoritmos com relativa facilidade. E ainda assim, você deve se lembrar: você precisa de algoritmos justamente para treinar seu cérebro... e para passar em uma entrevista: os corrosivos desenvolvedores seniores que as conduzem gostam muito de atormentar os candidatos com pedidos para escrever este ou aquele algoritmo. Mas em seu trabalho, a maioria (48,5%) usa algoritmos de biblioteca padrão, eficazes e comprovados, enquanto 16% dos entrevistados não usaram nenhuma classificação no primeiro ano de trabalho como programador. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 469,6% dos formandos afirmam que antes de receberem a primeira oferta de emprego, tinham um bom conhecimento de algoritmos de ordenação e pesquisa e podiam escrevê-los eles próprios. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 5Já tocamos no tópico de estruturas de dados quando falamos sobre coleções Java. Sim, é melhor entendê-los para saber onde e qual estrutura aplicar. Criar suas próprias estruturas de dados à imagem das bibliotecas é um ótimo exercício que o ajudará a entendê-las melhor. Você pode, por exemplo, tentar escrever sua própria versão de ArrayList ou propor sua própria lista vinculada individualmente (a LinkedList usual em Java é duplamente vinculada). O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 6Enquanto trabalhavam, os programadores novatos usaram principalmente estruturas de dados padrão.O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 7

Teste de unidade

A biblioteca JUnit é responsável pelos testes unitários em Java. Na verdade, você pode iniciar o teste de unidade quase no início do treinamento. No mínimo, ao assumir seu primeiro projeto independente, mesmo que seja muito pequeno, é melhor que você já seja proficiente nesta ferramenta. Escrever testes unitários não é tão difícil, embora existam algumas nuances. Aprender JUnit não levará muito tempo, mas os benefícios de conhecê-lo são enormes. Você poderá cobrir seu próprio código e o de outras pessoas com testes. Muitas vezes, os novatos são encarregados de escrever testes unitários para colegas, então isso pode ser útil diretamente em seu novo trabalho. 57,5% dos entrevistados disseram ter usado JUnit antes de sua primeira entrevista Java bem-sucedida e mais de 83% já haviam usado testes de unidade no primeiro ano.

Bibliotecas de utilitários, GUI e componentes úteis

Perguntamos até que ponto os graduados em JavaRush estavam familiarizados com diversas ferramentas, algumas das quais foram abordadas em nosso curso.
  • Servlets são componentes de software Java que ampliam os recursos de um servidor.
  • JDBC é um padrão independente de plataforma para interoperabilidade entre aplicativos Java e bancos de dados. JDBC é implementado como um pacote java. sql está incluído no Java SE (Standard Edition).
  • log4j é a biblioteca de registro de mensagens mais famosa. Ele permite que você escreva chamadas de biblioteca em código Java e, em seguida, personalize-as de maneira flexível, sem alterar o código já escrito.
  • Jackson/JSON. JSON (JavaScript Object Notation) é um formato de arquivo e intercâmbio de dados de padrão aberto extremamente popular, e Jackson é um processador JSON de alto desempenho para Java.
Todas essas ferramentas são muito úteis e frequentemente utilizadas no trabalho, e a maioria dos alunos não as negligenciou na preparação para a entrevista. Isto é especialmente verdadeiro para Jackson, que foi encontrado por 72,7% dos candidatos ao cargo de programador Java, JDBC - esta biblioteca foi testada por mais de 78% dos entrevistados. Quase todos usaram essas tecnologias em seu trabalho. Os desenvolvedores Java não encontram GUIs com muita frequência. Fizemos uma pergunta sobre JavaFX: apenas 18% dos entrevistados encontraram essa tecnologia no trabalho. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 8Dois terços dos entrevistados trabalharam com servlets; um número um pouco menor de entrevistados os experimentou durante seus estudos. Acontece também que alguns novos programadores Java encontraram projetos como Apache Commons (um conjunto de bibliotecas focadas em todos os aspectos dos componentes Java reutilizáveis) e Guava (um conjunto de bibliotecas comuns de código aberto para Java, desenvolvido principalmente por engenheiros do Google).O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 9

Estruturas

Anteriormente, ninguém esperava que o Java Junior conhecesse Spring ou Hibernate. Mas os tempos mudam, e hoje isso às vezes é esperado até do Trainee. Aprender essas tecnologias sozinho não é fácil. Mesmo que tudo pareça claro, os alunos muitas vezes esquecem o que é o quê muito rapidamente. Às vezes, mesmo aplicativos escritos de forma independente no Spring não são uma panacéia. Somente o trabalho ativo ajudará. No entanto, antes de uma entrevista bem-sucedida, um terço dos entrevistados estava familiarizado com o Spring em um bom nível e 45,5% tinham um entendimento médio dele. A situação com a inicialização do Spring é um pouco pior (36,4% não sabiam disso), e quase 44% dos graduados em JavaRush entrevistados disseram ter um bom conhecimento do Hibernate. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 10Ao mesmo tempo, durante o trabalho, o framework Java principal foi usado por quase 88% dos novos programadores, Spring Boot - 83%, Hibernate - 81%.O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - onze

Construir ferramentas de automação e servidores de aplicativos

A maioria dos graduados em JavaRush entrevistados tentaram trabalhar com construtores de projetos. Na maioria das vezes era o Maven (40,9% experimentaram na prática, outros 30,3% usaram de vez em quando e 12,1% usaram constantemente durante os estudos). Ao trabalhar com Maven, encontrei 72,7% (frequentemente), 7,6% (às vezes) e 3% (raramente). Quanto ao Gradle, a situação é um pouco pior. Apenas 22,7% já praticaram com este coletor, e a maioria deles acaba de experimentar a tecnologia. Quase metade dos entrevistados usou Gradle em seu trabalho. O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 12O Ant há muito perdeu sua posição, e isso se reflete em sua popularidade entre nossos graduados: apenas 3% dos entrevistados o mexeram. E 12% dos que responderam às perguntas tiveram que trabalhar com ele. O Tomcat é o líder entre os servidores de aplicativos; mais de 77% dos entrevistados descobriram isso durante seus estudos, 11% experimentaram o GlassFish, 12% experimentaram o JBoss. A popularidade dos servidores entre aqueles que já trabalham é semelhante. Apenas 31,8% dos que conseguiram o emprego não tinham experiência com Tomcat. Além disso, os graduados em JavaRush, durante seu primeiro ano de trabalho como programador, experimentaram servidores como WebSphere, Jetty, Netty, Wildfly, Weblogic.O que você precisa saber para se tornar um Java Junior e o que fazer com tudo isso?  - 13

O que mais?

A grande maioria dos entrevistados, antes mesmo de conseguir o primeiro emprego:
  • tinha conhecimento de HTML, CSS e JavaScript;
  • trabalhava com bancos de dados, conhecia SQL;
  • quase todo mundo usou Git e GitHub;
  • tentei trabalhar com XML puro.
Todas essas tecnologias foram úteis para eles em seu trabalho posterior. Espera-se que um programador Java, ou qualquer outra pessoa, esteja familiarizado com todos os itens acima. É conhecimento, não conhecimento profundo. Portanto, recomendamos às vezes fazer uma pausa no Java e ampliar seus horizontes estudando essas tecnologias. Além disso, alguns dos que responderam às perguntas notaram que na entrevista era esperado que tivessem conhecimento, pelo menos teórico, de padrões de design, padrões arquitetônicos, bem como bons modos de programação (todos esses KISS, DRY, SOLID). Porém, na maioria das vezes, na entrevista, bastavam apenas as definições: quem conduziu as entrevistas sabia que a verdadeira compreensão de tais coisas só vem com a prática constante. Eles foram úteis no seu trabalho? Claro que foram úteis.

conclusões

Esperamos não ter assustado você muito com a quantidade de tecnologias que você precisa aprender. Nem tudo isso precisa ser conhecido a fundo e, além disso, descobrir tudo é bastante interessante. Não foi à toa que você decidiu se tornar programador, certo? Portanto, continue aprendendo Java e mantenha-se motivado. Boa sorte! PS Se você já encontrou um emprego e quer contar sobre sua experiência, seja bem-vindo aos comentários!
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION