Better Programmer (Part 07): Notes pour devenir un développeur indépendant prospère

Omega J Msigwa | 26 avril, 2022

Introduction

Freelance est l'un des domaines qui méritent d'être discutés dans MQL5, car de nombreux développeurs aimeraient tirer profit de leur capacité à coder et d'autres aimeraient également le défi et l'expérience. Ce sont les points de vue qui ont été organisés selon moi et avec d'autres expériences réussies et infructueuses en matière de travail indépendant. En partageant ces expériences, cet article vise à améliorer n'importe qui sur son chemin pour devenir un meilleur programmeur freelance. Dans cet article, vous verrez ce qui a fonctionné et ce qui n'a pas fonctionné pour moi et pour les autres, juste pour vous donner un aperçu de votre parcours d'indépendant.

devenir freelancer à succès en MQL5

 

" Ne faites pas la moitié de l'effort à moins que vous soyez d'accord avec la moitié des résultats "

Table des matières

  1.  Ne postulez pas pour un emploi que vous ne connaissez pas
  2.  Faites des recherches
  3.  Évitez de mettre trop de travail sur votre client
  4.  Restez sur MQL5.com
  5.  Évitez de parler technique à vos clients
  6.  Soyez honnête avec vous-même et vos clients
  7.  Commencez avec un code propre
  8.  Vous n'êtes pas seulement un codeur mais aussi un solutionneur de problèmes
  9.  Méfiez-vous des clients qui essaient de vous déjouer
  10.  Fait le bien
  11.  Choisissez-en quelques-uns
  12.  Devenez leur ami

01 : Ne postulez pas pour un emploi que vous ne connaissez pas

Ne postulez pas pour un emploi dont vous ne savez pas comment vous allez le faire, simplement parce que le prix est élevé. Étant donné que l'argent est doux et que je pense que c'est la première raison pour laquelle vous avez décidé de devenir développeur indépendant, il est facile de se laisser convaincre de penser que vous allez comprendre et régler les choses en cours de route. D'après mon expérience, cet état d'esprit ne fonctionne pas dans le freelance, en particulier pour les clients sérieux qui savent exactement ce qu'ils recherchent et pour les emplois avec des délais serrés.

Vous voyez, la plupart des domaines de la programmation nécessitent beaucoup de travail et d'efforts pour apprendre à les maîtriser, alors penser que vous allez apprendre quelque chose et être capable de le mettre en œuvre efficacement pendant plusieurs heures est dégoûtant.

Le deuxième travail que j'ai effectué en freelance était de créer plusieurs indicateurs, d'en convertir certains de MQL4 à MQL5 et de créer un Expert Advisor qui les utilise tous. Le travail n'était que de 30 $, mais j'ai décidé de le prendre. Honnêtement, je savais que les indicateurs qu'il voulait allaient être difficiles à créer pour moi après qu'il m'ait entièrement expliqué toute la logique et ce qu'il voulait sur la section de discussion du travail parce que j'étais un noob sur le sujet des indicateurs (jusqu'à aujourd'hui), parce que je ne les apprends pas, ne les code pas ou ne les utilise pas. Après avoir accepté ce travail, j'ai fini par exécuter le travail en 81 jours.

long temps d'exécution des travaux MQl5 freelance

Si nous calculons combien j'étais payé par jour pendant tout ce temps.

30 / 81  = 0.37 $

Je gagnais 37 cents par jour pendant tout ce temps. Quelle perte de temps ! Je sais que 81 jours semble long, mais croyez-moi quand je dis que vous ne le ferez pas tous les jours. Il y a eu des semaines où je n'ai rien fait parce que c'était dur et ennuyeux et que ce n'était pas quelque chose que je voulais faire. Je ne voulais pas non plus d'arbitrage parce que j'avais fait une erreur en acceptant le travail et que je voulais le finir quoi qu'il arrive.

Si vous voyez un travail sur un certain sujet que vous ignorez et que vous voulez apprendre, notez-le et apprenez en le faisant en dehors du travail sur vos routines d'apprentissage normales. Le même travail apparaîtra probablement à l'avenir.


02 : Faites des recherches.

Je suis tout à fait d'accord avec mon ami Abdul Wahab qui est un récent développeur à succès quand il me l'a dit.

conversation entre abdul wahab et omega joctan


Vous comprendrez peut-être en quoi consiste le travail d'un coup d'œil, mais vous ne pourrez pas tout comprendre aussi facilement. C'est pourquoi c'est toujours une bonne idée de rechercher les exigences de chaque emploi pour lequel vous essayez de postuler. Cela pourrait vous aider à comprendre le travail que vous essayez de faire en détail, vous serez également équipé des bonnes informations qui vous aideront à répondre aux questions qu'un client sérieux peut vous poser pour vous assurer que vous êtes la bonne personne qui comprend le travail.

Par exemple :

exemple de cahier des charges


Avant d'essayer de se précipiter pour un tel travail car cela semble facile et le prix est élevé, faites des recherches simples pour identifier ces deux choses importantes :

  1.  Est-il possible pour moi d'implémenter ce qu'un client veut, selon mon expérience avec MQL5 ou MQL4
  2.  Est-ce que ça vaut le coup (l'expérience et l'argent).

Faire des recherches ne signifie pas nécessairement rechercher uniquement sur Google. Cela signifie également essayer par vous-même par la pratique et la réflexion critique sur le résultat.


03 : Évitez de mettre trop de travail sur votre client

Regardons ce message sur le forum sur lequel je suis tombé la semaine dernière https://www.mql5.com/fr/forum/371968

Tout a commencé ici :

développeur irresponsable sur freelance exemple MQL5


Il est insensé pour un médecin de vouloir connaître pleinement la maladie et son traitement auprès d'une personne ignorant le traitement. La même chose qu'un développeur qui veut savoir pourquoi le code ne fonctionne pas comme prévu par un client.

J'aime la façon dont Fernando Carreiro a répondu au sujet lorsqu'il a dit


Fernando carreiro répond au développeur irresponsable Mql5 freelance


Si un client peut rechercher par lui-même et découvrir ce qui ne va pas, alors il n'est pas nécessaire de faire appel à un développeur si vous tombez sur un problème que vous ne pouvez pas résoudre en tant que développeur. Pensez à quel point cela pourrait être difficile pour un client. En fait, que peut faire un client avec une réponse s'il la connaît et se rend compte qu'il s'agit d'un problème lié au codage ?

Assumez l'entière responsabilité de tout ce qui arrive au travail de votre client, car c'est ce que vous êtes là pour faire et c'est vous qui avez postulé pour le poste, pas un client.


04 : Restez sur MQL5.com

Il arrive plusieurs fois dans le freelance que des personnes publient des offres en dehors du périmètre de MQL5.com. Des travaux tels que la conversion d'un script de pin, le système de licence Web EA et bien d'autres liés à ceux-ci. Je ne vous recommande pas de prendre ces types d'emplois à moins que vous ne soyez un expert dans ces domaines et c'est ce que vous voulez faire en freelance MQL5.

Ces emplois ont souvent moins ou pas de concurrence dans la mesure où vous pourriez être tenté d'apprendre ces domaines afin de devenir l'une des rares personnes à occuper ces emplois la prochaine fois.

Ces emplois ne valent pas la peine d'être acceptés, quel que soit leur prix.

Voici pourquoi

Puisqu'ils sont en dehors du langage de programmation MQL5.com (MQL5, MQL4 et Python), ils vous demandent d'apprendre quelque chose de nouveau. En tant que développeur web également, je ne vous recommanderais pas de vous renseigner sur tous les frameworks, bibliothèques, etc. que vous pourriez rencontrer car ils sont trop nombreux, sans compter que ces types d'emplois sont si rares dans la section freelance qui c'est une mauvaise idée d'apprendre quelque chose que vous allez utiliser de temps en temps.

Une autre chose est que ces travaux ne se terminent pas uniquement par l'écriture de code, ils nécessitent un travail supplémentaire. Par exemple :

Licence d'un Expert Advisor dans un exemple de formulaire de serveur Web que je vous ai donné auparavant.

Si vous optez pour une solution complète, vous aurez besoin d'un environnement d'hébergement sur le cloud pour héberger une base de données sécurisée comme PostgreSQL (l'hébergement n'est pas gratuit, gardez cela à l'esprit), vous devrez lire et écrire de la base de données, quelque chose qui peut nécessiter des frameworks web backend supplémentaires comme Flask, express ou Node js… et de nombreux processus entre les mesures de sécurité et l'efficacité.

Longue histoire courte.

Après toutes les implémentations, il se peut que cela ne fonctionne toujours pas du tout ou comme vous le souhaitez sur les plateformes MetaTrader.


05 : Évitez de parler technique à vos clients

90 % des clients indépendants ne connaissent rien au code ou aux types de choses techniques impliquées dans le trading et les systèmes de trading automatisés. Donc, vous voulez toujours éviter de paraître technique lorsque vous essayez de leur expliquer quelque chose que vous leur avez fait. Utilisez toujours un langage amical et qu'ils connaissent déjà, et votre langage d'expression doit expliquer directement ce qu'ils veulent et comment vous les aiderez à y parvenir.

Exemple de la mauvaise façon d'avoir une conversation avec un client :

Mauvais exemple de conversation avec un client sur Mql5 freelance

(Cette conversation n'est pas réelle à 100 %, j'ai modifié une partie du texte dans Photoshop)

Dites et montrez à vos clients ce qu'ils veulent respectivement entendre et voir, ni plus ni moins. Cela vous rendra encore plus apprécié car vous semblerez les comprendre en parlant la langue qu'ils connaissent

Exemple de bonne conversation avec un client.

bonne conversation avec un client exemple

(Cette conversation n'est pas non plus réelle à 100%, j'ai édité sur Photoshop)

Ne parlez jamais à vos clients comme s'il s'agissait de votre collègue développeur ou de quelqu'un à qui vous essayez d'apprendre à coder.


06 : Soyez honnête avec vous-même et vos clients

C'est la partie la plus difficile pour la plupart des développeurs. Quand je dis que vous devez être honnête avec vous-même, je veux dire que vous devez être honnête avec les prix que vous proposez lorsque vous postulez pour un certain emploi et le nombre de jours pendant lesquels vous êtes prêt à fournir un certain travail sur le freelance.

Il est facile de gagner la bataille de demander le prix le plus bas et le délai le plus court possible. Mais c'est le meilleur moyen de réduire votre valeur, ce qui vous conduira inconsciemment à des emplois moins précieux et à des clients sensibles aux prix. Tout ce que je peux dire, c'est que ce type d'emplois n'a pas une belle fin la plupart du temps.

Je n'encourage pas de proposer des prix plus élevés sans raison valable (ne vous méprenez pas). Mais je pense que c'est une bonne chose pour vous d'évaluer le travail et le temps qu'il pourrait vous prendre. Si vous pensez que le travail vaut 100 $, qu'il en soit ainsi. Je pense que les développeurs MQL5 y ont pensé, c'est pourquoi ils nous ont donné, à nous développeurs, une chance de postuler avec le prix que nous pensons que le travail vaut en dehors d'un prix client.

Je me souviens une fois, j'ai postulé pour un emploi pour ajouter des réseaux de neurones à un Expert Advisor déjà créé. Le prix qu'un client était prêt à payer était de 50 $ à 300 $. J'ai demandé 250 $ pour 3 jours. J'ai ensuite été rejeté par le client, j'ai réalisé qu'il était honnête après m'avoir envoyé le message qui ressemblait.

" Je suis désolé de ne pas pouvoir travailler avec vous, je vais chercher un codeur avec la meilleure offre, j'en ai déjà trouvé un "

J'étais curieux de savoir quelle était l'offre qui avait gagné le client alors, j'ai demandé quelle était l'offre, et le client a répondu

« Il a dit 40$ et il va livrer le travail aujourd'hui ».

L'offre m'a fait sentir un programmeur incompétent. Mais à ma grande surprise, une semaine plus tard, j'ai reçu une notification dans la section emploi indiquant que le client cherchait un autre développeur pour terminer le travail. Je ne sais pas pourquoi le travail s'est terminé en arbitrage, mais quelque chose s'est mal passé.

Ce n'est pas une bonne idée pour vous de devenir l'option la moins chère et la plus rapide juste pour être embauché dans les emplois les plus difficiles que vous allez regretter tôt ou tard.

Quand je dis être honnête avec votre client, je veux dire dites-lui ce dont vous êtes capable et ce qu'il doit attendre de vous, dites-lui quand vous ne semblez pas comprendre ce qu'il veut que vous fassiez. Être honnête vous aidera à gagner la confiance de vos clients puisque vous leur montrez que vous êtes ce développeur ouvert en qui ils peuvent avoir confiance.


07 : Commencez avec un code propre

NE créez PAS un exemple de logiciel inutile juste pour le démontrer à vos clients afin qu'ils puissent vous embaucher immédiatement. Ne codez pas rapidement les choses juste pour terminer le travail et passer à d'autres tâches. Cela incitera vos clients à vous éviter comme un enfer la prochaine fois, au moment où ils se rendront compte que le produit que vous avez créé pour eux est de la merde.

Peu importe à quel point un travail peut sembler petit, faites-le toujours comme si vous n'aviez plus l'occasion de le refaire. Veuillez considérer les meilleures implémentations de code et écrire du code qui gère les exceptions au cas où cela se produirait et le plus important de tous, déboguez-le.

Écrivez du code propre du début à la fin.

Aussi, ne vous perdez pas en écrivant du code non propre juste pour démontrer un produit et en pensant que vous allez le nettoyer plus tard. C'est une mauvaise habitude qui peut conduire à un produit de mauvaise qualité car vous risquez d'oublier de le nettoyer lorsque vous atteignez la fin des travaux.


08 : Vous n'êtes pas seulement un codeur mais aussi un solutionneur de problèmes

En tant que développeur, vous êtes plus expérimenté que votre client à bien des égards. Vous n'avez pas seulement à coder le programme selon des spécifications de travail données, vous devez également aider vos clients en leur suggérant quelles pourraient être les meilleures façons d'obtenir les résultats souhaités.

Par exemple, vous pouvez suggérer l'utilisation de l'indicateur ATR pour définir des objectifs de trading (Stoploss et TakeProfit) plutôt que des objectifs génériques. 

Vous pouvez parfois vous sentir libre de leur dire quand vous pensez qu'ils prennent une mauvaise décision et suggérer de meilleures choses qu'ils devraient essayer pour obtenir le type de produit qu'ils veulent, par exemple, vous pouvez suggérer à un client d'avoir des règles de gestion de l'argent dans son Expert Advisor lorsque vous remarquez qu'il n'en a pas.

Dire à votre client que son idée est stupide est le meilleur moyen de se retrouver en arbitrage et un moyen sûr d'avoir zéro (0) client pour travailler avec vous la prochaine fois en freelance, évitez de le faire.

Soyez prudent avec vos solutions et opinions. Assurez-vous qu'ils ne s'écartent pas trop de ce que le client voulait initialement. Tenez-vous en à ce qu'ils veulent déjà.

Assurez-vous également que vous ne garantissez pas que vos méthodes peuvent conduire à des transactions rentables et à des rendements plus élevés sur une courte période. Vous devez toujours vous en tenir au côté développeur tout en reconnaissant le côté commerçant.


09 : Méfiez-vous des clients qui essaient de vous déjouer

Il y a plusieurs fois où vous rencontrerez des clients qui semblent mieux comprendre votre travail que vous. Certains d'entre eux peuvent être des collègues développeurs ou quelqu'un qui a quelques connaissances en codage à partir d'un autre langage ou quelque chose du genre.

Pour des raisons étranges, certains de ces clients voudront vous déjouer en vous disant ce que vous devriez faire ou ce que vous ne devriez pas faire en dehors des spécifications de travail. Quelque chose comme les fonctions que vous devez coder, les bibliothèques que vous devez utiliser, etc.

Puisqu'ils sont vos clients dans le travail particulier, vous ne devriez pas les ignorer, peut-être qu'ils ont raison, mais assurez-vous qu'ils ne vous dissuadent pas de faire la bonne chose parce que vous ne pouvez pas être sûr s'ils savent ce qu'ils veulent que vous fassiez .

Imaginez un médecin essayant d'opérer le patient, dès qu'il commence à se laver les mains, le patient éclate en disant à un médecin "Vous n'avez pas besoin de faire toutes ces petites choses, faites simplement l'opération, ça ira ". Je crois que le médecin connaît les conséquences de ce qu'il fait, c'est donc lui qui devrait avoir le dernier mot sur ce qu'il est censé faire.

Il y a beaucoup de choses à coder qui ne contribuent pas directement au trading mais elles rendent nos programmes faciles et sûrs à utiliser qu'un client moins averti peut vous demander de ne pas les inclure dans son programme.

Chaque fois qu'un client vous dit de ne pas faire quelque chose ou de le faire dans l'autre sens, dites-lui la signification de ce que vous faites et demandez-lui pourquoi vous ne devriez pas le faire. Il en va de même lorsqu'un client vous dit de faire quelque chose que vous ne pensez pas nécessaire, si vous n'êtes pas tous les deux d'accord avec cette situation, donnez un avertissement avant de faire ce que le client veut.


10 : Faites-le bien

Je crois que c'est la chose la plus importante pour tout programmeur qui veut devenir un freelance prospère à long terme.

Si vous faites bien votre travail, vous serez remarqué par les clients et il arrivera naturellement que vous obteniez beaucoup de clients.

Ce n'est pas seulement à cause d'un bon CV et d'une note de développeur que votre profil affichera, mais aussi les clients voudront retravailler avec vous et ils sont plus susceptibles de vous référer à leurs amis car aucun client ne veut prendre le risque d'être en freelance aveuglément à la recherche de la bonne personne pour faire son travail.

En parcourant tous les développeurs indépendants qui ont réussi, je n'ai vu personne qui ne fasse pas bien son travail.

Assurez-vous de faire de votre mieux dans n'importe quel travail qui vous est offert et vous serez en avance sur la majorité des développeurs qui se concentrent uniquement sur la finition du travail.


11 : Choisissez-en quelques-uns

"Vous n'avez qu'à faire quelques bonnes choses dans votre vie tant que vous ne faites pas trop de mauvaises choses."
-- Warren Buffett

Postuler/accepter trop d'emplois à la fois réduira votre efficacité dans la livraison du travail et la communication avec un client, vous serez plus susceptible d'abandonner tout travail qui ne semble pas bien se passer ou qui ne répond pas attentes puisque vous aurez trop d'options.

La limite pour postuler aux emplois de la section freelance est de 10 par 24 heures. J'ai su que le premier jour où j'ai essayé le freelance, j'ai postulé à 10 emplois dans l'espoir d'en obtenir au moins 8 d'entre eux. Pendant ce temps, je voulais gagner rapidement de l'argent cette semaine-là, alors j'ai voulu essayer d'être indépendant. En conséquence, j'ai été rejeté dans chacun d'eux. J'ai été embauché les jours suivants après avoir changé mon approche lorsque j'ai postulé pour un seul emploi.

Qu'est ce qui ne s'est pas bien passé ?

Comme j'ai postulé pour trop d'emplois, je n'ai pas pu m'engager auprès d'un client et le convaincre que j'étais la bonne personne pour le poste, car je n'avais pas non plus de CV pour me retenir. Le même long texte technique que j'ai envoyé à tous les clients pour les convaincre n'a pas fonctionné.

Cela ne concerne pas uniquement les demandes d'emploi, cela compte encore plus pour le travail pour lequel vous êtes embauché, c'est une bonne habitude d'accepter quelques emplois, voire un à la fois. Terminez cela en premier, puis passez à l'autre travail. Cela conduit à une livraison de haute qualité plutôt qu'à une livraison en grande quantité de produits de mauvaise qualité dont aucun client ne veut.

Choisir quelques-uns ne consiste pas seulement à choisir quelques emplois, mais cela s'applique également au choix des types d'emplois que vous allez traiter,

J'ai parlé de spécialisation dans la plupart de mes articles en tant que programmeurs, donc quand il s'agit de freelance, vous devez également choisir des emplois spécialisés dans les domaines dans lesquels vous êtes doué et que vous souhaitez encore améliorer.

12 : Devenez leur ami

Il n'y a pas d'entreprise prospère sans clients fidèles qui achètent fréquemment leurs biens ou leurs services.

Si vous voulez être un freelance prospère, à long terme, vous devez envisager d'établir des relations amicales avec vos clients et leur permettre de vouloir vous embaucher plus facilement la prochaine fois. 

J'espère que vous pourrez comprendre cela dans la vraie vie, où la majorité des choses que vous achetez, des services que vous utilisez et des endroits où vous allez sont ceux en qui vous avez confiance. Vous êtes plus susceptible d'acheter dans la boutique d'un ami que dans celle d'un étranger. 

Vous pouvez facilement vous lier d'amitié avec votre client en l'ajoutant à votre liste d'amis disponible sur votre profil MQL5. Vous pouvez également leur faire savoir que vous êtes disponible pour eux chaque fois qu'ils souhaitent vous embaucher.

Facilitez-leur l'embauche en créant un lien d'embauche préféré dans ce format  https://www.mql5.com/fr/job/new?prefered=yourusername


Conclusion

Voilà pour cet article. Je crois que vous avez acquis quelque chose de positif qui vous aidera à devenir un Freelance prospère. N'hésitez pas à ajouter des perles de sagesse qui vous manqueraient dans cet article.