Pourquoi les développeurs ont-ils l’air constamment si heureux ? La réponse à cette question est simple et déconcertante : parce qu’ils font le travail qu’ils aiment et qu’ils gagnent une tonne d’argent.
Bienvenue dans le monde des développeurs.
Salaire d’un développeur
J’aimerais parler des salaires des développeurs. Concrètement, comment les choses se présentent, où il vaut mieux travailler et où — non. Si vous n’êtes pas développeur et essayez de vous débrouiller seul sur ce sujet, vous risquez d’obtenir un ensemble de données très contradictoires.
Le fait est que le facteur principal qui influence le salaire d’un développeur n’est pas sa qualification, mais son lieu de travail. Parfois, à qualification égale, l’écart entre un bon et un mauvais poste peut atteindre de 2 à 10 fois (!)
À un moment donné, votre qualification est fixe. Vous ne pouvez pas devenir deux fois plus expérimenté en un mois et gagner deux fois plus. En revanche, changer de travail en un mois et gagner deux fois plus — ça, vous le pouvez tout à fait. Voyons donc où il est le plus avantageux de travailler.
Voici trois facteurs qui influencent très fortement le niveau des salaires dans les entreprises :
1) Le développement logiciel est-il l’activité principale de l’entreprise ?
2) L’entreprise est-elle tournée vers le marché international ou le marché intérieur ?
3) Le propriétaire de l’entreprise est-il occidental ou local ?
Notez que la ville où vous vivez ne joue pas un rôle décisif. C’est-à-dire que si, vivant à Dresde, vous gagnez 10 fois moins que votre ami à New York, cela signifie que les facteurs ci-dessus entrent en jeu.
Chiffres concrets
Il est difficile de donner des chiffres précis pour le monde entier. Décrivons la situation en Europe de l’Est, ce qui est globalement valable pour tous les pays où l’IT outsourcing/outstaffing est plus ou moins développé.
Voici combien peut gagner un Java Senior Developer avec cinq ans d’expérience, selon le niveau de l’entreprise dans laquelle il travaille :
| Niveau | Salaire mensuel | Description |
|---|---|---|
| 1 | 200 $ — 500 $ | Tout en bas se trouvent les entreprises où l’informatique n’est pas une activité principale, les clients sont le marché intérieur, et le propriétaire est l’État. Par exemple, un service informatique dans l’administration fiscale ou un autre organisme public. |
| 2 | 500 $ — 1 500 $ | Inférieur à la moyenne : départements informatiques de différentes structures privées : banques, etc. |
| 3 | 1 000 $ — 2 500 $ | Niveau moyen : entreprises qui développent des logiciels. |
| 4 | 3 000 $ — 4 000 $ | Supérieur à la moyenne : entreprises qui développent des logiciels, avec des clients occidentaux. |
| 5 | 4 000 $ — 5 000 $ | Tout en haut : entreprises qui développent des logiciels, avec des clients occidentaux, et des propriétaires occidentaux également. Elles sont peu nombreuses. Les postes ouverts ne sont pas fréquents et y entrer n’est pas simple. Mais elles existent. |
Qu’y a-t-il de plus étonnant dans la situation actuelle ?
La moitié de tous les développeurs travaillent dans des entreprises de niveau 1 et 2.
Vous voulez savoir où est le piège ?
Il y a des centaines d’offres ouvertes de développeurs dans des entreprises de niveau 3 et 4. Ces entreprises sont prêtes à proposer des salaires plus élevés et, en général, des conditions de travail bien meilleures.
Situation vécue : il y a deux Java Juniors. L’un accepte un poste à 100 $ par mois (dans une entreprise de niveau 1), et l’autre — à 1 000 $ par mois (niveau 4). Pourquoi accepter de gagner moins ?
Ce qu’on peut accomplir si on ne traîne pas
Si vous travaillez en permanence votre autoformation en programmation, votre salaire, à partir d’aujourd’hui, évoluera à peu près ainsi (+/‑ quelques centaines de dollars selon la ville où vous travaillez) :
Plan
0-3 mois (Apprenant)
Vous savez très peu de choses sur la programmation. Peut-être l’avez-vous étudiée à l’école et/ou à l’université, mais très superficiellement.
Votre tâche — apprendre la programmation et étudier Java.
Votre objectif — décrocher un poste de Java Junior Developer dans une entreprise d’au moins le niveau 3.
Les trois premiers mois du plan, vous ne gagnez rien, car vous étudiez simplement la programmation. Plus tard, quand vous aurez une famille et une pile de crédits, changer de spécialisation sera beaucoup plus difficile. Pour corriger l’erreur, il vous faudra mettre de côté de quoi vivre normalement pendant un an. Ne faites pas d’erreurs stupides.
3-15 mois (Java Junior Developer)
Vous travaillez déjà comme développeur et votre expérience grandit chaque jour. Ne vous relâchez pas. Il vous reste encore beaucoup à faire avant de pouvoir vous reposer sur vos lauriers.
Votre tâche — étudier les technologies qui vous seront nécessaires en tant que Middle. Lesquelles exactement ? Le monde change. Nous pourrions vous conseiller aujourd’hui, et la vie changera tout. Trouvez quelques offres d’emploi sur Internet et regardez ce qui est requis. Lisez absolument le livre de Bruce Eckel « Thinking in Java ».
Votre objectif la première année en tant que Java Junior Developer — atteindre le niveau de Java Middle Developer. Personne ne dit que c’est très facile, mais c’est tout à fait possible pour quelqu’un de déterminé. Cela fera aussitôt grimper votre salaire jusqu’à environ 1 500 $.
2e année de travail comme développeur (Java Middle Developer, niveau 1)
Vous avez bien travaillé l’année passée, et vous êtes désormais Java Middle Developer. Avec un salaire de 1 500 $, on peut vivre correctement. Au travail, on vous confie des tâches sérieuses et votre expérience grandit à vue d’œil. Vous atteindrez Java Senior Developer en deux ou trois ans. Inutile d’accélérer ce processus : vous n’obtiendrez de toute façon pas une hausse de salaire spectaculaire.
Votre tâche — étudier les patrons de conception (design patterns), lire « Code Complete » de McConnell. Améliorez la qualité de votre code et vos compétences de travail en équipe. Vous pouvez vous fixer la règle de lire chaque semaine un livre sur l’informatique. Alors, dans un an, vous aurez 50 livres d’avance sur les autres. Il ne vaut pas la peine de remettre cela à plus tard : vous n’aurez pas plus de temps libre. Il est tout à fait possible que vous fondiez une famille, ou l’agrandissiez si c’est déjà le cas.
Votre objectif — choisir plusieurs technologies dans lesquelles vous vous spécialiserez en tant que Senior Developer. Vous ne pourrez de toute façon pas tout apprendre. Être un expert dans un domaine restreint — c’est une bonne option.
3e année de travail comme développeur (Java Middle Developer, niveau 2)
Vous êtes déjà un Middle Developer expérimenté et vous envisagez de devenir Senior Developer. C’est agréable et prestigieux. Votre salaire dépasse 2 000 $ (données pour Kyiv). À partir de maintenant, la demande de professionnels comme vous dépasse l’offre. Vous pourrez toujours trouver un poste en quelques jours et il est peu probable que vous gagniez moins qu’aujourd’hui. À moins, bien sûr, de faire une grosse bêtise.
Votre tâche — continuer à étudier les technologies choisies. Travaillez mieux. Non pas pour l’employeur, mais pour vous-même. Demandez à rejoindre des projets avec des technologies prometteuses (telles que le Big Data, au moment de la rédaction de cet article). De toute façon, vous passerez 8 heures par jour au bureau, alors pourquoi ne pas gagner un peu plus, et — ce qui est bien plus important — obtenir une expérience précieuse dont vous aurez encore besoin.
Votre objectif — changer de poste. De bonnes équipes existent partout. Vous rencontrerez de nouveaux projets et technologies. N’attendez pas d’être devenu immobile sur votre chaise. Si vous travaillez encore dans une entreprise de niveau 3, envisagez de passer au niveau 4. Le niveau 5, bien que très attractif, n’est pas encore à portée.
4e année de travail comme développeur (Java Senior Developer, niveau 1)
Vous êtes devenu Senior Developer. Félicitations. Peut-être l’êtes-vous devenu sans l’avoir entièrement mérité, et vous le sentez. Félicitations quand même. Peu importe si vous méritez votre poste aujourd’hui, l’essentiel est que vous en soyez digne demain. Convenez qu’il vaut mieux obtenir d’abord un bon poste, puis l’atteindre pleinement en un an, plutôt que d’être prêt pour une bonne position et l’attendre encore un an.
J’espère que vous n’avez pas oublié mon conseil et avez lu un livre par semaine — désormais, n’importe quel étudiant envierait vos capacités. À vrai dire, il serait prêt à s’agenouiller devant elles. Réfléchissez : vous avez un salaire conséquent, qui approche les 3 000 $. Vous êtes probablement encore jeune. Le monde est à vos pieds.
Votre tâche — passer une nouvelle fois en revue les technologies que vous avez choisies. Il est possible que vous deviez changer de spécialisation. Le monde a changé, les technologies ont changé, et vos connaissances ont augmenté ces deux dernières années. Ce sur quoi vous vous arrêterez maintenant deviendra votre choix pour les prochaines années. C’est le moment idéal pour choisir vos technologies préférées.
Votre objectif — choisir une trajectoire dans laquelle vous pourrez continuer à vous développer. Il y en a beaucoup, personne ne peut énumérer toutes les options, mais vous devez faire un choix dès maintenant. Si aujourd’hui vous changez un peu votre présent, cela conduira à de grands changements dans votre futur.
5e année de travail comme développeur (Java Senior Developer, niveau 2)
Vous avez défini votre avenir et travaillez à la réalisation de votre rêve. Un cap bien choisi, combiné au désir d’avancer — et le résultat ne se fera pas attendre. Félicitations. Nous sommes heureux qu’il y ait une personne heureuse de plus.
Il y a une sagesse bien connue. Les gens surestiment souvent ce qu’ils peuvent accomplir en un an et sous-estiment ce qu’ils peuvent accomplir en cinq ans. Regardez cinq ans en arrière : c’est exactement ça.
Votre tâche — ne pas prendre de décisions stupides et ne pas céder à la paresse.
Votre objectif — choisir une direction et continuer d’avancer. Vous pensiez que c’était la fin ? Souvenez-vous de votre année de terminale. Ce n’est pas la fin, c’est seulement le début.
Spécialisation future
Vous pouvez évoluer comme spécialiste technique (branche supérieure), comme manager (branche inférieure) ou comme professionnel indépendant/consultant (branche médiane). Tout dépend de vos préférences.
Carrière d’un développeur
Le métier de développeur diffère des autres. Il n’est pas nécessaire de faire une carrière de manager pour bien gagner sa vie. Il n’est pas rare qu’un développeur senior gagne plus que son manager. Plus vous gagnez en expérience, plus vos relations avec la hiérarchie évoluent du modèle « patron-employé » vers des relations du type « star de cinéma et son agent ». Des développeurs sûrs d’eux, conscients de leur valeur, trient sur le volet les projets et les offres. Réjouissons-nous pour les nôtres.
Que faut-il pour devenir un développeur de classe mondiale, hautement qualifié et très demandé ? Vous devez avoir une grande expérience des technologies les plus récentes et les plus recherchées. Comment y parvenir ? La réponse est ci-dessous.
Après que vous avez décroché votre premier poste de développeur, il vous arrive deux choses qui, curieusement, ne sautent pas toujours aux yeux.
1. Vous commencez à acquérir rapidement de l’expérience sur des projets réels. Une année d’expérience comme développeur peut vous apporter plus de connaissances et de compétences dans votre spécialité que 5 ans d’université. L’expérience est un indicateur si important que, dans les offres IT, on lit souvent « développeur Java avec trois ans d’expérience requis ».
2. Vous étudiez de nouvelles technologies 8 heures par jour, et on vous paie grassement pour cela. L’importance de ce facteur est difficile à surestimer. Dans certains cas, les compétences acquises sont si précieuses que l’on pourrait travailler gratuitement, voire payer pour les acquérir. Si vous choisissez judicieusement les projets que vous acceptez, une carrière fulgurante de développeur vous attend.
Mais alors, que choisir ?
Souvent, si vous ne savez pas quelles technologies vous seront utiles, vous commencez à les choisir selon le principe « j’aime/j’aime pas » ou « à la mode/pas à la mode ». C’est une question de chance. Il vaut donc mieux savoir à l’avance où vous voulez aller.
Les voies d’évolution d’un développeur sont très nombreuses, c’est pourquoi, pour simplifier, nous en distinguerons quelques-unes et donnerons notre vision de la situation. Il ne faut pas prendre ce schéma comme une position rigide, plutôt comme un regard simplifié pour apporter un peu de clarté.
Le développeur bicentenaire.
Si ce que vous préférez par-dessus tout, c’est programmer, votre voie — Senior Developer, puis Tech Lead Developer et architecte. Vous pouvez aussi simplement travailler comme développeur pendant 50 ans. Souvent, les salaires des développeurs seniors et des tech leads dépassent ceux de leurs managers. Ne vous trompez pas.
Manager. Vous avez de la chance, vous n’êtes pas comme les autres.
Vous avez rejoint le camp adverse. Je plaisante. Si vous avez révélé de solides capacités d’organisation, votre voie — Team Lead, puis Project Manager. Cela vous donnera une chance de devenir directeur et vous aidera à l’ouverture de votre propre entreprise. C’est bien ce que vous voulez, n’est-ce pas ?
Voler un tracteur.
Si vous avez déjà fondé une famille et des enfants, il est possible que vous souhaitiez une vie tranquille et aisée dans un pays à l’économie stable. Vous envisagez un déménagement/une immigration au Canada, aux États-Unis, en Suisse ou même en Australie. Vous avez d’excellentes compétences et un métier recherché. Vous n’aurez pas à commencer comme plongeur. Mais, par exemple, comme Senior Java Developer. Et probablement avec un salaire plus élevé. Pas mal, non ?
Voir le monde entier, sauf Paris, et ne pas mourir.
Vous n’avez pas encore de famille et souhaitez voyager. Upwork — votre meilleur allié. Trouvez un client, négociez vos taux — à partir de 20 $/heure, prenez votre ordinateur portable et en avant. Votre salaire devrait suffire pour vivre correctement dans n’importe quel pays du monde. Pourquoi ne pas commencer à réaliser votre rêve dès maintenant ?
GO TO FULL VERSION