11 décembre 2012

Moins on code, mieux on se porte !

Nous sommes des développeurs. Les gens qui nous regardent faire grandir Human Coders pourraient se dire que nous avons de la chance d’être développeurs car on peut tout coder nous-même. Pourtant, nous nous efforçons de coder le moins possible !
Paradoxe ? Pas si sûr …

Où est notre valeur?
Human CodersTout d’abord, la valeur de Human Coders vient pas vraiment de notre capacité à coder. En effet, l’ensemble de nos services sont très simples et donc très facilement copiables. Nous les avons nous-même fait dans un délai très court. Par exemple, la première version de Human Coders News a vu le jour en un weekend !
Nous apportons plus de valeur en prenant notre téléphone, en signant un partenariat, en nous déplaçant dans un événement, en réfléchissant à notre offre… alors pourquoi passer nos journées à coder.
En fait, il est souvent préférable de payer pour un service plutôt que de le coder nous-même.

Quels avantages à coder moins ?
Chaque ligne de code peut être vue comme une nouvelle occasion d’avoir des bugs, de passer plus de temps que prévu à la développer, de recevoir des mails d’utilisateurs pas satisfaits…
Il est donc toujours important de se demander si une fonctionnalité vaut vraiment la peine d’être codé et si oui, si on ne peut pas reposer sur un service externe ou un prestataire plutôt que de la développer soi-même.
Nous essayons donc, d’une part, d’être très pragmatiques et de n’ajouter que ce qui est nécessaire. D’une autre part, nous nous efforçons de trouver des idées pour diminuer le temps de développement, de maintenance, d’administration…
Nous pouvons ainsi développer des services qui gèrent les cas d’usages les plus courants en un minimum de temps !
De plus, ce temps qui se libère nous permet de faire de la veille, tester de nouvelles technos ou services… 

Quelques exemples
Voici quelques exemples de choix que nous avons fait pour vous montrer l’idée :

  • Toutes nos applis sont hébergées sur le cloud pour ne pas avoir à faire d’admin système. Ainsi, jamais besoin de mettre à jour de Nginx, de faire face à une attaque DDOS, de gérer les backups…
  • De la même façon nous utilisons WebSolr pour ne pas avoir à perdre du temps avec l’installation et la configuration de Solr.
  • Tous nos mails sont envoyés avec Mailjet. Cela nous évite de perdre du temps avec des mails qui passent en spam ou qui ne s’envoie. C’est eux qui font ça pour nous.
  • Nous utilisons Embedly sur Human Coders News pour récupérer le titre, la description et le widget embarquable (s’il existe) des news qui sont postées sur le site. Le coder à la main et gérer tous les cas complexes (page qui ne répond pas, page qui n’a ni oembed ni opengraph…) est loin d’être simple.
  • Nous utilisons dlvr.it pour poster les news HCN sur Twitter et Facebook.
  • Nous n’avons pas implémenté l’upload d’avatar sur HCN. Nous reposons pour le moment sur Gravatar qui permet d’obtenir un avatar à partir d’une email si l’utilisateur à créé un compte dessus.
  • Le paiement d’une offre d’emploi sur Human Coders Jobs ne peut se faire que par Paypal (qui gère bien sûr la carte bleu aussi) pour éviter d’avoir à jouer avec les API souvent fantaisistes des systèmes de paiement des banques classiques.

La plupart de ces services sont payants. Mais pensez au temps que nous aurions mis à gérer ça nous même.
imagePar exemple dlvr.it nous coûte 20$ soit 15€, ce qui représente environ 15 min d’un freelance. Pensez aux heures de développement nécessaires pour gérer les envois sur FB et Twitter, gérer les autorisations, faire une interface pour ajouter facilement des destinations, gérer les quota, gérer les cas où Twitter ne répond pas, les changements d’API… Plutôt rentable non ?