lz7hOlC

Pourquoi développeur est un boulot à part

Si vous pensez le contraire vous devez sûrement être nouveau parmi nous !
Cet article fait suite à une discussion endiablée avec des geek/amis/développeurs et je vais essayer d’en faire un résumé clair, car malgré l’heure tardive et l’endroit douteux, elle fut très intéressante cette discussion.

On a d’abord longuement parlé du point le plus important : apprendre. Puis on est passé des avantages aux inconvénients, pas sûr que je me rappelle de tout, mais le plus important sera là.

Apprends ou crève

Retour vers le futur

Vous serez d’accord avec moi que si vous n’êtes pas en constant apprentissage vous courez droit à la catastrophe. Ici je vous apprends rien. Notre métier, plus que les autres, est super exigeant sur ce point là. Mais depuis quelques années ça s’intensifie encore plus ! L’avènement du métier est fou. THE HYPE IS REAL ! A l’époque où je faisais mon premier site au collège (sur Final Fantasy 8) dont je ne mettrai pas le lien ici -car j’ai honte- Javascript servait à faire des prompts. Et c’était incroyable ! Aujourd’hui on fait des trucs improbables avec et y’a un nouveau framework révolutionnaire qui sort toutes les heures !

Prenons un site ou une appli que vous avez fait il y a quelques années et regardez le code à l’intérieur. Oui c’est immonde, je sais. Mais c’est vous qui avez écrit ça. En plus de ça vous étiez hyper fier de ce machin là ! A présent, imaginez-vous dans quelques années à comparer ce que vous faites maintenant.  Alors oui, dans tous les métiers on évolue, mais en développement l’éco-système et les technologies sont dans une course folle. On court après à coup de formations, de conférences de meet-up, on fait de la veille non-stop avec des outils à la Feedly, car y’en a de plus en plus à apprendre et -surtout- avec des concepts et technos de plus en plus élaborés. Je ne connais aucun métier où absolument tout bouge à ce point et aussi rapidement. Vous avez une obligation de sprinter ! Restez assis, à rien apprendre, vous allez voir.

 

1d2

 

La curiosité est une jolie qualité

Combien de langages connaissez-vous ? Combien de softs utilisez-vous quotidiennement ? Combien de concepts connaissez-vous ? Un bon gros paquet hein ? Et si en plus vous êtes du genre « full stack je fais tout » ça doit être ridicule.
Oui c’est la petite particularité de notre métier. Il va falloir maîtriser une quantité impressionnante d’outils et savoir-faire et pas qu’un peu. Non on ne reste pas en surface, car en surface il se passe que dalle. C’est quand on commence à s’intéresser à la techno qu’elle livre ses secrets. Le petit secret c’est de jamais, au grand jamais, laisser passer un mot ou un concept que vous ne comprenez pas dans une formation, un blog ou peu importe l’endroit. GOOGLE IT ! Ça prend peu de temps et ça peut vous sauver la vie. Et puis vous n’êtes pas curieux ? Va falloir notre métier est une mine sans fin d’informations et il faut aller la chercher.

Des tatanes dans la gueule

Quel est la meilleure façon d’apprendre ? Openclassrooms ? Lire des blogs ? Faire des tutos ? Lire des bouquins de dev ? C’est sûr que ça aide beaucoup et tout le monde devrait faire TOUT ça. Mais la vérité c’est qu’il n’y a qu’une seule chose qui vous fera apprendre comme un taré : arriver dans un poste où vous êtes en dessous du niveau général et vous faire former par un ou des mentors.

how-to-expand-my-comfort-zone

Je vous le dis tout de suite, c’est pas le Club Med. Vous vous prenez des grands coups de pressions au départ car vous êtes à la traîne. Mais vindieu’ ce que vous apprenez ! De toute façon vous avez pas le choix, faut se sortir les doigts et va falloir emmagasiner un maximum d’informations très vite. Attention je suis pas en train de dire de faire un burn out et de vous retrouver en vrac à cause du stress. Non, non, mais juste assez pour absorber de l’info comme une éponge. Vous devez sortir de votre zone de confort. Toujours faire ce qui semble compliqué. C’est facile à dire on est d’accord. Mais c’est le seul moyen d’avancer vraiment vite. Et la situation d’un poste dans une entreprise exigeante va vous pousser encore plus loin. Y’a rien de plus douloureux, y’a rien de mieux. Ça fait un peu sado ce que je dis non ?

Au passage, si vous tournez en rond à votre boulot et que ça commence à ressembler à une planque : vous vous mettez en danger, cassez-vous.

Être développeur c’est le mal

Ça marche pas

On a tous entendu ces trois mots beaucoup trop de fois. Non sans déconner, vraiment, je pense que c’est la chose qu’on entend le plus durant toute notre carrière. Malgré vos tests, le design pattern qui va bien, l’archi au top etc etc votre appli plante lamentablement d’un coup d’un seul. Alors vous vous mettez à regarder les logs, vous trouvez enfin l’erreur. Merde. Vous avez  jamais vu ça. C’EST QUOI CE TRUC ET CA SORT D’OÙ ? Pendant ce temps un chef de projet (ou autres) vient vous voir pour savoir si « tout va bien avec l’app car le client vient d’appeler ». Un vieux courant de stress dégueulasse vous traverse lentement le dos.

OK pas de panique. Bon vous avez jamais vu ça, vous commencez par voir ce qu’en pense les internet. Et dans ces moments-là, l’univers est contre vous. Vous tombez sur 2, 3 pauvres résultats dont un forum ou une personne a EXACTEMENT le même problème, et personne ne lui a jamais répondu, il y a 6 mois de ça. Bien plus tard vous trouvez la solution : ça venait soit d’un espace, soit d’un point virgule ou un autre truc à la con. Vous réglez alors le problème avec un sentiment bizarre entre soulagement total et colère divine.

 

Legacy horror code of death

Alors j’aimerais prendre un moment ici pour discuter de ce qu’est le legacy code. La définition normale dit que c’est du vieux code obsolète (parfois plusieurs versions d’un langage) qui continue à être maintenu pour X raisons (non valables). OK maintenant rajoutons à ça que très fréquemment ce code est bien pourri. Quand j’entends bien pourri, je pense non évolutif, fait à l’instant pour l’instant. Avec plein de « solutions temporaires » à l’intérieur, pas de commentaires et encore moins de tests. Bref, le spaghetti code de l’enfer.

Si un jour vous devez faire une évolution dessus car le client le demande, c’est la pire chose qui puisse vous arrivez. Car vous n’allez rien apprendre et surtout ça va vous rendre complètement barjo. Certaines personnes peuvent trouver ça drôle. Non. C’est pas drôle. Du tout. Ha et évidement le ou les responsable(s) de l’horreur ont quitté le navire il y a bien longtemps.
D’ailleurs c’est très facile de tout mettre sur le dos du dev qui a fait le projet. Evidemment il fait partie du problème, mais la plupart du temps il fait aussi parti des victimes dans cette sombre histoire. Le schéma classique c’est un client et une boite qui font un cahier des charges qui ressemble à la bible de l’enfer. Rien n’est à sa place, rien n’est logique dans les specs. En vérité personne n’a rien compris à rien. Une fois qu’ils ont fini de faire ça, ils le jettent à la gueule du dev en lui hurlant que c’est pour hier.

Quelques années plus tard, un beau matin, on vous envoie la patate chaude.

View post on imgur.com

Le syndrome de l’imposteur

C’est un syndrome connu dans la communauté des développeurs. Notre profession est très touchée par cette chose infâme.
L’idée selon laquelle vous ne méritez, tout simplement, pas d’être là où vous êtes aujourd’hui. L’idée que les gens autour de vous ne sont pas au courant de la supercherie que vous êtes. Plus grave : l’incapacité hallucinante de ne reconnaître aucun de vos succès. Une fixette maladive sur vos échecs. Vous êtes en retard en permanence. Partout, tout le temps.

3oEduPlMkw4LZE7624

Si vous pensez que c’est « réservé au gros noob » vous avez tout faux. A vrai dire, quelqu’un qui doute sur ses capacités, qui ne se repose pas sur ses connaissances, c’est quelqu’un qui ne fera qu’avancer. Mais du coup c’est aussi une personne qui va se remettre en question en permanence, allant jusqu’à générer ce sentiment. Ce syndrome n’est que la partie extrême de ce genre de doutes tout à fait normaux ! Les gens complètement imbus d’eux-mêmes le sont fréquemment pour les mauvaises raisons. Comprenez : Les cons ne doutent de rien.

Un exemple ? En mars dernier le célèbre développeur web (pour Mozilla) et conférencier David Walsh en a dédié un article où il parle du sien. Bref si cette situation vous parle, détendez-vous. On fait du dev pas une fusée. Vous pouvez pas tout savoir, et si vous êtes pas confortable sur certains concepts du métier : apprenez ! C’est gratuit et c’est pas les ressources qui manquent.

Être développeur c’est le bien

LE FUN !

Rien de plus existant que de se lancer dans un nouveau projet !!
Chacun à sa vision du fun concernant le dev on est tous un peu différents là-dessus mais je pense qu’on a tous ça en commun. Personnellement je vois chacun des projets comme une pyramide et la partie drôle c’est la construction ! Faut bien penser au fondations pour pas que ça se casse la gueule et tous les détails comptent ! Et là c’est le moment où mes collègues m’entendent me frotter les mains jusqu’à l’autre bout de l’open space.

Il y a vraiment ce côté challenge également ! On part d’une feuille blanche avec un objectif. Et comme dans les grand films/jeux vidéos ou ce que vous voudrez c’est pas la fin le plus fun, mais l’aventure ! Ouais c’est beau ce que je dis hein ? \o/

Au passage, chose à prendre en compte, faites ce que vous aimez. Faites pas du javascript parce que c’est la nouvelle hype est que c’est mieux payé et que c’est grave la pénurie. Non, si vous aimez pas le javascript et que vous préférez je ne sais pas, faire du Python ou autres, faites donc ça. Sinon vous allez pas bien vous en sortir, et elle sera pourrie votre vie à faire un truc que vous aimez pas. Laissez les amoureux du Javascript en faire, ils le font très bien.

Le futur c’est nous

Le hype autour du métier de développeur grossit et n’a pas fini de grossir. Tous les services se digitalisent ou sont déjà digitalisés, tout est en cours d’uberisation. Et ce n’est qu’une question de temps pour les secteurs où la technologie n’est pas encore passée grâce à l’explosion de la création de start-up. Et pour créer et maintenir tous ces changements de qui auront nous toujours besoin ?

Développeur

Et c’est pas fini ! Les possibilités pour les devs se diversifient de façon exponentielle. Par exemple un web dev aujourd’hui peut coder le comportement d’un sous-marin en javascript. Pas de problème, c’est normal. Et je sais pas jusqu’où les codeurs seront impliqués dans le futur mais mon petit doigt me dit que je reviendrai sur le passage de cet article bien plus tard pour y ajouter deux/trois choses.

Faites le dev pas la guerre

Autre avantage inhérent à notre métier :  la culture du travail en équipe. J’ai souvent vu dans les autres départements d’une boite des gens mis directement en concurrence. Mais en mode malsain, c’est la guerre et y’a du sang sur tous les murs. J’ai très rarement vu ça dans une équipe de dev.

Tout simplement car, dans une boite gérée par des gens intelligents, on fait en sorte que les devs travaillent ensemble et partagent les connaissances. Pourquoi ? Car c’est dans l’intérêt de la boite que les devs s’enrichissent les uns les autres, à la sortie ça ne fera que renforcer la qualité et la performance des projets sortis. C’est un système gagnant-gagnant parce que vous aussi vous apprenez beaucoup de vos collègues et c’est aussi -et surtout- ce qui fait que vous restez à votre job. Bon ça me semble évidement mais si vous êtes dans une boite où c’est la guerre entre dev, cassez-vous vite.

La force d’une équipe de dev c’est de bien s’entendre, de s’entraider pour faire bien les choses ensemble !
Il y a une vraie fierté à regarder un projet arriver à terme, plaire et évoluer. Surtout quand on l’a tous créé ensemble.

tumblr_mzet3ysqcq1s3x8rko1_500

Épilogue

Plus on en apprend sur ce métier, plus on rentre en détail dans une techno, un soft ou autre, plus on se dit qu’on a pas fini d’apprendre. Et c’est bien ! C’est excitant quand chaque jour est une façon de s’enrichir un peu plus. De pas aller au boulot en se disant que finalement ça sera exactement pareil qu’hier et que le jour d’avant. Et tout ça en s’amusant en plus ! Que demande le peuple ?

Ceci dit, il doit avoir un paquet d’avantages et d’inconvénients qui manquent à cet article. Si une idée vous vient hésitez pas à m’en parler dans les commentaires !

Categories: développement

  • Matthias

    Wow, j’étais en train d’écrire mon premier article de blog qui traite exactement de tous ces sujets, mais en beaucoup moins bien, on pourrait croire que mon article presque finalisé est une sorte d’ébauche du vôtre ! Je lis beaucoup de choses sur le syndrome de l’imposteur, mais ce sont des femmes qui en parlent, je ne renie pas mon petit côté féminin, mais je me sentais un peu seul en tant qu’homme développeur ayant ce problème, je suis bien content d’apprendre que ce n’est pas le cas. Ce syndrome est d’autant plus renforcé quand on est le seul BTS entouré d’ingénieurs (c’est mon cas), et que l’on est déjà très peu confiant en soi dans la vie (c’est mon cas aussi). Cet article résume extrêmement bien ma pensée et je vous remercie pour ça,le fait de voir tout ça écris me permet de mieux comprendre et d’appréhender mes doutes. je me sens bien moins seul, même si je pense que cette philosophie n’est pas celle de tous les développeurs. Encore merci et bonne continuation.

  • Nicolas G

    En commençant l’article, je me suis dit que ce serait marrant de remplacer mentalement « développeur » par un autre métier et voir à quel point ça colle tout autant.
    J’ai pris « politicien » (car il me semble que certains ont de l’admiration face au fantastique boulot de développeur alors qu’ils méprisent les méchants politiciens, et ça m’amuse de penser à leur tête s’ils étaient tombés sur un article similaire à propos des politiciens).
    Ça donne des résultats surprenant:
    – « apprends ou crève »: vu que les politiciens sont toujours opposés à un contre-pouvoir, ils doivent en permanence s’assurer de la véracité de ce qu’ils disent. Une erreur leur retournera dans la gueule directement. Ce contre-pouvoir est d’un côté les opposants politiques, qui ont tout intérêt à discréditer ce dernier, mais également le grand public, qui sautera sur la moindre imprécision pour montrer que « décidément, les politiciens sont incompétents ». Du coup, niveau tatanes dans la gueule, le politicien s’en prend plein, et risque réellement son salaire.
    – « Être développeur, c’est le mal »: là aussi, le politicien est le bouc émissaire idéal à tout les problèmes. Évidemment, on n’aurait jamais fait comme lui, et on trouve bien d’autres personnes pour dire pareil. Sauf que le politicien aurait fait comme ça, non seulement déjà la situation aurait p-e été pire, mais en plus, il y aurait eu autant de critiques pour dire que c’était pas comme ça qu’il aurait fallu faire (hé oui, les gens d’accord avec vous sur le fait que la solution appliquée n’est pas la bonne ne sont en général pas d’accord avec votre solution non plus). Le politicien hérite aussi du « legacy horror code of death » de ses prédécesseurs, sauf qu’il s’agit alors de lois et/ou de stratégie politique. Et là aussi, le précédent politicien fait partie du problème mais est également la victime des contraintes du « client », c-à-d l’électeur, qui veut tout tout de suite et que ça soit bien pour lui peu importe le voisin. Quant au syndrome de l’imposteur, je ne vois pas pourquoi il ne serait pas non plus présent en politique.
    – « Être développeur, c’est le bien »: tout d’abord, j’imagine que la sensation de commencer un nouveau projet qui, contrairement au cas des développeurs où c’est rarement le cas, aurait un vrai impact historique sur l’amélioration de la vie des gens est sans doute tout aussi grande, voire plus. Il y a quelques petites différences: être politicien n’est pas à la mode (au contraire), et p-e que la grande tension concurrentiel efface un peu l’aspect communautaire des groupes de travail (même si ceux-ci sont sans doute très très développés en politique, avec le gros avantage qu’en politique, on apprend réellement à accepter les différences d’opinions).

    Je ne suis évidemment pas politicien moi-même (je passe mes journées à coder), et c’était juste un exemple (je me demande ce que ça ferait avec « avocat » ou « poissonnier »), mais je trouvais intéressant de tester si l’aspect « exceptionnel et génial » des développeurs est réel ou fantasmé par le fait que l’image du développeur est positive.

  • Vooodoo

    En effet certains développeurs casse l’ambiance. Mais y’a toujours des gens pour casser l’ambiance non ?
    Apprend un max des ingénieurs autour de toi, c’est une chance !

  • Vooodoo

    Intéressant comme point de vue. Peut être que je manque de prise de recul sur le métier en effet.
    En attendant un politicien peut pas coder un sous-marin ! 😛

  • http://encausse.net/ Jean-Philippe Encausse

    100% d’accord ! Mais il y a pire : Entrepreneur.

    Je bosse dans la tech depuis + de 15ans. Il y a 1an j’ai co-fondé une société (dans les techno pour le marketing). Et là c’est l’exponentiel !

    Non seulement je dois faire le grand écart entre Electronique, Computer Vision, Deep Learning, Cloud Computing, Dev Web, Mobile, etc …
    … Mais maintenant je rajoute comptabilité, startup, levée de fond, marketing, growthhacking, design, etc …

    Bref avec le recule: tout le monde devrait être de base développeur, puis se spécialisé dans des métiers marketing, commercial, etc …

    En 2015, faire du Marketing
    – c’est faire du GrowthHacking donc avoir une pensée logique et coder des automatisations.
    – c’est aussi véhiculer un message via des outils de design (Landing Page, video After Effect, Newsletter, etc … )
    – c’est aussi capter et organiser des datas (SEO, Excel, etc …)

    Bref pour avancer il faut « de base » maîtriser les outils (qui changent tout le temps)

  • Frdric HORVAT

    Et l’on oublie presque une étape absolument atroce qui, mine de rien, s’adapte à tout métier où la connaissance est un fondement du poste … L’omniscience.
    – On te confie un PC vérolé jusqu’au bout des pixels, et l’on te dit  » t’es de la partie, tu sauras réparer »
    – On te dit « ça marche pô », en croyant que tu parles de BSOD première langue
    – On te remonte des bugs d’une application autre que la tienne, et on va te dire « vous pouvez la corriger aussi, puisque vous corrigez déjà la vôtre »
    – Tout ce qui est plus ou moins électronique (smartphone, décodeur TV/TNT/Box internet, imprimante…) te sera confié en te lançant « toi tu sais, moi je sais pas », tout en sachant que la personne en question n’a pas daigné chercher

    Voilà voilà…

  • Vooodoo
  • Vooodoo

    Je veux bien vous croire. J’ai commencé à m’intéresser à tout ça pour un side project. Je suis tombé devant une masse impressionnante d’informations. Bon courage !

  • PB

    Tellement vrai :’) Mais c’est pas lié au métier au final mais à la curiosité, évoqué dans l’article. Dès qu’on est curieux, on veut apprendre, comprendre. Dès qu’on comprend, c’est mort. Tout le monde préfèrera demander que de chercher par soi-même. C’est plus une question de personnalité je trouve.

  • PB

    Je ne peux que plussoyer.
    Personnellement, ce que je trouve dommage, c’est que nos têtes pensantes (managers, dirigeants) dans nos entreprises pensent que faire de la veille, apprendre, comprendre, c’est du temps perso « parce qu’on le veut bien ».
    Le jour où ils comprendront qu’on ne peut pas passer notre vie perso à apprendre pour rester au niveau, on aura fait un grand pas. Mais pourquoi attendre qu’un dev senior apprenne alors qu’un jeune diplomé sera formé sur le nouveau langage « tendance » et en plus, il coûte moins cher ! (en salaire)…

  • PB

    J’ai fait l’autre chemin : entrepreneur spécialisé en marketing puis développeur maintenant. Et je ne peux qu’aller dans votre sens, les développeurs avec une compétence autre que la technique, ça devient presque la base. Pour être capable de comprendre la digitalisation du monde, il faut être technicien. Et si on arrive à accrocher une deuxième casquette, BINGO !
    Bon courage en tout cas :) Et profitez-en, c’est une expérience incroyable à vivre

  • Vooodoo

    Dans toutes les boites ou je suis passé on a réussi à faire entendre aux dirigeants que la veille était importante et donc on prenait légèrement sur notre temps de travail.
    Mais a chaque fois c’était un VRAI BRAS DE FER !

  • Simon

    Excellent :) Idées partagées, article partagé.

  • sm0k sm0k

    J’y vois un avantage de plus! Les devs me donnent du travail, c’est bien.

  • the Lebanese

    Super article

  • Vooodoo

    VADE RETRO INFOSEC

  • sm0k sm0k

    pr00t

  • http://www.demonixis.net Yannick

    Ça résume très bien notre métier ! Je dirais que c’est souvent très contrasté car on fait des choses vraiment géniales par moment, et d’autres fois c’est l’enfer et on a l’impression qu’on en sortira jamais. C’est quelque chose qu’il faut accepter et encaisser.

  • Stéphane HULARD

    Bravo pour cet article, il représente vraiment bien notre réalité :)
    +++1 pour la vue au quotidien quand on est indépendant 😉

  • http://enoent.fr Kernald

    Petite remarque en passant :

    Tous les services se digitalisent ou sont déjà digitalisés

    Ils se numérisent, ils ne se digitalisent pas. Digital, c’est rapport aux doigts… 😉

  • Vooodoo

    Le Larousse dit que ce sont des synonymes pourtant : http://www.larousse.fr/dictionnaires/francais/digitalisation/25508

  • Otwoh

    Pour plus de précision, « digital » en français à l’origine était effectivement en rapport avec les doigts.
    « digital », dans le sens « numérique », ça nous viens de l’anglais « digital », dérivé de « digit » = chiffre

    Seulement voila, tout le monde utilise cet anglicisme depuis des années. Donc ce 2ème sens est entrée dans la langue française (au point ou le Larousse l’intègre comme synonyme, comme l’a souligné Vooodoo).

    Et si des rajeux passent par là (parce que c’est un débat qui reviens souvent) : c’est idiot de nier un anglicisme utilisé par tout le monde, alors qu’on utilise plein d’autres anglicismes (parking, marketing, week-end, etc.)

  • Antoine Favarel

    Et oui, c’est pas toujours facile. J’ai ma petite technique pour être bien dans mes pompes. Il ne faut jamais douter de soi, ni de ces capacités à créer, apprendre et autre. Mais il faut toujours remettre en cause ses compétences, sa connaissance. Grossomodo : Je sais ce que je vaux, je sais que je peux apprendre mais je sais que je ne peux pas tout savoir. Ça permet de rester ouvert tout en étant a l’aise 😀

  • Pingback: My personal eve : #1 – Tech'Corner()

  • Pingback: Comment devenir un meilleur développeur()

  • Pingback: Devenir un bon développeur()

  • Michael McFly

    Je déterre mais mec, tu es mon idole. Merci pour cet article !

  • Morovaille

    Je bosse dans une boîte où il n’y a que du legacy code quasiment, et où ils n’ont pas l’intention de changer…