« Où sont les jeunes punks qui vont nous effacer de la surface de la terre ?

Je me suis posé la question existentielle posée dans le titre dans la formulation de Grebenshchikov après une autre série de discussions dans l'une des communautés pour savoir si un développeur web backend débutant a besoin de connaissances SQL ou si ORM fera tout de toute façon. J'ai décidé de chercher la réponse un peu plus largement que seulement ORM et SQL, et d'essayer essentiellement de systématiser qui sont les personnes qui se présentent actuellement pour des entretiens pour des postes de développement de niveau junior et intermédiaire, quelle est leur histoire et dans quel monde ils vivre dans. En général, j'avais une opinion, mais elle était fondée sur une expérience personnelle d'embauche et clairement adaptée au marché local. En général, c'est devenu intéressant. Voici ce que nous avons trouvé.

Population mondiale de développeurs

Afin d'aborder la question d'une manière ou d'une autre, j'ai décidé de commencer par rechercher des données sur le nombre de développeurs dans le monde aujourd'hui et sur l'évolution de cette population au fil du temps.
Les estimations de diverses sources situent le nombre de personnes entre 12 et 30 millions. J'ai décidé de m'arrêter à données de SlashData, car leur méthodologie me semblait assez équilibrée et adaptée à mes besoins. Dans leur évaluation, ils ont pris en compte le nombre de comptes et de référentiels sur Github, le nombre de comptes sur StackOverflow, les comptes npm et les données de sources officielles sur l'emploi aux États-Unis et en Europe. Ils ont également ajusté les chiffres résultants en utilisant leurs propres 16 études, qui incluaient environ 20 000 personnes pour chaque enquête.

Selon SlashData, il y avait environ 2018 millions de développeurs dans le monde au quatrième trimestre 18.9, dont 12.9 millions étaient des développeurs professionnels, c'est-à-dire qu'ils vivaient de la programmation. Ceux qui ne sont pas actuellement des développeurs professionnels sont ceux pour qui la programmation est un passe-temps, ainsi que ceux qui étudient actuellement un métier (étudiants divers et autodidactes). Eh bien, voici un indice sur la taille du groupe qui m'intéresse - 6 millions de personnes. Pour être honnête, c’est plus que ce à quoi je m’attendais.

La deuxième surprise pour moi a été le taux de croissance du nombre de programmeurs : du deuxième trimestre 2017 au quatrième trimestre 2018, il est passé de 14.7 aux 18.9 millions mentionnés, soit une augmentation de 21 % en 2018 ! Si on me demandait d'estimer le taux de croissance du nombre de programmeurs, je dirais qu'il est d'environ 5% par an avec une légère augmentation du taux annuellement. Et ici, il s'avère que cela peut atteindre 20 %.

De plus, SlashData estime que la population atteindra 2030 millions d’habitants d’ici 45. Il est facile de comprendre que cela implique une croissance d'un peu plus de 8 % par an, et non de 20 %, mais ils font référence à un ajustement pour tenir compte de la pénétration d'Internet (actuellement environ 57 % dans le monde). selon Statista) et plusieurs autres facteurs, comme le nombre de développeurs par habitant. Géographiquement, le nombre de développeurs augmente le plus fortement en Inde et en Chine ; l'Inde devrait dépasser les États-Unis en nombre de développeurs d'ici 2023 (c'est déjà Données du coin C#).

En général, il y aura beaucoup de programmeurs, quel que soit le point de vue, car la demande augmente. À propos, à propos de la demande.

Qu'est-ce qui est demandé ?

Pour estimer la demande, j'ai utilisé les données HackerRank pour 2018 и 2019 années.

En termes de langages de programmation, la plus grande demande concerne JavaScript, Python et Java dans presque tous les secteurs, à l'exception du matériel informatique. Dans ce dernier cas, la plus grande demande concerne le C/C++, ce qui est compréhensible : les projets matériels ont toujours des exigences en matière d'intensité de ressources et de performances du logiciel correspondant.

« Où sont les jeunes punks qui vont nous effacer de la surface de la terre ?

En termes de frameworks, AngularJS, Node.js et React sont les plus demandés, et ils présentent le plus grand écart entre l'offre et la demande, ce qui semble s'expliquer par la rapidité avec laquelle l'écosystème JavaScript évolue, car par exemple, pour ExpressJS , l’offre dépasse déjà la demande.

« Où sont les jeunes punks qui vont nous effacer de la surface de la terre ?

En termes de compétences, les employeurs attendent principalement des candidats des compétences en résolution de problèmes. Environ 95 % des employeurs mentionnent ces compétences comme étant importantes. La maîtrise du langage de programmation arrive en deuxième position avec 56 %. Soit dit en passant, il n'y a aucune limite avec les connaissances fondamentales en algorithmique, en structures de données et autres sciences informatiques, soit cela ne figurait pas dans le questionnaire, soit les connaissances académiques ne sont plus requises à grande échelle.

La conception de bases de données est nécessaire pour 23.2 % des entreprises de moins de 100 personnes et 18.8 % des entreprises de plus de 1000 37.0 personnes. Ouais, on dirait qu'il s'agit d'ORM et de SQL ! L'explication logique, à mon humble avis, est que dans les grandes entreprises, il existe un rôle dédié de DBA, qui est responsable de cet aspect, et il est donc possible d'assouplir les exigences pour les développeurs et d'embaucher plus rapidement. Mais avec System Design, c’est l’inverse : 44.1 % dans les petits, XNUMX % dans les grands. Il semblerait que les grandes entreprises devraient avoir des architectes dédiés, mais peut-être ne sont-elles tout simplement pas en mesure de couvrir le nombre de systèmes générés. Ou bien les mêmes algorithmes fondamentaux et structures de données sont intégrés à la conception du système, cela devient alors un peu plus clair.

Les petites entreprises ont de plus en plus besoin de Framework Proficiency et de System Design susmentionné, d'où nous pouvons tirer la conclusion du capitaine selon laquelle il est important pour les startups de lancer un produit qui fonctionne d'une manière ou d'une autre le plus rapidement possible, et demain sera demain.

« Où sont les jeunes punks qui vont nous effacer de la surface de la terre ?

Qu’apprennent les étudiants ?

Ici, je me suis appuyé sur les données d'un autre Recherche HackerRank.
Il est important de considérer que malgré le fait que la programmation sous une forme ou une autre soit enseignée dans les universités (je veux dire dans les filières informatiques), plus de la moitié des personnes interrogées ont déclaré qu'elles s'auto-éduquaient également.

Les étudiants modernes préfèrent apprendre sur YouTube, tandis que les développeurs plus âgés se tournent vers les tutoriels et les livres. Tous deux utilisent activement StackOverflow. J’attribue cela au fait que la vidéo est un canal médiatique familier à la génération Z, alors que les représentants de la génération Y vivent encore dans une époque sans blogueurs.

Ils enseignent ce qui est demandé par les employeurs : JavaScript, Java, Python. Ils indiquent qu’ils connaissent le C/C++, mais c’est probablement parce que ces langages sont utilisés pour l’enseignement dans les universités. Ils enseignent les frameworks JS, mais la demande est nettement supérieure à l'offre, donc apparemment, ils apprennent activement après avoir trouvé leur premier emploi.

« Où sont les jeunes punks qui vont nous effacer de la surface de la terre ?

En général, comme prévu, ils enseignent ce qui est demandé.

Les étudiants attendent une croissance professionnelle dès leur premier emploi, l’équilibre entre vie professionnelle et vie privée vient en deuxième position (en premier dans certains pays) et les tâches intéressantes en troisième.

Dynamique de la population de développeurs par langages de programmation et types de logiciels

« Où sont les jeunes punks qui vont nous effacer de la surface de la terre ?

Les applications Web occupent la première place avec environ 16.9 millions de développeurs. C'est encore SlashData. Viennent ensuite les services backend (13.6 millions), les applications mobiles (13.1 millions) et les ordinateurs de bureau (12.3 millions). Les secteurs AR/VR et IoT gagnent progressivement en popularité, l'IA/ML/Data Science s'est considérablement développé au cours des deux dernières années.

Javascript connaît la croissance la plus rapide ; sa communauté est déjà la plus grande, avec une croissance de 2018 millions rien qu'en 2.5. Ils essaient même de l'écrire dans les secteurs de l'IoT et du ML.
Python a augmenté de 2018 millions en 2.2 en raison de la popularité croissante du ML, où il est traditionnellement fort, ainsi que de la facilité d'apprentissage et de la commodité du langage.

Java, C/C++ et C# croissent à un rythme plus lent que la population globale des développeurs. Ils constituent désormais rarement le langage de programmation avec lequel les gens choisissent de commencer. La demande de développeurs ici est plus ou moins équilibrée par rapport à l'offre. Je pense que Java aurait connu une croissance encore plus lente sans Android.

PHP est le deuxième langage de programmation d'applications Web le plus populaire et il connaît également une croissance significative (de 32 % en 2018). Sa communauté est estimée à 5.9 millions de développeurs. Malgré la réputation polarisante de PHP, il est assez facile à apprendre et largement utilisé.

Comment les jeunes candidats d’aujourd’hui étudient-ils par rapport aux générations précédentes ?

Données HackerRank à nouveau. Ceux qui ont désormais entre 38 et 53 ans citent les jeux comme premiers projets.

D'ailleurs, je confirme que mon premier projet plus ou moins fonctionnel était un « tic-tac-toe » jusqu'à cinq d'affilée avec un champ illimité, le second était un jeu de 15. J'ai écrit tout ça sur CB 010-01, il y avait Vilnius basique, alias BASIC-86 et focal. Euh.

Les programmeurs débutants modernes (jusqu'à 21 ans) écrivent des calculatrices et des sites Web comme premiers projets.

Parmi les représentants de la génération X, près de la moitié ont commencé à écrire du code avant l’âge de 16 ans, beaucoup l’ont fait entre 5 et 10 ans (principalement ceux qui ont aujourd’hui entre 35 et 45 ans). C'est plus ou moins clair pourquoi : il y avait peu de sources d'information, et pour devenir programmeur, il fallait vraiment le vouloir vraiment, et ceux qui le voulaient vraiment ont commencé à programmer très tôt. Ceux qui n’en voulaient pas tant ont probablement maintenant un autre métier, donc la situation en sociologie est exactement la suivante.

« Où sont les jeunes punks qui vont nous effacer de la surface de la terre ?

Les jeunes candidats d'aujourd'hui ne commencent à programmer que 20 % du temps avant l'âge de 16 ans, la majorité entre 16 et 20 ans. Mais c’est aussi beaucoup plus facile pour eux d’apprendre ; c’est désormais beaucoup plus accessible.

résultats

Je n'ai toujours pas trouvé de réponse concrète à la question de savoir si un développeur web backend débutant a besoin de SQL aujourd'hui, mais j'ai corrigé mon idée de la population moderne de programmeurs.

La prochaine génération de promoteurs immobiliers est constituée de gens ordinaires, qui ressemblent par certains côtés aux précédentes, le problème du logement n'a fait que les gâter. Ils satisfont la demande créée par les employeurs. Le seuil d'accès à la profession est devenu plus bas grâce à des outils et des cadres plus pratiques qui vous permettent d'obtenir rapidement des résultats. De plus en plus de personnes deviennent désormais programmeurs ; la génération numérique (génération Z) vit dans la technologie depuis sa naissance ; pour eux, c'est un métier courant, pas pire que les autres.

Ceux qui savent que la latence du cache L1 est d’environ 4 cycles et qu’il est préférable de ne pas planter les lignes de cache inutilement, voient leur pourcentage diminuer par rapport à la taille totale de la population. Cependant, ils ne devraient pas s’inquiéter de trouver un emploi ; après tout, quelqu’un doit écrire des choses de bas niveau là où cela est encore nécessaire. De même, ceux qui possèdent des connaissances fondamentales approfondies en matière de conception de systèmes et les ont acquises au cours de batailles pratiques sanglantes, et ne se contentent pas de suivre un culte du cargo, ne devraient pas s'inquiéter. Parce qu'il y aura plus de personnes dans les équipes qui pourront « simplement écrire du code » et « simplement » utiliser des frameworks, et afin « d'éviter la douleur atroce des années passées à vivre sans but » (c) ils devront être équilibrés par de telles personnes. .

Les soft skills migrent progressivement de la catégorie souhaitable à obligatoire (je n'ai pas de données objectives pour le confirmer, juste une observation pratique). Le nombre de programmeurs augmente et ils doivent tous être orientés pour obtenir des résultats, soit par un contrôle direct ou indirect, et c'est exactement pour cela que sont nécessaires les compétences générales.

« Enter IT » me semble être une histoire locale et régionale, typique des endroits où le revenu d'un programmeur diffère considérablement de celui d'un spécialiste « non informatique » comparable. À Minsk, où j'habite, il s'agit généralement d'un mouvement de masse, chaque jour je vois des publicités pour de nouveaux cours sur la façon d'accéder à l'informatique tant convoitée, et les entreprises de nettoyage ciblent les programmeurs avec le message « Comprenez-vous le code sur cette image ? Cela signifie que vous pouvez vous permettre de ne pas nettoyer votre appartement, nous ferons tout pour vous. La même chose se produit apparemment dans une partie de l’Inde. Je n'ai pas non plus de données pour le prouver.

En général, à mon avis, rien ne menace la population des programmeurs. Inutile de babiller sur le fait qu’on ne trouve pas de vrais programmeurs dans la journée, et que bien souvent les candidats « ne savent rien ». Ils sont tout aussi intelligents et compétents, peut-être même plus intelligents et capables que les « vrais programmeurs » ; ils acquièrent simplement les connaissances qu'un marché en croissance rapide exige d'eux et remettent à plus tard ce dont ils n'ont pas encore eu besoin et ne leur apporteront pas de bénéfice adéquat. maintenant. Ils apprendront quand ils en auront besoin, car ils veulent toujours apprendre. Probablement, tout le monde n'en sera pas capable, mais tout le monde n'en aura pas non plus besoin : dans un avenir proche, le marché acceptera facilement des personnes capables d'élaborer rapidement un autre concept d'application à l'aide d'un cadre.

Seuls les utilisateurs enregistrés peuvent participer à l'enquête. se connecters'il te plait.

Les entretiens avec le backender Web nécessitent-ils des connaissances SQL ?

  • Oui, je l'exige parce que j'en ai besoin pour le travail

  • Oui, je le fais, même si c’est rarement nécessaire au travail.

  • Non, je n'en ai pas besoin, nous avons NoSQL

  • Non, je n'en ai pas besoin, ORM fera tout

320 utilisateurs ont voté. 230 utilisateurs se sont abstenus.

Source: habr.com

Ajouter un commentaire