Les compétences

Publié le par Thibault Houdon (mis à jour le )
paceTemps de lecture estimé : 7 minutes

Avoir des bases solidesformat_paragraph

Ç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.

Se spécialiserformat_paragraph

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.

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.

Les domaines en forte demandeformat_paragraph

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.

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.

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 ?

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.

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 😉