Archive for mai, 2016

[Good books] Programmation efficace : des algos, du python (2/X)

128Aujourd’hui je vais vous parler d’un livre intitulé « Programmation Efficace –  Les 128 Algorithmes Qu’Il Faut Avoir Compris et Codés en Python au Cours de sa Vie ». Les auteurs sont Christoph Dürr et Jill-Jênn Vie. Comme d’habitude, je vous colle le lien amazon : c’est ici pour acheter.

Pour faire un full disclosure, il faut que je vous raconte encore une fois un bout de ma vie (heureusement que j’écris sur un blog). Je suis rarement impressionné par des algorithmiciens. Souvent ils sont bons théoriquement mais ils sont à coté de la plaque sur la réalité et l’efficacité (ils manquent de pragmatisme). D’autres sont au contraire trop dans la pratique et font donc des algos mauvais car ils ne connaissent pas la théorie.

Christoph, dont j’ai partagé le bureau au tout début de ma thèse dans l’équipe de recherche en algorithmique de la fac d’Orsay, est à la confluence des deux approches (théorique et pratique). Il fait donc partie des rares personne capable de résoudre réellement des problèmes à l’aide d’algos bien conçus.
Quand j’ai vu qu’il sortait ce livre, je me suis jeté dessus.

Il ne s’agit pas d’un livre pour apprendre l’algorithmique, pour cela je vous envoie vers le Cormen, référence du genre (Algorithmique – 3ème édition – Cours avec 957 exercices et 158 problèmes), mais plutôt d’un livre pour comprendre comment on résout des problèmes à l’aide d’algorithmes. Je n’ai pas peur de dire que c’est le meilleur livre que j’ai lu sur le sujet.

Il est structuré de manière très simple : après la traditionnelle introduction chaque chapitre va se consacrer à un sujet spécifique (les chaînes de caractères, les arbres, les flots, l’exploration, etc.). Au sein d’un chapitre, on passe en mode « résolution de problème » : explication d’un problème, définitions utiles, commentaires divers, et enfin code complet en python.

C’est ce qui fait la force de ce livre : il explique de manière simple et accessible comment on résout réellement chaque problème évoqué.
Par exemple, une section du chapitre 3 porte sur le calcul de la distance de Levenshtein entre deux chaînes de caractères. C’est l’approche de programmation dynamique qui est mise en avant, avec un exemple permettant de bien comprendre, et le code (10 lignes) qui implémente l’algo.
Plus loin (chapitre 13), on trouve une section sur comment trouver le plus grand rectangle sous un histogramme. Inutile ? Non, car l’algorithme qui réalise le calcul peut s’appliquer directement en télécommunications par exemple, de la mème manière que dans le dernier chapitre, les auteurs introduisent l’algo des liens dansants, qui vous permettra de résoudre automatiquement le sudoku, les chiffres et les lettres, etc.

Bref, un excellent livre que doit avoir toute personne qui développe et qui voit au delà de la programmation de cochon ^^ Ce n’est pas un livre de chevet, qu’on va lire d’un bout à l’autre et ranger, c’est un livre dont chaque page doit se lire, se relire, se travailler. C’est un livre qui fera de vous un meilleur développeur.

Voilà, comme d’habitude, les commentaires sont ouverts, dans la joie et la bonne humeur.

A noter : si vous savez faire tout ce qu’il y a dans le livre, vous savez répondre à toutes les questions des entretiens d’entrée dans les boites tech de la silicon valley (en ce qui concerne les algos ;)).

 

Que vendez-vous ? Réflexions autour des prix…

Je profite de cette journée de Mai, donc sans grande action au niveau du travail, pour écrire ce billet que j’ai en mode brouillon depuis longtemps. Le sujet du jour sera donc la vente, mais pas du point de vue techniques de vente.

C’est largement inspiré par de très nombreuses discussions avec les confrères que j’ai eu l’idée de ce billet. Pour tout vous dire, l’élément déclencheur a été une discussion qui s’est reproduit plusieurs fois avec plusieurs personnes différentes et qui visaient toutes à répondre à la question : « je suis blindé de boulot, mais je ne gagne pas bien ma vie, Sylvain qu’est-ce que tu en penses ? ». La réponse canonique que font tous les vieux briscards (et que j’ai fait conjointement à Laurent Bourrelly à un plus jeune que nous à VEM7) est « il faut augmenter tes tarifs ». Partant de là, j’ai réfléchi et je vous présente aujourd’hui le fruit de ma réflexion, car je pense qu’il faut aller au delà de la simple augmentation de prix et plutôt réfléchir à ce que l’on vend.

Avant de penser au marketing, il faut penser à faire le commercial, et pour aller au delà du diptyque synchronisation – théorie de l’engagement, je vous propose de réfléchir à une analyse en amont du type de besoin client auquel vous répondez. Selon le type de besoin, vous ne vendez pas la même chose, et sans vous en rendre compte vous êtes en train de manipuler un levier pour choisir vos clients et gagner plus.

Selon moi, voici les trois types de choses que vous pouvez vendre (quand vous êtes dans le même type de métier que moi, qui mêle informatique, conseil, formation, etc.).

  • Vendre du TEMPS

Le schéma le plus standard, qui vient du milieu du conseil, est de vendre son temps. Pas mal de SEOs font ça, les formateurs en présence aussi, les agences aussi, etc. Le problème de la vente de temps est qu’on peut devenir assez rapidement esclave de son travail et qu’on n’a plus le temps de se former, de faire de la R&D et qu’on va donc vers l’épuisement.

Par ailleurs, il n’y a qu’un seul levier pour choisir ses clients et gagner plus : augmenter son tarif journalier. Le choix des clients ne sera alors pas par rapport aux missions, mais juste par rapport au budget, et l’augmentation du tarif journalier n’est pas sans limite. Si on prend l’exemple des meilleurs SEOs, le niveau haut se situe plutôt autour d’un TJM de 1000 euros, il y a donc une vraie barrière pour qui veut de très gros revenus. Lors de mon passage dans des métiers plus rémunérateurs (du conseil RH/technique), le record que j’ai vu pour un cador absolu de son domaine, c’était 3000 euros par jour, une somme très substantielle, mais très loin de ce que gagne les grands capitaines d’industrie.

  • Vendre des PRODUITS

Vendre des produits, c’est le schéma du commerce « normal », mais dans nos domaines « virtuels », c’est le moyen de se créer des revenus récurrents à forte marge. Dans le domaine des SEOs, c’est là qu’on trouve la vente d’ebooks, ou encore plein d’outils (par exemple, YourTextGuru rentre dans ce schéma).

Bien sûr, le résultat dépend du volume, et on rentre là dans des problématiques plus proche du marketing que de la vente, car vendre en one to one des produits à quelques euros est un no brainer. Mais si on fait abstraction de cela, on a maintenant plusieurs leviers : le prix des produits, le niveau de technicité, et même tout simplement le service que fournit le produit.

Parfois, catégoriser n’est pas facile : est-ce qu’une formation est un produit ou une vente de temps à un prix variable car dépendant du nombre de formés ? Dans le cas des formations dites « des frères Peyronnet » c’est de la vente de temps car le produit ne peut pas être instancier par d’autres formateurs, mais dans le cas d’une formation SEO générique, on est plus sur la vente d’un produit.

La limite de gain va dépendre de la surface de marché et de la capacité qu’on va avoir à s’adresser à ce marché. Par exemple, un produit pour SEOs freelance en France a un potentiel de clientèle autour de 1000 personnes environ, si c’est un produit pour agences c’est moins, si c’est pour tous les webmasters dans toutes les langues alors the sky is the limit^^

  • Vendre de la VALEUR

Vendre de la valeur c’est le modèle économique derrière les ix-labs, qu’on a poussé à son paroxysme. La valeur, c’est ce qu’on va gagner grâce à ce qu’on achète moins ce que nous coûte la chose en question. Attention, je ne parle pas de vendre PAR la valeur, qui est en fait mettre en avant la valeur d’utilité d’un produit lors d’une opération commerciale ou marketing, mais bien de vendre directement cette valeur.

Nuance ? oui et non, c’est bien plus que ça. Quand on vend de la valeur on vend la promesse que la prestation associée va être une certaine forme de game changer pour le client. Vendre de la valeur c’est donc typiquement ce que l’on vend quand on est un labo de R&D, car l’innovation est un levier de croissance très fort pour le client.

Comment pricer cette valeur ? c’est là que les choses deviennent complexes, et pour moi il n’y a que deux possibilités, qui ne s’excluent pas mutuellement (on peut faire un mix des deux).

La première possibilité est le forfait : on est payé pour réfléchir à comment créer de la valeur chez le client, ça marche ou pas (bon, si ça marche jamais on ne gardera pas longtemps les client). Vous noterez que c’est le modèle que l’état utilise majoritairement pour le fonctionnement de la recherche publique : les chercheurs sont payés de manière forfaitaire. A ce propos, le financement par projet va a l’encontre de la notion de vente de valeur, et n’a sans doute aucun sens et aucun avenir à cause de cela.

La deuxième possibilité pour mettre un prix sur le potentiel de valeur est de gommer le risque du client en faisant du revshare (partage de revenu) ou un mécanisme de licence. Concrètement vous ne facturez pas votre temps de réflexion/conception, mais vous touchez un pourcentage (substantielle) de la valeur réellement créée par votre travail. C’est un mécanisme apprécié par les plus petites structures qui ne peuvent pas risquer leur petite capitalisation, qu’on retrouve également lorsque plusieurs personnes s’associent pour faire de la co-création.

Si vous le pouvez, d’un point de vue métier et d’un point de vue risque, c’est dans la vente de valeur, avec un mix petit forfait – gros revshare, que vous pourrez avoir VOTRE game changer, pensez-y 😉

Voilà, j’ai fait le tour de ma (petite réflexion), et vous, que vendez-vous ? N’hésitez pas à me le dire dans les commentaires.

 

YourTextGuru, c’est fait pour vous

yourtextguruAujourd’hui, je fais le commercial de choc, pour vous présenter notre nouvel outil, disponible en mode SAAS (Software As A Service) : YourTextGuru.

TL;DR : YourTextGuru est un outil d’aide à la rédaction, qui vous fournit des guides de rédaction pour coller à un besoin informationnel que vous donnez sous la forme d’une requête (=phrase raisonnablement longue et raisonnablement courte). Il est disponible à l’adresse https://yourtext.guru, il est efficace, il donne des résultats de qualité et il est à un prix défiant toute concurrence.

La version plus longue et romancée commence naturellement par une belle histoire et une belle rencontre 😉 Après nos formations, et après un live des ix-labs par Guillaume (mon frère pour ceux du dernier rang qui ne suivent pas) sur la notion de corpus sémantique, nous avons eu l’occasion de discuter avec Benoit et Frédérick, qui avaient dans l’idée de faire un outil. J’avoue que ma mémoire est vacillante et donc je ne sais plus trop si les choses se sont cristallisés à Lyon pendant le teknseo ou à Genève pendant le seocamp day (devenu cette année performance web), mais c’était autour de ce moment là, il y a donc environ 1 an.

Très rapidement, nous nous sommes rendu compte que la notion même de corpus était d’une certaine manière dangereuse, en plus d’être difficile à utiliser : quels mots utiliser ? y a t-il danger de suroptimisation ? Bref, pas facile et souvent en plus la réalisation du corpus en lui même était assez coûteuse.

C’est pour cela que nous avons mis en place un système comprenant un modèle génératif de la langue afférente à votre besoin informationnel. Oulala ça à l’air compliqué ? Pas du tout:

  • Un besoin informationnel, c’est ce que vous voulez mettre dans le texte que vous allez rédiger. Votre besoin est d’écrire un texte sur « comment gagner à tous les coups au poker texas hold’hem » ? Et bien votre besoin informationnel c’est un dérivé directe, du type « comment gagner au poker texas hold’hem à chaque fois » ou « comment gagner au poker texas hold’hem facilement » ou «  »comment gagner au poker texas hold’hem ». Si vous êtes SEO (oui, je sais qu’il y en a dans mes lecteurs), vous vous demandez pourquoi pas la requête « poker texas hold’hem » et sur quoi le moteur va mettre un texte fait avec le besoin informationnel précédent ? La réponse est sur toute les requêtes proches car le moteur fait de la reformulation de requête, donc de toute façon les requêtes que vous travaillez pour Google ne sont pas toujours celles qui sont utilisées par le moteur au final.
  • Un modèle génératif. Quand vous rédiger un texte sur un sujet, puis un deuxième, les deux ne contiennent pas QUE les mêmes mots, les deux n’ont pas le même langage interne. Le modèle génératif capture cette diversité et la restitue : si vous générez 23 guides sur un même besoin informationnel, alors vous pourrez rédigez 23 textes qui seront naturels, qui seront en phase avec le sujet, et qui ne seront pas en duplication !

Vous voyez, au final ce n’est pas très compliqué 😉

Au final, on génère donc au moins un guide pour faire un texte, et on gagne du temps car on découvre ce qu’on doit mettre dans le texte sans trop réfléchir, et rapidement en plus. Cerise sur le gâteau, tout ça est dispo pour un prix modique (avec le premier pack 60 centimes le guide, mais vous pouvez faire baisser ce prix assez vite).

Une fois le guide en main, vous verrez donc que c’est très normé, avec des choses du type (pour la requête « vidange voiture soi-meme comment »)

TITRE : vidange voiture soi-meme comment (je mets le guide en italique)

Est-ce qu’il est difficile de faire la vidange de sa voiture soi-même ?

CHAPO : vidange voiture soi-meme comment + retirez bouchon + bidon huile + carnet entretien

Comment réaliser soi-même la vidange de sa voiture : Le TL;DR c’est de regarder dans le carnet d’entretien où se trouve le bouchon, de le retirer et de remplir avec un bidon d’huile !
SOUS-TITRE :  vidange + niveau huile + entretien voiture

La vidange, c’est un des points cruciaux de l’entretien de sa voiture, et ça commence par vérifier le niveau d’huile, mais pas que…
PARAGRAPHE
 carter cle + lubrifier joint + lubrification moteur
 maximum + boite + astuces

Le carter d’huile est l’un des points clés du moteur, en effet c’est là que commence le circuit de lubrification du moteur, qui vous ne le savez peut-être pas lubrifie aussi les joints, pour éviter l’asséchement et donc la fuite.

Aujourd’hui, nous allons voir comment faire une vidange, et nous allons vous donner un maximum d’astuces, comme par exemple utiliser une vieille boîte de conserve « familiale » pour récupérer l’huile usagée sous la voiture 😉

J’imagine que vous avez compris le principe, et il est maintenant temps pour vous de poursuivre vous-même la route de la découverte. Pour tester l’outil, et profiter en plus des 3 jetons de génération offerts pour le lancement, c’est par là : https://yourtext.guru

Comme d’habitude, les commentaires sont ouverts, dans la joie, la bonne humeur et la courtoisie 😉