Les compétences
Image de l'article

Les compétences

Publié le 07 mars 2022 par Thibault Houdon
Avoir des bases solides

Ça peut paraître évident, mais il faut savoir qu'on n'a pas besoin d'être expert dans un domaine pour se lancer en freelance. Un freelance (comme un développeur en général) va passer une grande partie de son temps à chercher ou se former sur des sujets qu'il ne maîtrise pas à 200%.

Cependant : il est très important d'avoir des bases très solides. Sachant que vous allez déjà passer du temps sur des sujets pointus pour lesquels vous serez amené à faire des recherches, vous ne pouvez pas en plus passer votre temps à revoir des concepts de base.

La maîtrise des concepts de base fera également en sorte que le code que vous produisez sera de bonne qualité et facile à maintenir.

Maintenant, qu’est-ce que j’entends par « concepts de base » ?

Au-delà bien entendu de tous les concepts que vous devez absolument maîtriser (variables, structures de données, fonctions, programmation orientée objet), il s’agit surtout de maîtriser les concepts plus théoriques comme la gestion de la mémoire, les principes SOLID ou encore les tests unitaires.

Ces concepts vous paraissent peut-être déjà avancés mais ils sont absolument essentiels si vous souhaitez produire du code professionnel que vous pourrez vendre en freelance. Il ne s’agit pas ici de compétences spécifiques sur un framework qui peuvent changer en fonction des versions ou mises à jour du framework.

Il s’agit de concepts fondamentaux de la programmation que vous retrouverez peu importe la mission que vous allez effectuer.

Se spécialiser

Quand une boîte va chercher un freelance elle va le chercher pour un besoin précis.

Il y a des exceptions bien sûr : il existe des missions pour lesquelles un généraliste est recherché. Mais par expérience, ces missions sont bien souvent celles qui paient le moins bien et provenant de clients difficiles.

Pourquoi ? Tout simplement parce qu'il s'agira souvent de clients qui ne savent pas vraiment ce qu'ils veulent. Pensez à un commerçant qui souhaite avoir un site web pour son activité, ou un médecin qui aimerait un logiciel pour gérer sa clientèle.

Ces clients ne sont pas développeurs de base : ils ne connaissent donc rien au domaine et ils veulent juste un résultat.

C'est généralement ces clients qui seront réticents à payer un développeur plus de 300€ / jour et qui ne comprendront pas les contraintes du métier de dev.

Le 2e cas de figure dans lequel vous pourrez obtenir des missions sur des compétences généralistes est lui bien plus intéressant mais beaucoup plus difficile à obtenir.

Il s'agit de clients qui vont chercher des freelances sur le long terme. C'est le genre de clients qu'on aime bien avoir car ils nous assurent généralement un niveau minimum stable de revenu. Attention cependant à ne pas tomber dans le salariat déguisé. Vous devez rester maître de votre temps et ne pas tomber dans une logique de subordination.

Mais ces clients existent et je connais de nombreux développeurs qui travaillent depuis parfois plusieurs années pour le même client. Les avantages sont multiples : - Vous n'avez pas besoin d'aller tout le temps à la recherche de nouveaux clients - Vous n'avez pas besoin de repartir à 0 à chaque fois sur un projet (peut être vu comme un désavantage) - Vous pouvez littéralement travailler 10 à 20h par semaine et avoir le salaire d'un CDI de 35h

Ce genre de client, vous l'aurez compris, c'est un peu la perle rare. On les repère rapidement car ils discutent rarement les prix et sont avant tout intéressé par le résultat. Vous vous demandez peut-être quel est l'intérêt pour eux ? Plusieurs raisons : - Faire appel à un freelance est beaucoup plus simple que d'embaucher quelqu'un en CDI (surtout en France). - Avec un seul freelance qui fait tout, on n'a qu'un seul point de contact : plus facile pour faire des retours, vérifier l'avancée du projet. - Un seul freelance qui fait tout, ça permet aussi une meilleure cohérence. Si vous embauchez 5 freelances et que tous les 2 mois vous en avez un qui part et que vous devez remplacer, le projet risque d'en souffrir.

Les domaines en forte demande

Si vous êtes en train de lire cet article, c'est que vous souhaitez faire du freelance avec le langage Python.

Comme vous le savez déjà, Python est un langage polyvalent qui permet de répondre à de nombreuses demandes.

Vous trouverez ainsi sur les sites de freelancing des demandes dans de nombreux domaines. Certains domaines sont cependant plus accessibles que d'autres. Des domaines comme le Machine Learning ou la Data Science sont en forte demande mais nécessitent également des compétences solides et parfois au-delà de Python (compétences en mathématiques et statistiques par exemple).

Les compétences qu'on recherche le plus en freelance sont les suivantes :

  • Web
  • Data Science
  • Scripting / automatisation

Web

Pour le web, là encore l'amplitude des contrats est assez grande. Certains contrats vous demanderont de réaliser à la fois le front-end et le back-end ("full-stack"), d'autres contrats vous demanderont des compétences très spécifiques de back-end sur un framework précis (par exemple on peut vous demander de rajouter une couche d'API avec Django Rest Framework sur un projet Django existant).

L'intérêt du web, c'est qu'on peut assez facilement se spécialiser et ainsi rester dans sa zone de confort.

Si vous mettez toute votre énergie dans l'apprentissage du back-end avec un framework en demande (comme Flask ou Django), vous deviendrez assez vite expert de votre sujet et pourrez augmenter votre TJM assez facilement.

Data Science

Pour la data science, c'est un peu quitte ou double. Certains clients recherchent des développeurs qui vont, en plus de pouvoir analyser des données, créer des modèles de machine learning et de prédiction avancés.

La première chose à regarder dans ce genre de missions c'est donc le spectre de compétences nécessaires. Est-ce qu'on parle uniquement du traitement d'un jeu de données spécifique, est-ce qu'on parle de traitement pur ou d'analyse, est-ce qu'on vous demande d'automatiser le traitement des données futures ?

À l'inverse, vous trouverez bon nombre de missions indiquées comme "data science" qui ne nécessitent que très peu de compétences d'analyse ou de statistiques.

De nombreuses entreprises récoltent ou traitent des données de façons sporadiques. Vous trouverez ainsi beaucoup de contrats qui peuvent être très simplement réalisés avec quelques lignes de code, pour par exemple nettoyer un jeu de données ou extraire une information spécifique. On se rapproche dans ce type de missions plus du scripting que de la data science pure et dure.

Scripting / automatisation

Pour ces contrats, on rentre vraiment dans ce qui fait la force de Python. Il s'agit bien souvent de contrats sur lesquels vous devrez effectuer une tâche ponctuelle répondant à un besoin précis.

👉 Mettre des exemples.

C'est généralement ce genre de clients qui peuvent vous recontacter souvent pour effectuer des missions courtes. Je vous conseille grandement de mettre de l'avant auprès de ces clients vos capacités de débrouillardise. Il est plus que probable que vous identifiez au cours de votre mission d'autres aspects du domaine d'activité de votre client que vous pourriez automatiser ou améliorer avec du code. N'hésitez pas à lui en faire part, il pourrait faire appel à vos services de nouveaux plus vite que vous ne le pensiez 😉

Réservé aux membres abonnés

Inscris-toi

Pour pouvoir prendre des notes et ajouter des favoris tu dois être abonné à Docstring.

Voir les formules

Bravo, tu es prêt à passer à la suite 👏

Fête

Tu as complété % du parcours.

Mes notes

Sauvegardé

Passages surlignés

Besoin d'aide ?

Essaie d'être le plus exhaustif possible en donnant suffisamment de détails pour qu'on puisse te répondre du premier coup 😉

Tu peux également visionner cette vidéo dans laquelle je t'explique comment poser ta question correctement et utiliser l'éditeur.

Tu souhaites nous remonter un bug ? Utilise-plutôt ce formulaire.

Cette fonctionnalité est réservée aux membres de la formule accompagnement de Docstring.

Aucun résultat.

Un problème sur le site ?

Aide-nous à améliorer Docstring en nous signalant un problème que tu as rencontré.

Que ce soit un bug sur une fonctionnalité ou une erreur dans une formation, on va pouvoir le corriger rapidement 😉

Page concernée

M'avertir par e-mail

Je veux être averti par e-mail lorsque ce bug est corrigé.