JavaRush /Blog Java /Random-FR /Comment estimer votre valeur sur le marché du travail : u...

Comment estimer votre valeur sur le marché du travail : un guide pour les développeurs

Publié dans le groupe Random-FR
Quel montant de salaire dois-je annoncer lors de l'entretien ? Puis-je demander une augmentation de salaire ? Toutes ces questions proviennent du fait que le promoteur ne sait pas combien coûte son travail, ou en estime mal la valeur. Dans cet article, nous mettrons en évidence les facteurs qui influencent la formation du salaire d’un programmeur. Nous analyserons les idées générales sur ce qui augmente la valeur d'un informaticien sur le marché du travail, et présenterons également une évaluation de ces facteurs par des développeurs expérimentés - nos diplômés et un expert de l'EPAM. Comment estimer votre valeur sur le marché du travail : un guide pour les développeurs - 1

Niveau d'expérience de travail

C’est banal, mais l’expérience professionnelle est la chose que les recruteurs examinent en premier. Et il y a 20 ans, et aujourd'hui et à l'avenir, les candidats possédant une expérience impressionnante pouvaient prétendre à un salaire plus élevé que les nouveaux arrivants. C'est simple : ce n'est qu'avec l'expérience qu'un programmeur acquiert des compétences précieuses - il écrit du code lisible et fonctionnel, sait comprendre le code déroutant de quelqu'un d'autre, voit la tâche « en général » et pas seulement dans les détails.

Pile technologique

Les langages de programmation ou les solutions techniques spécifiques utilisées par un développeur de logiciels affectent également le salaire. Un programmeur débutant avec peu ou pas d’expérience coûtera moins cher qu’un gourou de la programmation. Les technologies moins courantes, notamment Clojure, Rust, Elixir, ou, à l'inverse, les piles technologiques actuellement demandées, telles que Go ou Swift, ont généralement un prix plus élevé. Les langages de programmation les mieux rémunérés incluent Golang, Perl, les scripts Shell, Node.js/JavaScript, Java , Typescript, Python, Ruby, Swift, C#, écrit « Comment j'ai obtenu le poste », sur la base des données du Bureau américain de Statistiques du travail. La pile technologique comprend également la connaissance de cadres et d'outils supplémentaires.

Spécialisation programmeur

Les développeurs qui maîtrisent des technologies complexes reçoivent des salaires plus élevés que leurs pairs du marché. Par exemple, un spécialiste de l’apprentissage automatique aux États-Unis peut gagner environ 110 000 dollars par an (environ 9 000 dollars par mois). En Ukraine, un spécialiste de l'apprentissage automatique peut gagner de 5 à 7 000 dollars par mois, en Russie, environ 3 à 4 000 dollars. Si une idée de produit a une logique alambiquée, cela signifie qu'elle est plus difficile à développer, tester et déployer. Qu'il s'agisse de complexité technologique ou de complexité de conception, les tarifs horaires augmenteront proportionnellement au nombre de fonctionnalités.

Compétences générales

Bien sûr, les compétences techniques sont essentielles dans le monde du développement, mais dans la société technologique d’aujourd’hui, les compétences générales sont plus valorisées que jamais. Les développeurs qui ont amélioré leurs compétences en communication, leurs capacités d'adaptation et leurs compétences sociales et qui possèdent un ensemble important de compétences techniques ont tendance à gagner plus que ceux qui n'ont que des compétences techniques.

Pays de résidence et d'emploi

Le coût d'embauche d'un programmeur en Ukraine ou en Russie sera différent du coût d'embauche du même développeur aux États-Unis. Selon une étude de Devox Software, les taux horaires des programmeurs sont nettement inférieurs en Europe, en Afrique et en Amérique du Sud par rapport au Canada et aux États-Unis.

Points de vue des développeurs et des diplômés JavaRush : ce qui affecte les niveaux de salaire

À propos de l'importance de l'expérience

Les diplômés de JavaRush ont participé à notre enquête d'évaluation des emplois : presque tous travaillent dans le domaine informatique depuis plusieurs années. Parlons d’abord de la corrélation entre l’expérience professionnelle et le salaire. D'une manière ou d'une autre, la plupart des développeurs pensent que l'expérience professionnelle affecte les niveaux de salaire. Nous leur avons demandé d'évaluer l'importance de l'expérience pour la croissance du salaire de 0 à 9. Environ 27 % des programmeurs ont voté pour une note de 7, 17 % supplémentaires pour une note de 6. Près de 12 % ont évalué l'importance de l'expérience à 5 points. . Ce résultat signifie que le facteur d’ancienneté est important, mais pas déterminant pour déterminer le niveau de salaire d’un développeur. Comment estimer votre valeur sur le marché du travail : un guide pour les développeurs - 2

À propos de l’équilibre entre les compétences techniques et générales

Quant aux compétences techniques qui affectent le niveau salarial d'un développeur Java, les personnes interrogées ont souligné la connaissance des technologies et outils suivants :
  • Java Spring (Boot, Data, Sécurité notamment),
  • Hiberner
  • Mise en place et utilisation de NoSQL et SQL,
  • SGBD ( Système de gestion de base de données - éd.),
  • développement fullstack (AngularJS, ReactJS),
  • Fils,
  • Savon,
  • Connard,
  • Docker
  • Kubernetes,
  • Nuage (AWS/GCP/Azure).
« La compétence Google aide beaucoup au début, mais plus vous plongez en profondeur, plus vous avez besoin d'en savoir. Une compréhension approfondie des outils utilisés permet de sélectionner et de mettre en œuvre rapidement la bonne solution. Cela augmente le « poids personnel » du spécialiste, note Evgeniy.
Parmi les compétences « générales » qui affectent les niveaux de salaire, les programmeurs mettent en avant la responsabilité, la sociabilité, la flexibilité, la persévérance et la résistance au stress.
« La capacité d'interagir avec l'équipe et avec les managers est très importante. La capacité d’exprimer ses pensées de manière brève et claire, la capacité de valoriser son temps et celui des autres, la capacité d’écouter et d’être d’accord », explique Vladimir.
« La capacité de présenter correctement des informations à une personne spécifique est très précieuse », ajoute Daniel.
Parmi les facteurs qui influencent également les niveaux de salaire, les développeurs mettent en avant le réseautage (la capacité d'établir des contacts avec des collègues et de futurs employeurs), l'amélioration continue du développement, un changement d'emploi réussi et la rapidité d'apprentissage.
"Mais l'outil le plus important est une évaluation sobre de vos compétences et une forte confiance en vous et en vos capacités!", note Artem.

Comment suivre la conformité des salaires avec le travail effectué

Nous avons également demandé aux développeurs comment ils vérifient si leurs salaires sont proportionnés à la complexité de leur travail et à leur expérience. Voici les sources suivantes à suivre :
  1. Entretiens (y aller périodiquement);
  2. Amis, connaissances en informatique ;
  3. Sites de recherche d'emploi et ressources spécialisées pour les développeurs ; (LinkedIn, Dou, Habr, Djinni).

Satisfaction du niveau de salaire

Enfin, nous avons demandé aux programmeurs s’ils étaient désormais satisfaits de leur salaire. 63 % ont répondu qu'ils étaient satisfaits, près de 30 % étaient insatisfaits et 7 % supplémentaires entraient dans la catégorie « Autre ».
« Actuellement, je dois trouver un équilibre entre améliorer mes compétences et être payé. Je dois donc gagner moins tout en travaillant sur des projets plus complexes et plus intéressants. Bien que vous puissiez obtenir 1,5 à 2 fois plus en buvant des déchets Web », explique Mikhail.
Comment estimer votre valeur sur le marché du travail : un guide pour les développeurs - 3

Opinion d'expert

Comment estimer votre valeur sur le marché du travail : un guide pour les développeurs - 4Le coût d'un spécialiste du marché est une formulation particulière. Cela inclut certainement des compétences techniques (c'est-à-dire une connaissance directe des technologies) et la capacité de les appliquer. Ce dernier point est important car j’ai vu de nombreux excellents théoriciens avec de nombreuses certifications différentes qui faisaient le travail réel pas aussi efficacement qu’on l’attendait d’eux. Et si les compétences technologiques elles-mêmes sont assez faciles à tester lors d'un entretien (chez EPAM, nous utilisons pour cela notre propre plateforme d'entretien, sur laquelle les candidats écrivent du code), l'ingéniosité et l'efficacité sont plus difficiles. Et pourtant, cela est possible : sachez que certaines entreprises demandent des recommandations à d'anciens employeurs (l'EPAM, d'ailleurs, n'a pas une telle pratique), et il y a aussi le bouche à oreille. La réputation professionnelle peut être à la fois votre plus et votre moins. Bien entendu, la connaissance de l’anglais est requise. Chez EPAM Ukraine, par exemple, nous ne prenons pratiquement pas en compte les candidats ne possédant pas cette compétence. Le niveau de maîtrise de l'anglais requis dépend du poste vacant pour lequel le candidat postule et de ses tâches immédiates. En général, pour les ingénieurs, il est conseillé de connaître la langue au moins au niveau B1, pour les analystes commerciaux - au moins B2. Il arrive que des spécialistes ayant des connaissances très basiques en anglais aient de l'expérience avec un client étranger, mais objectivement, cela est toujours difficile. Mais la connaissance d'autres langues étrangères n'est pas si souvent requise. Il existe des situations où nous avons besoin d'un analyste commercial connaissant le français ou d'un testeur connaissant le suédois, mais ce sont des cas rares. Les compétences générales sont également importantes pour la réussite d’un spécialiste. Le principal est presque la capacité de communiquer correctement et poliment avec les clients et les collègues. Cela se ressent particulièrement dans une entreprise multinationale : il est quand même utile de comprendre que dans la correspondance il est correct d'écrire « pourriez-vous », mais « pouvez-vous » est déjà impoli (et ce n'est qu'un exemple, qui nous ramène encore une fois à la question de l’anglais). Quant aux clients, chez EPAM, les ingénieurs ont la possibilité de communiquer avec divers représentants des clients : il s'agit de techniciens, de gestionnaires et de gestionnaires au niveau de la station-service ou du PDG de l'entreprise. Évidemment, vous devez être capable de communiquer avec eux – et de le faire de différentes manières ! Si vous expliquez à un représentant de l'entreprise que les délais de livraison diminuent parce que l'équipe n'a pas construit correctement le modèle de classe orienté objet, alors il vous regardera comme si vous étiez un extraterrestre. Dans ce cas, il est plus important d’indiquer quand le problème sera résolu. Ou, disons, que vous commencez à travailler sur un projet pour une grande entreprise du secteur de l'assurance avec une histoire de 150 ans. Il ne faut pas imposer immédiatement les derniers développements Agile et processus CI/CD à un tel client, car sa culture et sa dynamique sont différentes. Cette compréhension du contexte du client s'accompagne de l'expérience et de la possibilité de travailler avec différents clients et représentants commerciaux. Vous devez également être capable de prioriser et de comprendre l’entreprise. L’absence de ce dernier est un problème courant parmi les ingénieurs. La plupart des diplômés techniques sont prêts à se plonger dans le code et à travailler dur pour le rendre parfait, mais ils n'ont souvent pas une vision d'ensemble : ce dont le client a besoin et comment les utilisateurs utiliseront le produit. Une telle myopie de la part d’un ingénieur peut entraîner un gaspillage d’argent décent. N'oubliez pas que l'industrie ne reste pas immobile et que les informaticiens, comme les médecins, doivent constamment apprendre. Livres lus, articles, participation à des conférences (y compris en tant que conférencier), projets favoris, GitHub de haute qualité - tout cela peut être un avantage supplémentaire pour vous lors d'un entretien. Je recommande également de se tourner vers le full-stack. C’est exactement ce que les clients exigent actuellement. De plus, le full-stack s'entend différemment : pour certains, il s'agit d'un spécialiste qui peut faire à la fois du back-end et du front-end, et pour d'autres, il s'agit d'un ingénieur qui écrit du code et des tests. D’une manière ou d’une autre, plus votre expertise est large, mieux c’est. Êtes-vous d’accord avec les facteurs qui influencent le niveau salarial d’un développeur ? Ou peut-être que quelque chose d’autre peut influencer la valeur d’un spécialiste informatique sur le marché ? Nous attendons vos commentaires ;)
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION