Article original : My Developer Journey – How I Got a Remote Job and Increased My Salary While Contributing to Open Source

Par Santosh Yadav

Salut à tous, je m'appelle Santosh. Dans cet article, je vais vous raconter comment j'ai boosté ma carrière et fini par augmenter mon salaire en tant que développeur.

Je vais partager ce que j'ai appris à chaque emploi, comment vous pouvez vous démarquer, des conseils pour négocier votre salaire et comment j'en suis arrivé là aujourd'hui.

Voici un peu plus d'informations sur moi : je suis originaire d'Inde, et je suis un Angular GDE, la Première GitHub Star de l'Inde, et Ambassadeur Auth0. Je fais également des lives sur Twitch et YouTube. Vous pouvez en savoir plus sur moi ici.

Comment Tout a Commencé

J'ai commencé mon parcours de développeur en 2008. Je n'arrivais pas à trouver un emploi après l'université – 2008 était la pire année pour toute l'industrie technologique, comme beaucoup le savent déjà.

Quand j'étais à l'université en train de faire mon diplôme en informatique, mes amis me disaient que je pourrais rapidement trouver un emploi avec un salaire de 300 000 INR (4 000 $) par an. Mais à la fin du dernier semestre, il était clair que cela n'arriverait pas.

Après avoir terminé l'université, mon ami et moi avons fait le tour de toutes les agences de recrutement pour partager nos CV. Mais nous n'avons eu aucune réponse. Nous avons mis à jour nos CV sur toutes les plateformes d'emploi disponibles, mais personne n'embauchait de débutants.

Comment J'ai Obtenu Mon Premier Emploi de Développeur

Finalement, un ami de mon père qui dirigeait une agence de recrutement m'a obtenu un entretien. Je cherchais un emploi en tant que développeur en C#, et j'ai rejoint l'entreprise le lendemain de l'entretien. C'était le 18 octobre 2008.

L'organisation était petite, mais le PDG avait une grande vision pour le produit qu'il développait. Je ne veux pas l'appeler une Startup, car c'était une entreprise de conseil en ressources humaines, qui était son activité principale. Mon salaire était de 60 000 INR (800 $) par an.

J'avais beaucoup de temps libre, et j'en ai profité pour utiliser ce temps pour apprendre davantage. Pourtant, je n'étais pas très sérieux et j'ai profité de mon temps libre. J'ai appris un peu d'un développeur senior de mon équipe, cependant. J'ai décidé de démissionner après dix mois, car j'ai réalisé que ce n'était pas bon pour ma carrière.

De Chômeur à Petits Contrats

Après avoir décidé de quitter ce premier emploi, je suis rentré chez moi pendant un mois. Grâce à la référence d'un ami, j'ai obtenu un poste en contrat pour quelques mois.

Le salaire était un peu plus élevé, cette fois 120 000 INR (1 600 $) par an, ce qui était le double de ce que je gagnais avant. Mais le travail était plus axé sur les opérations et parfois sur la base de données Oracle.

Mon premier amour était C#, mais les finances de ma famille étaient désastreuses, donc je n'avais pas d'autre choix que de prendre ce travail. À la fin de 2009, il était clair – je n'aurais pas ce contrat l'année suivante. Alors, j'ai essayé dur et j'ai obtenu un emploi.

Mon Premier Vrai Emploi de Programmation

J'ai obtenu mon premier vrai emploi de programmation en janvier 2010. J'ai commencé à travailler avec Capita India, mais j'ai rejoint en tant que contractuel sur la paie d'une autre entreprise. C'était comme un poste en contrat, mais plus stable que le dernier emploi.

Mon salaire était de 144 000 INR (1 900 $), l'argent était faible, mais bien sûr, j'avais aussi l'opportunité d'apprendre. Mon manager était formidable, et mon collègue était l'administrateur de la base de données. Oui, vous avez deviné juste – j'étais le seul développeur de l'équipe.

Pendant les trois premiers mois, j'avais beaucoup de travail à faire. Je travaillais sur une application Windows pour l'équipe finance. Mais bientôt, le travail a cessé d'arriver. J'ai parlé à mon manager, et il m'a dit que je devrais utiliser ce temps pour apprendre davantage.

Après quelques mois, je suis devenu membre d'une équipe plus grande après quelques changements au niveau de l'organisation. J'ai commencé à obtenir du travail sur ASP.NET, mais j'ai décidé de passer à autre chose en novembre 2010.

Une chose que j'ai apprise de cet emploi : Utilisez bien votre temps libre. Vous n'aurez pas toujours assez de travail à faire pour vous occuper tout le temps. Utilisez votre temps libre pour lire des blogs, regarder des cours, lire et créer des preuves de concept avec ce que vous avez appris.

Le temps que j'ai investi dans l'apprentissage a porté ses fruits. J'ai obtenu une offre avec une augmentation de 100 %. Mon manager m'a fourni beaucoup de motivation, ce qui est la raison pour laquelle j'ai obtenu cette augmentation. Comme je n'avais pas d'ordinateur à la maison, j'ai beaucoup lu, ce qui était la meilleure chance de m'améliorer.

Travailler pour une Banque et dans une Grande Équipe

Comme mon emploi précédent, mon rôle suivant était également sur la paie d'une autre entreprise. Je travaillais pour ICICI en tant que contractuel, comme mon dernier emploi chez Capita.

Mais pour la première fois, je travaillais dans une équipe de plus de 60 personnes, et mon salaire était de 288 000 INR (3 900 $). J'avais l'impression de enfin gagner bien ma vie en tant que développeur, mais j'ai terminé le projet sur lequel je travaillais en dix mois, et le travail a cessé d'arriver à nouveau.

Dans cet emploi, j'ai appris davantage sur le travail en équipe et j'ai vu comment de mauvais managers pouvaient faire démissionner les gens. Au moment où je suis parti, il y avait moins de dix personnes dans l'équipe. Cet endroit est devenu toxique au fil des mois, et les développeurs avaient peur de partager quoi que ce soit avec le manager, et ce manager avait des problèmes de confiance avec tous les développeurs.

J'ai également appris que vous ne devriez pas rester et travailler dans un environnement toxique. J'ai vu beaucoup de développeurs travailler dans des environnements de travail toxiques. Une culture de travail toxique est terrible pour tout le monde, et elle peut retourner vos collègues contre vous. Elle vous rend également moins productif, plus insécure quant à votre emploi, et elle peut vous faire brûler. Quittez dès que possible – vous méritez mieux.

Heureusement, j'ai investi du temps pour apprendre certains nouveaux packages introduits dans .NET, et j'ai découvert qu'il y avait beaucoup d'opportunités d'emploi pour cette technologie ici. J'ai passé un entretien dans une startup et j'ai présenté des technologies que je n'avais jamais utilisées au travail. Et cela a porté ses fruits – j'ai fini par obtenir l'emploi avec une augmentation de plus de 70 %.

Voici quelques conseils pour négocier votre salaire :

Connaissez Toujours Votre Valeur

Dans l'industrie technologique, vous trouverez différents développeurs faisant le même travail mais ne gagnant pas le même salaire. Certaines organisations profitent de vous et vous paient moins. Étudiez toujours le marché si vous cherchez un emploi. Demandez la fourchette de salaire si possible.

Ne Négociez Jamais le Salaire en Fonction de Votre Dernier Salaire

Demandez toujours à votre recruteur une fourchette de salaire. Si vous entendez qu'il sera de 30 % supérieur à votre dernier salaire, vous pourriez les ignorer. Gardez toujours le chiffre que vous voulez en tête et négociez en fonction de cela. J'ai même reçu une augmentation de 100 % par rapport à mon dernier salaire.

Connaissez la Description de Poste

Avant de rejoindre une organisation, connaissez la description de poste ; l'argent ne devrait pas être votre seul objectif. J'ai décliné une offre d'emploi avec un salaire plus élevé une fois parce que le travail était plus du support, et j'allais avoir une opportunité de travail dans la startup.

Rejoindre la Startup

À ce stade, j'ai commencé à me pousser davantage, car je voulais m'assurer de pouvoir offrir une vie meilleure à ma famille.

J'ai rejoint une startup en 2012 avec une offre de salaire de 450 000 INR (6 000 $), ce qui était une bonne augmentation par rapport à mon dernier salaire. C'était aussi mon premier emploi où j'ai travaillé pendant plus d'un an – je suis resté pendant presque cinq ans.

J'avais été promu Team Lead au moment où je suis parti en 2016, et mon salaire était de 1 200 000 INR (16 500 $). Mais j'ai décidé de partir car je n'écrivais pas beaucoup de code, mon manager était très toxique, et je ne pouvais pas donner beaucoup de temps à ma famille.

Dans cette startup, cependant, j'ai eu l'opportunité de travailler avec certains managers et développeurs fantastiques. Nous avons formé une équipe incroyable, et j'en suis encore fier. Je pense que c'était l'une des meilleures réalisations de ma carrière. J'ai beaucoup appris sur la gestion des personnes, ce qui m'aide encore beaucoup.

De plus, la croissance était énorme. J'ai pu obtenir une augmentation de plus de 30 % chaque année jusqu'en 2015.

Voici quelques choses que j'ai apprises en travaillant dans la startup :

Ne Tombez Pas Amoureux de Votre Organisation

Même si vous êtes le meilleur employé au travail, vous êtes remplaçable. J'avais travaillé des heures supplémentaires pour la startup, même si personne ne me l'avait demandé.

Parce que j'aimais l'organisation, j'ai appris à la dure à ne plus faire cette erreur. Le temps en famille est plus important qu'une organisation où vous n'êtes qu'un employé parmi d'autres.

Gardez Vos Compétences à Jour

Continuez à apprendre ! Parfois, nous restons bloqués sur la même pile technologique pendant des années. Ensuite, lorsque vous retournez sur le marché du travail, il a déjà évolué, et il y a une nouvelle pile que tout le monde utilise.

Beaucoup d'organisations ont un abonnement à Pluralsight ou à une autre plateforme d'apprentissage, alors utilisez cela si vous le pouvez. Si votre entreprise n'en a pas, il existe beaucoup de ressources d'apprentissage gratuites que vous pouvez utiliser à la place ou en plus.

Une fois que j'ai décidé de partir, j'ai échoué à de nombreux entretiens. Mais ce fut une expérience révélatrice. J'avais appris tout ce dont j'avais besoin pour travailler à mon ancien emploi – mais étais-je à jour avec la pile technologique actuellement demandée ? Non.

Déménager à Pune pour une Vie Meilleure

En 2016, j'ai décidé de rejoindre Synechron et de déménager à Pune. J'ai rejoint en tant que contributeur individuel et j'ai commencé à travailler sur .NET avec Angular.js.

Mon salaire a un peu augmenté, mais le coût de la vie était beaucoup moins cher qu'à Mumbai. Mon salaire était un peu plus élevé que le dernier, et j'ai commencé à gagner un peu d'argent supplémentaire en 2017 en donnant des formations Angular en ligne. Cela a été une grande aide car mes finances étaient désastreuses.

C'était la première fois depuis 2011 que je travaillais 40 heures par semaine, ce qui signifiait que j'avais plus de temps pour moi. J'ai commencé à apprendre Angular et à l'enseigner également.

L'équipe était géniale, et le client m'a donné accès à Pluralsight, ce qui m'a aidé à apprendre Angular, un nouveau framework Front-end. J'ai terminé tous les cours de Deborah Kurata pour en apprendre davantage. J'ai obtenu quelques contrats pour enseigner Angular et cela m'a conduit à obtenir mon prochain emploi à la Banque.

Vers le dernier trimestre de 2017, nous avons réalisé que le client avec lequel nous travaillions ne nous donnerait plus de travail, et nous devions être prêts à passer à un autre projet.

Travailler pour une Autre Banque

En octobre 2017, j'ai rejoint une Banque avec une bonne augmentation de salaire. Il était maintenant d'environ 40 % de plus que le dernier salaire, grâce en partie à mon expérience dans l'enseignement d'Angular qui a impressionné mon responsable de recrutement. Je gagnais également de l'argent supplémentaire grâce à mes formations.

J'ai eu l'opportunité de prendre le contrôle complet du framework construit sur Angular. J'ai parlé à différentes équipes des fonctionnalités dont elles avaient besoin et je les ai aidées à implémenter ces fonctionnalités.

Et plus que cela, j'avais encore assez de temps pour m'améliorer. J'ai lu davantage sur Angular et j'ai amélioré le framework.

J'ai même reçu un bonus de performance de 100 000 INR (1 300 $) en 2018.

J'ai pu appliquer les leçons de mes emplois précédents et j'ai appris à dire non. La compétence la plus cruciale dont vous avez besoin en tant que développeur est de pouvoir dire non lorsque vous en avez besoin.

Il y aura des moments où votre manager aura besoin que vous travailliez des heures supplémentaires – dites non. Une chose que j'ai apprise est que très peu de choses sont critiques et qu'elles peuvent généralement toutes être faites le lendemain. Surtout s'il s'agit d'une nouvelle fonctionnalité et d'une correction de bug non cruciale.

Commencer les Contributions Open Source

En 2019, j'ai décidé de m'impliquer davantage dans la communauté Angular. J'ai décidé de commencer à faire des contributions Open Source et j'ai commencé à travailler sur les projets NgRx et Angular.

J'ai commencé à écrire des blogs, à donner des conférences et j'ai même créé certains de mes propres projets open source. 2019 était plus axé sur la communauté, et j'ai commencé à améliorer mes compétences en Angular en apprenant en public. Tout cela a été possible grâce au soutien de mon manager.

J'ai beaucoup gagné à travailler ici. La chose cruciale que j'ai apprise était comment me démarquer, ce qui m'aide encore à obtenir de nouveaux travaux.

Et voici quelques conseils supplémentaires pour vous aider à vous améliorer :

Apprendre en Public

Au travail, en tant que développeur, nous sommes confrontés à tant de problèmes, mais souvent nous résolvons simplement les problèmes et passons à autre chose. Vous savez que vous pouvez partager cette expérience avec d'autres développeurs. Commencez à écrire des blogs et à créer du contenu. Vous apprendrez davantage en partageant vos connaissances.

Contribuer à l'Open Source

J'ai appris davantage en contribuant à l'Open Source que presque n'importe quoi d'autre. Cela me permet également de me promouvoir. Cela pourrait même vous aider à obtenir votre prochain emploi. J'ai eu de meilleures opportunités grâce à mes contributions Open Source et aux connexions que j'ai établies dans ces communautés.

Commencer Mon Emploi à Distance

À la fin de 2019, j'ai eu l'opportunité de parler à quelques conférences, ce que la banque ne me permettait pas de faire. J'ai donc décidé de démissionner, et l'un de mes amis Serkan m'a aidé à obtenir un nouvel emploi grâce à toutes les contributions que je faisais à la communauté Open Source.

J'ai reçu une augmentation d'environ 50 % par rapport au dernier salaire. J'allais commencer à travailler à distance, ce qui signifiait plus de temps pour la famille et les efforts communautaires. Dans cet emploi, j'ai eu l'opportunité de travailler sur un produit et j'ai utilisé Nx DevTools pour la première fois. J'ai également appris comment je pouvais améliorer les performances de l'application.

En 7 mois, j'ai implémenté le SSR et optimisé la taille des bundles. J'ai converti l'application en bibliothèques plus petites, ce qui a facilité l'ajout de plus d'applications à l'avenir. J'ai également partagé ces apprentissages avec la communauté.

Devenir Indépendant

J'ai décidé de quitter mon emploi à temps plein en octobre 2019 et de passer à la consultation. J'avais une bonne connexion sur Twitter, et tout a commencé avec un tweet.

De nombreux développeurs ont répondu avec des pistes solides. Finalement, j'ai obtenu mon premier client et j'ai commencé à travailler en octobre 2020. J'ai obtenu mon prochain client en novembre 2020, tout cela grâce à mes contributions communautaires.

À peu près à la même époque, je suis devenu la Première GitHub Star de l'Inde. Les deux sont des clients bien payés, et je gagne un bien meilleur salaire maintenant. J'ai pu rembourser les prêts que j'avais contractés en 2012 pour payer les factures médicales de ma fille et de ma femme.

Jusqu'à présent, le travail de consultant est fantastique. J'ai l'opportunité d'aider de nombreux développeurs et j'améliore mes connaissances tout en améliorant la plateforme.

Cela m'aide également à donner du temps à la communauté et à soutenir les développeurs Open Source en faisant des dons à l'OSS.

Conclusion

Travailler pour la communauté a fait des merveilles pour ma carrière. Il m'a fallu 12 ans pour passer de 1 000 $ à un salaire plus stable, mais le voyage en valait la peine. J'ai connu des jours où je devais me demander comment nous allions survivre, et je me demandais comment je pourrais offrir une vie meilleure à ma fille et à ma famille.

L'expérience à chaque emploi a été différente. Je vous suggère de commencer à apprendre en public. Cela m'a toujours aidé à donner le meilleur de moi-même et cela a renforcé ma confiance pour que je sache que je pouvais vendre mes compétences.

Et n'oubliez pas que la négociation de salaire est une compétence importante. Ne vous sous-estimez jamais lors des négociations. Vous pouvez toujours gagner plus d'argent que vous ne le pensez.

Vous pouvez lire mon histoire de vie ici :

Photo de couverture par Ian Schneider sur Unsplash.