JavaRush /Blog Java /Random-FR /Que faut-il savoir pour devenir Java Junior et que faire ...

Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?

Publié dans le groupe Random-FR
Les exigences des développeurs Java potentiels évoluent constamment et sont difficiles à suivre. Suffit-il de connaître Java Core pour devenir stagiaire ? Dans quelle mesure devez-vous comprendre Spring et Hibernate pour obtenir un poste Java Junior ? Vaut-il la peine d’apprendre les bases de données et de comprendre les algorithmes de tri et de recherche ? Et comme les étudiants de JavaRush sont très souvent préoccupés par ces questions, nous avons décidé de les poser à nos diplômés qui travaillent déjà en tant que Java Juniors ou effectuent des stages en entreprise en tant que Java Trainees. A noter que 13 % des personnes interrogées ont eu la chance d'obtenir un poste Java Middle dès leur première tentative, contournant ainsi le stade Junior. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 1Les personnes interrogées ont partagé des informations sur les technologies dont elles avaient besoin pour réussir l'entretien et celles qu'elles ont utilisées au cours de la première année de leur premier emploi Java.

Tout le monde a besoin de Java Core

Le terme Java Core est assez large. Ce nom fait référence à la fois à la syntaxe élémentaire du langage et à un sujet aussi complexe que le multithreading. En fait, le cours JavaRush est principalement consacré au Core. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 2Syntaxe Java. Bases du langage. Tous ces types de données, opérateurs, boucles et branches. Naturellement, 92,4 % de ceux qui ont obtenu le poste ont évalué leur connaissance de la syntaxe comme « bonne ou excellente ». Cependant, 7,6 % des personnes interrogées ont réussi à devenir des stagiaires Java avec une connaissance moyenne de la syntaxe. Cependant, cela devrait être davantage évalué comme de la chance (ou de la vantardise des répondants :)). Bien entendu, toute personne postulant à un emploi de programmeur doit connaître la syntaxe du langage. Programmation orientée objet (POO). En Java, tout est constitué d'objets, la POO peut donc être considérée comme l'un des thèmes les plus importants du langage. L'approche orientée objet peut sembler peu familière au début, surtout si vous n'avez étudié que les langages procéduraux auparavant, mais il n'est pas difficile de passer aux objets. Les plus grandes difficultés pour les débutants sont les niveaux d'abstraction et leur distribution indépendante - un programmeur novice doit être capable de créer correctement une hiérarchie d'objets, de comprendre de quoi l'interface sera responsable et ce qui peut être mis dans une classe abstraite, créer un héritage échelle, et ainsi de suite. Comme d'habitude, cette difficulté est résolue par la pratique. La majorité des personnes interrogées, soit 80,3 % de ceux qui ont obtenu leur premier emploi, connaissaient bien les principes de la POO et les utilisaient constamment. Au cours de la première année de travail en tant que Java Juniors et stagiaires, 78,8 % des personnes interrogées ont utilisé très souvent les principes de la POO, 12,1 % - de temps en temps. 7,6% des auditeurs les utilisaient rarement - ces gars-là étaient principalement occupés par des tests unitaires et diverses petites tâches. Autrement dit, bien sûr, ils utilisaient également des classes ou des objets (on ne peut pas s'en passer en Java), mais créaient rarement des hiérarchies de classes. Cadre de collections. Une collection est une collection d’objets individuels présentés dans leur ensemble. Java dispose d'un framework de collections très intelligent pour représenter les collections. Les collections sont basées sur des structures de données populaires - listes, ordinaires et connectées, ensembles, tables de hachage. Ainsi, lorsque vous explorez des collections, c'est une bonne idée de vous familiariser davantage avec les structures de données. La principale difficulté de l’étude des collections est de comprendre et de mémoriser leur fonctionnement. Si vous comprenez comment ils accèdent à un élément, l'extraient d'une collection et l'y ajoutent, alors vous commencez à comprendre où appliquer telle ou telle structure. Cela vient avec la pratique. Mais heureusement, le grand nombre de collections ne sont pas toutes activement utilisées dans le travail réel. 80,3% des personnes interrogées indiquent avoir une bonne voire une excellente connaissance des collections avant de recevoir leur première offre d'emploi, et la quasi-totalité des 96,9% des Juniors et stagiaires utilisent les collections dans leur premier emploi. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 3Gestion des exceptions.Une exception est une situation hors du commun pouvant survenir lors de l’exécution de votre programme. Toutes les classes d'exception sont des sous-types de la classe java.lang.Exception. Le mécanisme de gestion des exceptions simplifie grandement le processus de recherche d'erreurs dans les programmes. Habituellement, les étudiants commencent à utiliser les exceptions assez tôt, par exemple dans JavaRush. Dans JavaRush, ce sujet est abordé dans la première quête de syntaxe Java. Presque tous les diplômés de JavaRush qui ont obtenu leur premier emploi savaient comment gérer les exceptions et, naturellement, les utilisaient tout en travaillant. Flux d’E/S Java. Les tout premiers programmes écrits en Java contenaient généralement quelque chose comme System.out.println (« Bonjour tout le monde »). Souvent, les débutants comprennent que la méthode println imprime une ligne sur la console, mais n'ont aucune idée de la raison pour laquelle System et out sont là et comment ils fonctionnent. Un peu plus tard, il s'avère que Java effectue des opérations d'entrée et de sortie à l'aide de flux, un flux continu de données. Les threads ne sont pas le sujet le plus facile à comprendre, et ils ne sont pas très souvent utilisés dans les emplois de débutants : seulement 22,7 % des personnes ayant obtenu leur premier emploi Java Junior/Trainee ont déclaré utiliser beaucoup les threads d'E/S, 31,8 % - de temps en temps. temps, 25,8% - rarement. Ainsi, un peu moins de 20 % ne les ont pas utilisés du tout au cours de leur première année en tant que développeur Java. Au cours de leurs études, 18,2% n'ont pas rencontré de difficultés particulières avec les flux et les connaissaient bien, 36,4% ont jugé leurs connaissances bonnes, mais 10,6% ont ignoré ce sujet. Multithreading (Java Multithreading/Concurrency). C'est peut-être le sujet qui suscite le plus de malentendus parmi les développeurs novices. Même si le multithreading en Java est très bien implémenté, il est difficile à comprendre et des problèmes peuvent survenir même lors de l'écriture de programmes simples (par exemple, multithread « Hello, world »). De nombreux employeurs le comprennent et n'exigent pas une compréhension approfondie du multithreading de la part des débutants, espérant que cela viendra avec l'expérience. Seulement 12 % des personnes interrogées ont indiqué qu'elles connaissaient bien le sujet avant de recevoir la première offre, tandis que près de 32 % des personnes interrogées ont admis qu'elles ne connaissaient rien du tout sur le sujet. La majorité, 56,2 %, ont déclaré « avoir une certaine compréhension » du multithreading. Alors si les difficultés de travailler avec les threads vous semblent désormais insurmontables, ces chiffres pourront vous rassurer. Cependant, si vous souhaitez obtenir un avantage concurrentiel lors d’un entretien, ce sujet pourrait être votre point fort. Sur les projets réels, les débutants sont également rarement autorisés à travailler avec des threads. Ainsi, 15,1 % des programmeurs débutants n'ont pas du tout rencontré Java Multithreading dans leur travail, et 39,4 % l'ont rencontré, mais rarement. Souvent, au cours de la première année de travail, seuls 9,1 % des personnes interrogées ont dû travailler avec le multithreading. Expressions lambda.Les expressions Lambda et les astuces de programmation fonctionnelle sont apparues dans Java 8, mais les débutants n'utilisent pas très souvent cet outil pratique. Une expression lambda est une fonction qui peut être créée sans appartenir à aucune classe, et vous pouvez la transmettre en tant qu'objet ou l'exécuter à la demande. Seuls 22,7 % des diplômés interrogés connaissaient les expressions Lambda bien avant de recevoir leur première offre d'emploi, et 48,5 % ont évalué leur connaissance du sujet comme « proche de zéro ». Dans le même temps, plus de 85 % des nouveaux programmeurs ont déclaré avoir utilisé des expressions lambda au cours de leur première année. Pour être honnête, nous soulignons que le faible pourcentage de ceux qui connaissent ce sujet peut être dû au fait que dans JavaRush, les expressions lambda ne sont jusqu'à présent présentées que dans la nouvelle quête et les nouveaux articles Java Syntax Pro . Ainsi, nous pouvons affirmer avec certitude que la connaissance de Core Java pour tout Java Junior potentiel et même pour tout stagiaire est tout simplement nécessaire. Bien sûr, certains sujets, par exemple le multithreading, sont acceptables pour en savoir un peu moins, mais la syntaxe Java, la POO et les collections doivent être fermement ancrées dans votre conscience.

Algorithmes et structures de données

Il y a un débat constant sur l’étude des algorithmes de tri et de recherche. D'une part, les meilleurs algorithmes sont écrits depuis longtemps et inclus dans les bibliothèques de tous les langages de programmation populaires, y compris Java. Et ils peuvent être utilisés légalement sans avoir à écrire votre propre code. Cependant, les experts qui forment les programmeurs recommandent toujours à chaque développeur novice d'entraîner son cerveau en écrivant tous ces algorithmes à bulles, fusions, recherches binaires, etc. Premièrement, ces algorithmes sont une sorte de test décisif des compétences d’un programmeur (c’est-à-dire non pas des connaissances, mais des compétences) et de la compréhension qu’a une personne de ce qu’est en principe la programmation. Si votre cerveau est déjà bien adapté à ce genre de travail, vous écrirez des algorithmes relativement facilement. Et pourtant, rappelez-vous : vous avez besoin d'algorithmes justement pour entraîner votre cerveau... et pour réussir un entretien : les développeurs seniors corrosifs qui les conduisent aiment beaucoup tourmenter les candidats en leur demandant d'écrire tel ou tel algorithme. Mais dans leur travail, la majorité (48,5 %) utilisent des algorithmes de bibliothèque standards, efficaces et éprouvés, tandis que 16 % des personnes interrogées n'ont pas du tout utilisé le tri au cours de la première année de travail en tant que programmeur. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 469,6% des diplômés affirment qu'avant de recevoir leur première offre d'emploi, ils maîtrisaient bien les algorithmes de tri et de recherche et pouvaient les rédiger eux-mêmes. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 5Nous avons déjà abordé le sujet des structures de données lorsque nous avons parlé des collections Java. Oui, il vaut mieux les comprendre pour savoir où et quelle structure appliquer. Créer vos propres structures de données à l’image de celles des bibliothèques est un excellent exercice qui vous aidera à mieux les comprendre. Vous pouvez, par exemple, essayer d'écrire votre propre version d'ArrayList ou proposer votre propre liste à chaînage unique (la LinkedList habituelle en Java est doublement liée). Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 6Lorsqu'ils travaillaient, les programmeurs débutants utilisaient principalement des structures de données standard.Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 7

Tests unitaires

La bibliothèque JUnit est responsable des tests unitaires en Java. En fait, vous pouvez commencer les tests unitaires presque au tout début de la formation. À tout le moins, lorsque vous entreprenez votre premier projet indépendant, même un tout petit, il vaut mieux déjà maîtriser cet outil. L'écriture de tests unitaires n'est pas si difficile, même s'il existe quelques nuances. Apprendre JUnit ne prendra pas beaucoup de temps, mais les avantages de le connaître sont énormes. Vous serez en mesure de couvrir votre propre code et celui des autres avec des tests. Très souvent, les débutants sont chargés d'écrire des tests unitaires pour des collègues, cela peut donc être utile directement dans leur nouvel emploi. 57,5 % des personnes interrogées ont déclaré avoir utilisé JUnit avant leur premier entretien Java réussi, et plus de 83 % avaient déjà utilisé les tests unitaires au cours de leur première année.

Bibliothèques d'utilitaires, interface graphique et composants utiles

Nous avons demandé aux diplômés de JavaRush dans quelle mesure ils connaissaient un certain nombre d'outils, dont certains étaient abordés dans notre cours.
  • Les servlets sont des composants logiciels Java qui étendent les capacités d'un serveur.
  • JDBC est une norme indépendante de la plate-forme pour l'interopérabilité entre les applications et bases de données Java. JDBC est implémenté sous forme de package Java. SQL est inclus avec Java SE (édition standard).
  • log4j est la bibliothèque de journalisation des messages la plus célèbre. Il vous permet d'écrire des appels de bibliothèque dans du code Java, puis de le personnaliser de manière flexible sans modifier le code déjà écrit.
  • Jackson/JSON. JSON (JavaScript Object Notation) est un format d'échange de fichiers et de données standard ouvert extrêmement populaire, et Jackson est un processeur JSON hautes performances pour Java.
Tous ces outils sont très utiles et sont souvent utilisés dans le travail, et la plupart des étudiants ne les ont pas négligés lors de la préparation de l'entretien. Cela est particulièrement vrai pour Jackson, que 72,7 % des candidats au poste de programmeur Java ont rencontré, JDBC - cette bibliothèque a été essayée par plus de 78 % des personnes interrogées. Presque tout le monde utilisait ces technologies dans son travail. Les développeurs Java ne rencontrent pas très souvent des interfaces graphiques. Nous avons posé une question sur JavaFX : seulement 18 % des personnes interrogées ont rencontré cette technologie au travail. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 8Les deux tiers des personnes interrogées travaillaient avec des servlets ; un nombre légèrement inférieur de personnes interrogées les ont essayées au cours de leurs études. Il s'avère également que certains nouveaux programmeurs Java ont rencontré des projets tels que Apache Commons (un ensemble de bibliothèques axées sur tous les aspects des composants Java réutilisables) et Guava (un ensemble de bibliothèques communes open source pour Java, principalement développées par les ingénieurs de Google).Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 9

Cadres

Auparavant, personne ne s'attendait à ce que Java Junior connaisse Spring ou Hibernate. Mais les temps changent, et aujourd'hui, c'est parfois ce qu'on attend même des stagiaires. Apprendre ces technologies par soi-même n’est pas facile. Même si tout semble clair, les étudiants oublient souvent très vite ce qui se passe. Parfois, même les applications écrites indépendamment au printemps ne sont pas une panacée. Seul un travail actif aidera. Cependant, avant un entretien réussi, un tiers des personnes interrogées connaissaient Spring à un bon niveau, et 45,5 % en avaient une compréhension moyenne. La situation avec Spring Boot est un peu pire (36,4 % ne le savaient pas du tout) et près de 44 % des diplômés JavaRush interrogés ont déclaré avoir une bonne connaissance d'Hibernate. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - dixDans le même temps, pendant le travail, le framework Java principal était utilisé par près de 88 % des nouveaux programmeurs, Spring Boot - 83 %, Hibernate - 81 %.Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - onze

Construire des outils d'automatisation et des serveurs d'applications

La plupart des diplômés JavaRush interrogés ont essayé de travailler avec des créateurs de projets. Le plus souvent, il s'agissait de Maven (40,9 % l'ont essayé en pratique, 30,3 % l'ont utilisé de temps en temps et 12,1 % l'ont utilisé de manière constante pendant leurs études). En travaillant avec Maven, j'ai rencontré 72,7 % (souvent), 7,6 % (parfois) et 3 % (rarement). Quant à Gradle, la situation est un peu pire. Seuls 22,7 % ont pratiqué ce collecteur, et la plupart d’entre eux viennent d’essayer la technologie. Près de la moitié des personnes interrogées ont utilisé Gradle dans leur travail. Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 12Ant a depuis longtemps perdu sa place, et cela se reflète dans sa popularité auprès de nos diplômés : seuls 3 % des personnes interrogées l'ont bricolé. Et 12 % de ceux qui ont répondu aux questions ont dû travailler avec lui. Parmi les serveurs d'applications, Tomcat est le leader : plus de 77 % des personnes interrogées l'ont découvert au cours de leurs études, 11 % ont essayé GlassFish, 12 % ont essayé JBoss. La popularité des serveurs parmi ceux qui fonctionnent déjà semble similaire. Seuls 31,8 % de ceux qui ont obtenu le poste n'avaient aucune expérience avec Tomcat. De plus, les diplômés de JavaRush, au cours de leur première année de travail en tant que programmeur, ont essayé des serveurs tels que WebSphere, Jetty, Netty, Wildfly, Weblogic.Que faut-il savoir pour devenir Java Junior et que faire de tout cela ?  - 13

Quoi d'autre?

La grande majorité des personnes interrogées, avant même de décrocher leur premier emploi :
  • avait une compréhension de HTML, CSS et JavaScript ;
  • travaillé avec des bases de données, connaissait SQL ;
  • presque tout le monde utilisait Git et GitHub ;
  • j'ai essayé de travailler avec du XML pur.
Toutes ces technologies leur ont été utiles dans leurs travaux ultérieurs. Un programmeur Java, ou toute autre personne d'ailleurs, est censé par défaut être familier avec tout ce qui précède. C'est une connaissance, pas une connaissance approfondie. Nous vous recommandons donc de faire une pause avec Java de temps en temps et d'élargir vos horizons en étudiant ces technologies. En outre, certains de ceux qui ont répondu aux questions ont noté que lors de l'entretien, ils étaient censés avoir des connaissances, au moins théoriques, sur les modèles de conception, les modèles architecturaux, ainsi que de bonnes manières en programmation (tous ces KISS, DRY, SOLID). Cependant, le plus souvent lors des entretiens, seules des définitions suffisaient : ceux qui ont mené les entretiens étaient bien conscients qu'une véritable compréhension de ces choses ne vient qu'avec une pratique constante. Étaient-ils utiles dans votre travail ? Bien sûr, ils étaient utiles.

conclusions

Nous espérons ne pas vous avoir trop effrayé avec le nombre de technologies que vous devez apprendre. Il n’est pas nécessaire de connaître tout cela à fond, et d’ailleurs, tout comprendre est assez intéressant. Ce n’est pas pour rien que vous avez décidé de devenir programmeur, non ? Alors continuez à apprendre Java et restez motivé. Bonne chance! PS Si vous avez déjà trouvé un emploi et souhaitez parler de votre expérience, bienvenue dans les commentaires !
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION