Sam & Max » job http://sametmax.com Du code, du cul Sat, 07 Nov 2015 10:56:13 +0000 en-US hourly 1 http://wordpress.org/?v=4.1 Quel niveau peut-on exiger à l’embauche en Python ? 16 http://sametmax.com/quel-niveau-peut-on-exiger-a-lembauche-en-python/ http://sametmax.com/quel-niveau-peut-on-exiger-a-lembauche-en-python/#comments Tue, 08 Jul 2014 07:19:49 +0000 http://sametmax.com/?p=11340 J’ai répondu récemment à une question sur le niveau qu’on pouvait attendre d’un professionnel en Python. La réponse était en anglais, alors je me fends d’une petite traduction ici.

Cela dépend beaucoup du niveau Python dont la boîte a besoin, et s’ils accordent plus d’importance à celui-ci ou à ta capacité générale à résoudre des problèmes et tes connaissances générales informatiques.

Pour répondre à ta question, je vais ignorer ces deux points puisqu’ils ne sont pas particulièrement liés à Python. Il y a plein d’articles de blog sur ces sujets sur le Web.

En Python, un dev standard devrait :

  • être capable d’écrire du code Pythonique (style idiomatique, syntaxe PEP8…).
  • connaître la stdlib et l’écosystème de Python. Par exemple n’avoir aucun problème avec pip, virtualenv, datetime, os.path, hashlib, uuid, csv, pdb, json, et toutes les collections y compris celles qu’il y a dans le module éponyme ou les sets.
  • connaître les bases de la POO. L’héritage, l’overloading, les propriétés, la composition, etc.

Un développeur Python avancé devrait être capable d’écrire des libs agréables, et donc :

  • être à l’aise avec les générateurs et yield.
  • pouvoir écrire son propre décorateur.
  • pouvoir écrire son propre context manager.
  • pouvoir écrire son propre descripteur.
  • savoir gérer l’héritage multiple, l’injection de dépendance, etc.
  • pouvoir faire une lib de A à Z, incluant un API flexible et extensible, le packaging et la documentation.
  • savoir mettre en place des tests unitaires.

Un expert Python devrait :

  • connaître la plupart des libs tierces parties et frameworks pour la plupart des tâches, leurs qualités et leurs défauts.
  • pouvoir créer sa propre métaclasse.
  • être à l’aise avec l’introspection.
  • savoir contourner la plupart des faiblesses de Python : le GIL, les API bloquantes, créer soit-même un code non bloquant, créer un code compatible V2 et V3, etc.
  • être capable de prendre un projet sans doc, lire le code source, trouver son problème, et le résoudre via monkey patch tout en proposant un patch propre upstream.
  • savoir utiliser des modules difficiles ou peu connus comme heapq, inspect, nmap, etc.

Selon ton domaine, tu auras également peut-être besoin d’être capable :

  • de gérer plusieurs implémentations de Python.
  • d’écrire une extension C.
  • de maîtriser des libs spécifiques comme numpy, scrapy, opencv, etc.

Vous noterez que je n’ai pas mis des évidences comme savoir faire une fonction ou une boucle for. Évidemment qu’il faut savoir écrire du code basique sinon on ne sert à rien.

Gardez aussi en tête que chaque entreprise est différente, et donc peut avoir des besoins qui se situent n’importe où dans l’échelle ci-dessus.

Mais surtout, les connaissances dans un langage, bien qu’importantes, ne sont pas la priorité. Un langage, ça s’apprend. Être une personne qui résout les problèmes, communique, travaille bien en équipe et satisfait les clients, c’est plus difficile à former.

Par ailleurs, il n’existe pas de job avec juste du Python. Un dev backend devrait sans doute aussi travailler avec une base de données, faire du sys admin ou du réseau. Un dev d’UI devra gérer des problématiques multi-plateformes, de l’ergonomie, du packaging avancé. Un dev scientifique devra peut-être écrire du C ou du Fortran. Un dev Web est tenu de gérer le JS/CSS/HTML. Et il y a aussi les outils autour : bug tracking, versioning, peer review, etc.

Bref, dire seulement “je suis bon en Python” ne suffit pas à convaincre quelqu’un qu’il doit vous embaucher.

]]>
http://sametmax.com/quel-niveau-peut-on-exiger-a-lembauche-en-python/feed/ 16
Comment trouve-t-on des clients en freelance ? 22 http://sametmax.com/comment-trouve-t-on-des-clients-en-freelance/ http://sametmax.com/comment-trouve-t-on-des-clients-en-freelance/#comments Wed, 11 Jun 2014 02:16:43 +0000 http://sametmax.com/?p=10445 Ça faisait longtemps que je n’avais pas publié le courrier des lecteurs. Voici un mail que j’ai reçu et la réponse envoyée (avec une ou deux corrections).

Comment trouve-t-on des clients en freelance ? Vous avez surfé sur le réseau du job précédent, ou la demande est telle qu’il suffit de s’inscrire en tant que dev python dans les pages jaunes ?

Hello,

Je depop les emails datant de mars en juin :)

Pour trouver des clients en tant que freelance :

– utiliser le carnet d’adresse de sa boîte précédente. Ça suppose un travail régulier à garder le contact avec les interlocuteurs qu’on a avec les clients externes, demander les numéros/emails directes, les postes, etc. L’important est de bien être transparent et de ne pas essayer de choper des contrats qui auraient été donnés à son ancienne boîte. Il faut être un complément sur les projets en cours, ou prendre les projets que les autres ne prennent pas. Ça ne peut pas se faire a posteriori, ça se prépare pendant son séjour dans la boîte, et ça suppose une démarche semi-commerciale une fois qu’on est dehors.

– aller aux événements/lieux sociaux tech. Tout ce qui est conférences (type la cantine, NUMA), salons (type PyConFR, Djangocong), soirées à thème (on peut les organiser soi-même), petit dej entrepreneur (type open coffee), associations (type hackerspace, fablab). Faire sa review, découvrir de nouvelles technos et les partager avec les autres (proposer une présentation, un tuto, un workshop, etc), ça créé des liens.

– créer un site, avec son CV, un tweeter, et scanner régulièrement la recherche tweeter pour des demandes. Il y en a une chiée.

– faire toutes les semaines un tour des annonces sur les dizaines de sites d’offre d’emploi. Même si une offre ne demande pas un freelance, proposer quand même. Même si l’offre est à l’étranger (proposer de bouger, ou télétravail). On finit toujours pas trouver un truc, mais même quand on en trouve pas, ça fait des contacts. Google est ton ami. Les RSS aussi. Tu es dev, dev un script qui ratisse large et récupère pour toi toutes ces infos et en fait la synthèse.

– prétendre qu’on est freelance depuis longtemps. Demander à des amis de mentir pour soit en ce faisant passé pour un référent dans un boîte et donner son numéro. Je suis très sérieux.

– ton compte github peut être un bon CV, le mettre en avant.

– on est pas obligé de quitter sa boîte pour être freelance. Le status auto entrepreneur est cumulable avec un travail à plein temps (prendre des missions courtes et travailler le we) ou mi-temps (pour se lancer). On est pas obliger de faire le grand saut d’un coup.

@+

Sam

On entend souvent dire “construisez votre réseau”, “faites marcher votre réseau”, mais la réalité c’est que la plupart des gens n’en ont pas et ne savent pas comment en construire un. C’est pour ça qu’il faut attaquer sur deux tableaux : les annonces en ligne (assez facile, contrats moins sympas, mais permet de ternir à court terme et boucher les trous) et les événements sociaux (plus dur, mais meilleurs résultats sur le long terme).

Si vous arrivez à travailler pour une niche (informatique pour pharmaceutique, gestion de projet industriel automobile, booking, etc), il est beaucoup plus facile de démarcher ensuite dans cette niche. N’hésitez donc pas au début à vous spécialiser dedans.

Ça fait écho à l’article Où trouver un Job ou une mission Python / Django ?, même si il faudrait que je fasse un dossier complet là dessus un jour avec :

  • Où et comment chercher les annonces.
  • Comment créer un CV.
  • Comment établir des contacts commerciaux aux événements sociaux.
  • Contacter un client potentiel/
  • Comment mener le premier entretient avec un client, puis le second.
  • Comment conclure avec sa proposition commerciale
  • Comment faire sa veille techno et rendre son profile toujours plus intéressant.
  • Comment se mettre en avant en général et donner envie en tant que dev.
  • Comment établir un devis, facturer, combien, pour quoi, etc.
  • Comment recruter un dev.
  • Comment gérer un dev.
  • Comment gérer un projet : côté dev et côté client.

Comme d’hab, tout ceci est prévu pour après 2038, un jeudi, vers 16h47.

Mais ça serait intéressant, surtout que sur le Web ont dit à tout le monde de jouer franc jeu, d’être un bon garçon, etc, alors que clairement c’est un jeu de dupe et vous serez gagnant en trichant. Pas en bossant pas, attention, faut fournir le taff pour lequel on est payé, mais “soyez-vous même” est le conseil le plus débile que le cinéma et votre maman vous ait donné quand il s’agit de maximiser ses chances de plaire (dans le job et dans d’autres domaines).

]]>
http://sametmax.com/comment-trouve-t-on-des-clients-en-freelance/feed/ 22
Les annonces hypes 17 http://sametmax.com/les-annonces-hypes/ http://sametmax.com/les-annonces-hypes/#comments Sat, 24 May 2014 04:04:10 +0000 http://sametmax.com/?p=10318

Nous sommes une start up innovante

on a pas de business model

à fort potentiel

c’est ma première boîte et ma mère me dit que j’ai toutes mes chances

travaillant à la pointe de la pointe de la technologie

mon dernier dev a créé un projet NodeJS sans documentation ni commentaire et s’est barré

en utilisant des méthodes agiles.

on a pas de cahier des charges ni de formation à l’embauche

Nous somme à la recherche d’un dev ninja passionné et autonome

on veut un mec qui travaille 80 heures / semaine pas cher à payer

capable de mener le projet de bout en bout.

je ne sais pas parler au client, coder ou même conduire un projet. Je ne sais rien faire. Je ne sert à rien. J’ai juste eu une idée un soir d’apéro. A l’aide.

Vous serez en mesure de travailler avec Linux, HTML5, Postgres, Flask, NodeJS, Coffeescript, MongoDB, Mémécash, AmazonS3, Notepad++, duckduckgo et VLC.

Je n’ai aucune idée de quoi je parle, alors j’ai mis tout ce que je comprends pas sur la même ligne.

Télétravail possible.

Je ne veux pas parler de la rémunération alors je finis là dessus. Ça sera surement une part des bénéfices potentiels assurés mirobolants. Pas une trop grosse part, c’est quand même moi qui a eu l’idée.

Merde c’est quoi le mail de ma boîte déjà ? Tant pis je met l’adresse hotmail.




Ils prennent whatsapp ? Nan vaut mieux pas, faudrait pas que je passe pour un con.




Je vais rajouter mon num… MERDEEEEEEE. J’ai envoyé le formulaire par erreur.








Ah, c’est pas le bon site en fait.


]]>
http://sametmax.com/les-annonces-hypes/feed/ 17