TL;DR
Viser une entreprise tech first. Américaine si possible, UK/Allemagne/Pays-Bas sinon. Demande le budget avant le moindre entretien. Négocier l’offre.
Non, les hauts salaires en tech ne demandent pas de travailler 80h par semaine ou d’être un génie avec 1000 contributions open source par an. J’ai doublé mon salaire et je ne bosse pas plus, mon travail n’est pas plus dur. Et malgré ce que peuvent penser trop de développeurs, être un bon développeur n’est ni requis, ni suffisant. Le but de l’article est d’identifier les principaux facteurs qui m’ont permis de doubler mon salaire.
Le facteur le plus important et de loin. Le meilleur développeur du monde travaillant dans une petite entreprise avec un budget de 40k€ aura difficilement plus que 50k€. En revanche, un développeur moyen travaillant pour une grande entreprise qui a levé des millions aura plus facilement un salaire de 80k€. Ce genre d’entreprise aura aussi une culture ingénierie plus avancée. Et même si cela peut paraître contre-intuitif, ce type d’entreprises offrent des conditions bien supérieures (horaires, liberté, matériel, budget). Mes pires horaires ont été faits en agence, là où mon salaire était aussi le plus faible, le tout sur un vieux laptop et sur une vieille chaise inconfortable.
https://blog.pragmaticengineer.com/what-silicon-valley-gets-right-on-software-engineers/
Une équipe “profit center” est une équipe qui va rapporter de l’argent à l’entreprise comme l’équipe Ads pour Google par exemple.
À l’opposé, on a les équipes “cost center”, les équipes qui sont perçues comme un coût pur. Ces équipes peuvent ne pas générer de revenu, mais être considéré comme “profit center” en raison de leur nécessité. Par exemple, l’équipe Search chez Google ne rapporte pas d’argent directement, mais elle est essentielle pour attirer les visiteurs.
La situation idéale est évidemment d’être dans une entreprise qui valorise son département tech, au sein d’une équipe “profit center”. En cas de licenciement massif, être dans une équipe “profit center” permet généralement d’être plus serein.
https://newsletter.pragmaticengineer.com/p/profit-centers-cost-centers
Les cultures tech varient d’un pays à l’autre. D'un côté, en France, les entreprises considèrent souvent les développeurs comme des ouvriers de haut niveau, les managers étant davantage valorisés. Ces entreprises s'attendent généralement à ce que les développeurs évoluent vers des postes de management après un certain nombre d'années d'expérience.
À l’opposé on a les pays anglo-saxons qui comprennent l’intérêt de profils développeurs purs. Senior est un niveau “terminal”, on peut y rester toute sa carrière sans que ce soit un stigmate, ou que ce soit un problème, et bien sur avec un salaire très correct.
Entre ces deux extrêmes, mais plus proche de l'approche anglo-saxonne, on trouve la plupart des pays européens tels que l'Allemagne, les Pays-Bas, et autres.
Là où les plus petites entreprises auront des entretiens très spécifiques (question sur le framework, le langage, questions pièges), les plus grosses entreprises ont tendance à se concentrer sur les fondamentaux (data structure, algorithmes).
Avantage: Assez simple à préparer (Neetcode, Blind75), on sait d’avance sur quoi on va tomber, ça se réutilise entreprise après entreprise, et ça permet de pouvoir passer sur un stack sur lequel on n’a jamais travaillé auparavant.
Désavantage: Assez éloigné du travail de tous les jours, stressant si on ne s’est pas préparé, et souvent plus long, il n’est pas rare d’avoir 3 voir 4 entretiens.
La négociation se prépare en amont, avant même le premier entretien. Ne jamais donner de nombre, que ce soit le salaire passé, ou les prétentions salariales. Demander le budget dès le début du processus (avant le moindre appel). Premier avantage, on évite les entreprises avec un budget trop faible (personne n’a envie de passer 4h d’entretiens pour se rendre compte que l’entreprise n’a pas les moyens de nous payer). Deuxième avantage, pour les entreprises avec un budget supérieur à nos demandes, on peut prétendre à bien plus que notre salaire souhaité.
Suivant le salaire souhaité:
Si le budget est inférieur, le processus s’arrête là et on n’a pas perdu de temps.
Si le budget correspond, on peut entamer le processus.
Si le budget est supérieur, c’est là que la plus-value se fait. Si on avait donné nos prétentions salariales, on aurait reçu une offre qui correspond à notre salaire souhaité, et non au budget (sauf rare cas).
Toujours négocier l’offre reçue. Une bonne entreprise ne retire pas son offre si vous négociez respectueusement. Si l’entreprise retire son offre, alors on a filtré une mauvaise entreprise. Au niveau de la négociation, les entreprises sont plus ouvertes à négocier l’équité (RSUs, stock options, token) voir les bonus plutôt que le salaire.
https://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/
Tous les stacks ne payent pas de façon équivalente. Certains parce qu’ils sont saturés, d’autres parce qu’ils sont surreprésentés parmi les entreprises “traditionnelles”. PHP est sûrement le meilleur exemple, loin d’être un mauvais langage en soit, il est sur représenté en France, surtout parmi les entreprises à l’ancienne. Pensez aux blogs techniques des big techs que vous lisez régulièrement, combien utilisent PHP ? Et quid des entreprises ayant levé des fonds récemment ? Un développeur PHP aura malheureusement très peu de choix parmi les “bonnes” entreprises comparé à un développeur Go par exemple.
Les sites spécialisés pour le secteur (web3.career pour la crypto par exemple), Linkedin avec un profil en anglais. Pour Linkedin, on met le profil en open to work (sans le badge si on veut éviter que son employeur le sache), et on répond à tous les recruteurs, c’est juste une théorie, mais j’ai remarqué que j’avais plus de contacts quand je répondais. Et dès le premier message, on demande le budget (essayez d’ajouter une autre question sur l’entreprise, le stack ou l’équipe pour faire passer la pilule).
Généralement j’ai 90% de réponses avec un budget. Il faut garder en tête que tous les budgets ne correspondent pas à mes attentes, donc pour certaines entreprises le processus s’arrête là. Pour les 10% restants, soit les recruteurs préfèrent appeler avant de donner les moindre détails, et je leur explique que j’ai pas mal de processus à gérer en parallèle et que je préfère avoir le budget avant le moindre appel. Soit ils vous répondent que ça dépend de l’expérience, qu’ils ne donnent pas de budget, etc… et généralement ça s’arrête là. Vous pouvez toujours essayer de relancer s’ils ne donnent pas de non définitif, mais par expérience, cela marche rarement.
Si le recruteur vous demande si vous avez déjà des processus en cours, répondez honnêtement. Ne mentionnez pas les entreprises, juste que vous avez d’autres entretiens et précisez à quelle étape vous en êtes. Les recruteurs veulent l’information pour savoir s’ils doivent accélérer votre candidature. De la même façon, pendant vos entretiens, si l’une des entreprises est sur le point de vous faire une offre, n’hésitez pas à contacter les autres recruteurs et leur expliquer la situation : “J’attends une offre cette semaine, cependant votre entreprise ayant ma préférence. Serait-il possible d'accélérer le processus de sélection ?”
Essayez d’avoir les entreprises qui vous intéressent le moins en premier et utilisez les en tant qu’entretien tests.
Personne ne gagne ça autour de moi / Je ne vois jamais ces salaires sur des offres d'emplois.
Malheureusement la plupart des développeurs se sous-estiment et ont peur de changer d’entreprises, et se contentent de leur salaires sans chercher à avoir plus.
Les entreprises qui payent bien, paradoxalement, n’affichent que très rarement les salaires sur les offres d’emplois.
https://blog.pragmaticengineer.com/software-engineering-salaries-in-the-netherlands-and-europe/
Je n’ai pas besoin de plus d’argent
Ce n’est pas simplement qu’une question d’argent mais de tout ce que cela implique: les meilleures conditions, un travail plus intéressant.
