Témoignage d’un développeur freelance 100% remote

03 août, 2019


développeur freelance télétravail

 

Je suis développeur freelance depuis quelques années et j'ai une relation exclusive avec quelques clients de longue date. Mes missions sont 100% remote. Honnêtement, c'est une excellente façon de gagner sa vie. J'adore ça.

 

Mon expérience :

 

Mon parcours professionnel, ainsi que celui de la plupart de mes collègues, est de quelques bonnes années d'expérience en travaillant dans les locaux des entreprises, avant de passer progressivement au travail à distance en freelance. Pouvez-vous commencer votre carrière directement en télétravail ? C’est envisageable, mais ce n'est pas très courant. Je vous conseille de travailler sur place dans les locaux d’une entreprise tant que vous apprenez des méthodes de travail. Apprenez tout ce que vous pouvez, absorbez les connaissances comme une éponge, puis passez à un autre emploi. Quand vous en arrivez au point où vous pouvez parcourir les listes de sites proposant des missions pour les freelances (comme Upwork par exemple) et vous dire "Oui, je pourrais faire cette mission-là ", alors vous êtes prêt à faire du télétravail en freelance.

 

Avoir un ensemble de compétences :

 

Tous les développeurs en télétravail qui réussissent sont BONS. Des programmeurs médiocres ne réussiront pas. Travailler à distance exige de la discipline, de la maturité et de l'indépendance d'esprit. Les gens qui ont besoin d'être supervisés et qu’on leur tienne la main ne réussissent pas bien dans cet environnement.

 

En ce qui concerne les compétences spécifiques, les freelances informatiques en télétravail sont généralement soit des experts hyperspécialisés sur un seul domaine, soit des généralistes de haut niveau. Il y a un marché pour les deux. Parfois, on a besoin d'un gars qui vit et respire telle ou telle nouvelle technologie. Parfois, vous avez besoin d'un gars généraliste qui peut naviguer entre plusieurs langages informatiques sans cligner des yeux. Cependant il y a certaines compétences qui sont toujours souhaitables. Par exemple, vous devriez être très à l'aise avec les bases de données SQL, quel que soit votre domaine. Si vous travaillez avec les stacks qui sont généralement déployés sur des serveurs Unix, vous devez être familiarisé avec l'interface utilisateur et l'administration du serveur.

 

Le développement web est le domaine le plus courant pour les ingénieurs informatiques en télétravail. Le nombre de compétence à avoir pour faire du web development professionnel est énorme. Je vous assure qu'il est possible d'y arriver en quelques années, mais il faut du dévouement. Mais c'est tout à fait payant.

 

Il faut savoir que les sites de mission freelance sont inondés par des programmeurs peu doués parce que les barrières à l'entrée pour s’inscrire sur ces sites sont très faibles.

 

Faire face à la concurrence :

 

La clé pour rivaliser avec les développeurs des pays pauvres à bas tarif est de ne pas chercher à rivaliser avec eux.

 

Les meilleurs talents des pays en développement feront payer moins cher que les meilleurs talents des pays « riches » en raison du coût de la vie plus bas.

 

Ne vous positionnez pas comme quelqu'un qui est en compétition avec ces gars-là. Ils vont enclencher un nivellement par le bas au niveau des salaires. Abordez vos prospects comme quelqu'un qui parle couramment le français ou l'anglais, qui est culturellement proche des clients, qui est professionnel, qui a de l'expérience, qui se soucie de la qualité et des résultats. Faites des appels téléphoniques et des vidéoconférences avec vos prospects. Soudain, votre client ne parle plus à une machine de codage abstraite qui est bon marché et imprévisible, mais à un professionnel qui est presque sûr de livrer du bon travail.

 

C'est amusant que je dise tout cela car je suis moi-même d’un pays du tiers monde, mais j'ai réussi à surmonter ce problème assez facilement en observant les marchés des indépendants en télétravail et en prenant note de ce qui fonctionne et de ce qui ne fonctionne pas.

 

Comment trouver des missions freelance ?

 

Je dirais qu'il y a trois façons courantes d'être embauché dans ce marché.

 

1. Utiliser votre réseau et vos contacts. Solution la plus efficace si vous connaissez du monde dans ce milieu professionnel.

 

2. La méthode de la « force brutale ». Vous allez convaincre un client de vous embaucher avec votre CV, vos résultats à l'entretien, un exemple de code, etc. C’est la méthode la plus difficile et la moins susceptible de réussir, mais c'est comme ça que j'ai commencé, donc c'est tout à fait possible.

 

3. Faire du développement open source pour montrer vos compétences. C’est la méthode de loin la plus fructueuse. Si vous avez de beaux projets open source et qu'au moins l'un d'entre eux a de la traction, vous n'avez rien à faire, les gens vous contacteront à l'improviste pour vous proposer de travailler.

 

Investissez autant que vous le pouvez dans l’open source. J'en ai fait trop peu et ça me bloque. Si je réussi à terminer et à publier quelques projets open source que j'ai lancés et abandonnés, je suis presque sûr que je pourrais soit trouver un nouveau client qui me paiera plus cher, soit faire pression sur mes clients actuels pour qu'ils augmentent mon tarif. Les ingénieurs en développement sont un peu comme les artistes ou les musiciens : s'ils ont des projets dont les gens parlent, s'ils ont une bonne réputation dans le milieu, cela augmente énormément leur taux de rémunération. Et si vous avez un programme open source très populaire sous votre nom d'utilisateur, vous êtes pratiquement assuré de trouver du travail quand vous en avez besoin.

 

Carrière et formation continue :

 

Oui, le monde du génie logiciel est constamment inondé par les nouvelles technologies et vous devez apprendre ou lire à leur sujet si vous voulez rester au top dans votre métier. Si vous n'aimez pas le faire, vous n'y arriverez pas, à moins de trouver un créneau spécifique plus ou moins statique mais toujours en demande (par exemple le COBOL).

 

Personnellement, je ne pense pas que ce soit un problème majeur. Vous devez juste aimer ce que vous faites. Je lis tout le temps des trucs de nerds sur les langages de programmation et les frameworks parce que je trouve ça intéressant. Je m’instruis sur les nouvelles technologies entre 5 et 10 heures par semaine. Cela fait partie de ma routine quotidienne d'aller sur Hackernews et lobste.rs et de lire quelques articles intéressants.

 

Le temps d'apprentissage d'un nouveau langage de programmation diminue de façon exponentielle une fois que vous êtes familier avec quelques langages de différents paradigmes.

 

Un paradigme de programmation est une façon d'approcher la programmation informatique, de traiter les solutions aux problèmes dans un langage de programmation approprié.

 

Devenir un expert dans un langage particulier prend beaucoup de temps, mais vous n'avez pas besoin d'être un expert pour l'avoir dans votre boite à outils. Lire quelques articles sur le langage, lire une référence de syntaxe, étudier du code source et écrire un petit projet de test est suffisant pour commencer et peut se faire au cours d'un week-end. Si vous ne voulez pas le faire le week-end, vous pouvez le répartir sur la semaine. Une fois que vous avez fait cela, vous pouvez décider d'abandonner cette technologie ou de vous investir davantage en écrivant un projet plus important ou en cherchant du travail avec cette technologie. Je crois que c'est la façon dont la plupart des programmeurs expérimentés apprennent de nouveaux langages. Ils ne s'assoient pas tous les jours pour étudier et pratiquer pendant quelques heures jusqu'à ce qu'ils maîtrisent un nouveau langage informatique. Ils papillonnent en utilisant les connaissances accumulées qu'ils ont déjà.

 

HackerNews et lobste.rs ne sont pas que des sites d'information. C'est plutôt une sorte de reddit dans le sens où tout peut être liké et upvoté. Ce sont des outils importants du point de vue du marché parce qu'ils vous donnent un aperçu des problèmes auxquels font face les gens de l'industrie et des approches qu'ils utilisent pour les résoudre. Il y a beaucoup d'articles dans HackerNews qui parlent de la résolution d'un problème particulier en utilisant un langage ou un framework particulier. De plus HackerNews a beaucoup d'articles d'introduction sur les nouvelles technologies à venir. Il est facile de déceler les tendances lorsque vous lisez ces sites tous les jours.

 

Bien sûr, je ne peux pas considérer la lecture de ces sites comme du travail, mais ce n'est pas non plus du pur divertissement. C'est apprendre des choses qui m'intéressent mais qui sont aussi utiles pour mon travail. C'est pourquoi j'ai dit que ce n'est pas un problème tant que tu aimes ce que tu fais.

 

Les développeurs 100% télétravail n'ont pas de progression de carrière au sens classique du terme. En général, votre "carrière" consiste à augmenter votre taux horaire ou journalier. Il faut donc tenir compte de l'épargne, des placements, de la retraite, etc. dans le taux que vous allez facturer aux clients.

 

L'âgisme (discrimination et mépris fondés sur l'âge) est un vrai problème dans le monde de la technologie informatique. C'est de plus en plus difficile de trouver du travail dans la quarantaine. C'est quelque chose qu'il faut avoir à l'esprit. La plupart des développeurs, en vieillissant, passent à la gestion de projet ou trouvent un petit créneau technologique qui n’évolue pas beaucoup et sur lequel il n'y a pas beaucoup de gens qui travaillent. En ce qui me concerne, mon but est de lancer mon propre produit et d'éviter complètement ce problème.

 

L'âgisme est aussi appelé « jeunisme » : on emploie ce terme pour désigner une préférence pour les plus jeunes, certains secteurs d'activité favorisent les candidats les plus jeunes dans le but de créer une « image dynamique ».