52 points par GN⁺ 7 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Texte franc et écrit en état d’ivresse par un data engineer avec 10 ans d’expérience sur sa carrière, la technique, ses collègues et la vie, à l’origine publié sur Reddit r/ExperiencedDevs, ici sous forme d’archive
  • Plus que la stack technique elle-même, ce sont les 10 à 20 principes clés de chaque domaine qui comptent, la stack n’étant qu’un outil pour les appliquer plus facilement
  • La manière la plus efficace de faire progresser sa carrière est de changer d’entreprise ; il n’y a pas de raison de rester dans un poste insatisfaisant
  • Un bon code est un code qu’un ingénieur junior peut comprendre, et le meilleur code est l’absence de code
  • Ne reliez pas votre valeur personnelle à votre rémunération ou à votre grade ; la gentillesse et les efforts finissent par transformer durablement à la fois la carrière et la vie

Je suis ivre et je vais sans doute le regretter, mais voici un classement alcoolisé de ce que j’ai appris en dix ans comme ingénieur.

  • La meilleure façon de faire avancer sa carrière, c’est de changer de boîte
  • La stack technique n’a pas tant d’importance que ça — dans la data, il existe environ 15 patterns fondamentaux et, dans chaque domaine, 10 à 20 principes essentiels ; la stack n’est qu’un outil pour les rendre plus faciles à mettre en œuvre, donc inutile de trop s’en faire
  • Si tout le monde recommande de changer de travail, c’est qu’il y a une raison — si vous n’êtes pas satisfait de votre poste, il est temps de partir
  • J’ai noué de très bonnes amitiés durables au travail, mais ce n’est pas une condition nécessaire dans chaque emploi — j’ai connu des postes où j’étais heureux sans amis, et d’autres où j’étais malheureux malgré de bons amis
  • J’ai appris à être suffisamment honnête avec mon manager — pas trop honnête, mais assez pour rester authentique au travail. Le pire qui puisse arriver ? Me faire virer ? Je retrouve un poste en deux semaines
  • Si vous êtes réveillé d’astreinte à 2 h du matin plus d’une fois par trimestre, il y a un vrai problème : il faut le corriger ou partir

se ressert un verre

  • Les qualités d’un bon manager recoupent largement celles d’un bon ingénieur
  • Quand j’ai commencé, j’étais fasciné par la tech, la programmation et l’informatique théorique, mais cette époque est passée
  • Un bon code, c’est un code qu’un junior peut comprendre ; un excellent code, c’est un code compréhensible par un étudiant de première année d’info ; le meilleur code, c’est pas de code du tout
  • La compétence la plus sous-estimée chez les ingénieurs, c’est la documentation — si quelqu’un pouvait vraiment m’apprendre à bien documenter, je paierais volontiers ; même une formation à 1 000 $ si elle garantissait que je saurais produire une bonne doc
  • Dans le même registre, savoir rédiger de bonnes propositions de changement est aussi une excellente compétence
  • Presque toutes les guerres de religion (vim vs emacs, mac vs linux, etc.) n’ont aucune importance… sauf une. Voir plus bas
  • Plus je vieillis, plus j’apprécie les langages dynamiques. Oui, je l’ai dit. Venez vous battre
  • Si vous avez le sentiment d’être la personne la plus intelligente de la pièce, il est temps de partir
  • Je ne comprends pas pourquoi les développeurs full stack web sont si peu payés — ils doivent tout comprendre : frontend, backend, compatibilité navigateur, réseau, bases de données, cache, différences web/mobile, sans parler des nouveaux frameworks qui sortent en continu. Ils devraient toucher au moins 500 000 $ de salaire de base
  • Il faut recruter davantage de stagiaires — ils débordent d’énergie et d’idées. Les meilleurs sont ceux qui posent des questions et savent critiquer

une gorgée

  • Ne rencontrez jamais vos héros — j’ai suivi la formation à 5 000 $ de l’un des miens ; c’est quelqu’un de formidable, mais au final il improvisait comme tout le monde
  • La stack technique compte aussi — comparez l’image qu’on se fait d’un dev Python et d’un dev C++, c’est complètement différent, parce que certains outils sont spécialisés pour certaines tâches. Si vous ne savez pas quoi faire, faites du Java — ce n’est pas un super langage, mais il est correct presque partout
  • Le meilleur langage de programmation, c’est Lisp. Il faut apprendre Lisp
  • Le langage le plus rentable pour un débutant, c’est SQL — vous n’avez besoin de rien d’autre. Avec SQL, on peut gagner sa vie. Un gestionnaire de paie à 50k → un gestionnaire de paie qui connaît SQL à 90k. Un employé de bureau organisé mais ordinaire à 40k → quelqu’un qui connaît aussi SQL, on l’appelle PM et ça vaut 150k
  • Les tests sont importants, mais le TDD est une secte
  • Un poste stable dans la fonction publique n’est pas aussi bien qu’on l’imagine (en début/milieu de carrière) — 120k + avantages + retraite, ça semble séduisant, mais on vend son âme à des technologies propriétaires. Il y a une raison pour laquelle l’âge moyen des ingénieurs y est de 50 ans et plus. Cela ne s’applique pas aux contractuels du gouvernement
  • Les recruteurs tiers sont des parasites — mais si vous en trouvez un bon, entretenez la relation. En général, quelqu’un qui fait du recrutement tiers depuis plus de trois ans n’est pas terrible ; les bons finissent chez les recruteurs de grandes entreprises
  • Les stock-options valent soit zéro, soit vous rendent millionnaire — sauf cas particulier, si l’équipe d’ingénierie dépasse 100 personnes, elles ne valent généralement rien
  • Le télétravail, c’est le top. Mais l’absence de tableau blanc me manque
  • Je n’ai jamais travaillé dans la FAANG — je ne sais pas ce que je rate, mais j’ai déjà interviewé et embauché des gens qui en venaient, et eux non plus ne savaient pas plus que les autres ce qu’ils faisaient
  • Votre valeur personnelle n’a rien à voir avec votre rémunération totale, et elle ne devrait pas en dépendre — le capitalisme n’est pas un bon système pour mesurer sa valeur
  • Les managers ont beaucoup moins de pouvoir qu’on ne l’imagine — s’ils ne virent pas quelqu’un, c’est qu’ils ne le peuvent pas
  • Les grades n’ont généralement pas d’importance — que vous soyez Principal Distinguished Staff Lead Engineer quelque part ou non. Ce qui compte, c’est ce que vous avez fait et accompli
  • Encore sur les grades : en début de carrière (moins de 10 ans), monter en grade est une bonne chose — cela développe les compétences et les responsabilités. Plus tard, redescendre d’un grade peut être avantageux — on garde la même rémunération, avec la possibilité d’une hausse au prochain palier
  • Maximisez votre 401k
  • Soyez gentils avec tout le monde — pas parce que c’est bon pour la carrière (même si ça aide), mais parce que la gentillesse est une récompense en soi
  • Si, au cours du dernier mois, vous n’avez rien appris d’un ingénieur junior ou d’un stagiaire, c’est que vous ne faisiez pas attention

Mince, il n’y a plus de vin.

  • Cela vaut la peine de dépenser de l’argent en cours, livres et conférences — j’ai investi dans plusieurs conférences, des formations à 1,5k, beaucoup de livres et des abonnements, et ça en valait la peine. Ça permet de mieux faire semblant de savoir ce qu’on fait
  • Sérieusement, pourquoi les développeurs web sont-ils si mal payés ? Ils connaissent tout, bon sang !!!
  • Le syndrome du canal carpien et les problèmes de dos ne sont pas une blague — dépensez tout de suite 1 000 $ pour un bon équipement
  • La personne la plus intelligente avec qui j’ai travaillé était docteur en maths — j’ai énormément appris à son contact. J’espère qu’il va bien
  • Histoire d’une fille qui était ma meilleure amie au lycée — des rumeurs disaient qu’on sortait ensemble, alors elle s’est mise à m’ignorer. Je l’ai mal vécu, mais sans rancune ; j’aurais dû mieux gérer ça à l’époque
  • En 4e, je voulais rompre avec ma petite amie mais je n’ai pas su lui dire et j’ai commencé à l’ignorer — c’était vraiment un comportement lamentable. Désolé, Lena
  • Le meilleur aspect du métier d’ingénieur logiciel, c’est de pouvoir rencontrer et parler avec des gens qui pensent les problèmes de la même manière. Pas les mêmes loisirs : le même mode de pensée
  • Il n’y a pas assez de femmes dans la tech — j’encourage et j’aide les ingénieures de mon organisation, mais je ne sais pas quoi faire de plus
  • Même chose pour les ingénieurs noirs
  • Je n’ai jamais détesté une technologie avant de la connaître en profondeur — si vous la détestez mais pouvez quand même la recommander à un client, c’est probablement une bonne techno. Jenkins est affreux, mais le recommander ne relève pas de la faute professionnelle logicielle
  • git est affreux, mais on n’a pas le choix — les outils GUI sont l’enfer, la ligne de commande est mieux. Il y a sept commandes à retenir, le reste se cherche sur Google
  • Puisque je suis data engineer, une leçon orientée data : n’utilisez pas Pandas
  • C’est plus simple de travailler avec un analyste semi-technique dans l’équipe — des gens qui comprennent la programmation mais pas l’ingénierie logicielle. S’ils ne comprennent pas votre design, c’est que votre design est mauvais. J’ai plus progressé grâce aux analystes qu’avec les ingénieurs les plus brillants
  • Le mode sombre devient douloureux quand on vous force à repasser en mode clair — c’est pour ça que j’utilise le mode clair
  • Tout ce que je sais de la sécurité, c’est que je n’y connais pas grand-chose

Mince, il n’y a plus de vin.

  • Un bon ingénieur, c’est quelqu’un qui connaît les bonnes pratiques ; un ingénieur senior, c’est quelqu’un qui sait quand il faut y déroger
  • Si vous travaillez dans un environnement où l’on cherche à rejeter la faute lors des bugs ou incidents, il est temps de partir
  • Les boîtes progressistes, surtout les startups, disent d’« apporter votre vrai vous-même » au travail — mais si votre vrai vous-même consiste surtout à regarder du porno ? Il est important de garder des frontières saines entre vie professionnelle et vie privée
  • J’aime bien boire avec les collègues au happy hour, mais je préfère quand même passer du temps avec mes enfants, ma famille et mes amis
  • Le meilleur exemple de leadership que j’aie vu : un leader qui a assumé la responsabilité d’une erreur qui était 100 % de ma faute — pour ce genre de personne, j’irais au feu
  • Dans le même esprit, les meilleurs leaders savent défendre leur propre avis tout en expliquant aussi les points de vue opposés. J’essaie de leur ressembler
  • Laissez tomber les side projects — sauf si vous aimez ça, bien sûr ! Moi, je suis déjà trop occupé à écrire des posts bourrés sur Reddit
  • Les algorithmes et les structures de données comptent — mais jusqu’à un certain point. On ne fait pas passer un quiz de chimie organique à un pharmacien en entretien ; il y a donc un problème avec les processus de recrutement dans le secteur
  • Les ingénieurs DevOps sont vraiment très intelligents. Au moins, eux sont plutôt correctement rémunérés
  • Plus important que faire ce qu’on aime : faire quelque chose qu’on ne déteste pas
  • Plus on est proche du produit et du chiffre d’affaires, plus on a le sentiment d’être valorisé — quel que soit le niveau technique, même dans les entreprises les plus progressistes
  • Linux est important — même dans un environnement Windows. Pourquoi ? Parce qu’au final, vous finirez par utiliser Linux. Merci aux week-ends passés à m’amuser à installer Arch
  • Il faut se méfier des buzzwords vagues comme « big data » — j’ai déjà fait du streaming de 10 000 lignes toutes les 10 minutes sur Spark/Kafka, et du batch d’un milliard de lignes par heure en Python/MySQL ; l’étiquette ne veut rien dire
  • Il existe de bons postes en dehors de la Silicon Valley, mais beaucoup de bons postes sont en Silicon Valley

J’ai trouvé de la bière. On continue.

À propos des langages de programmation

  • J’ai commencé à utiliser un langage que je détestais (C#) et, même si je l’aime toujours peu, je reconnais qu’il est utile
  • J’ai quitté puis retrouvé ce langage que je détestais (C#), et il s’était énormément amélioré
  • Le principal avantage des langages fonctionnels, c’est que les fonctions sont des objets de première classe, et que tous les programmeurs le savent
  • Peu importe qu’un langage soit extraordinaire ou supérieur : si personne ne l’utilise, cela n’a aucun intérêt
  • Apprendre un langage n’est pas difficile — le plus dur, c’est d’apprendre l’écosystème

À propos des collègues

  • Le pair programming est excellent, mais il prend beaucoup de temps — et les entreprises n’ont en général pas envie de consacrer ce temps
  • Travailler avec des ingénieurs brillants fait de vous un meilleur codeur. Travailler avec des collègues non techniques mais brillants fait de vous un meilleur ingénieur
  • Ne travaillez pas en dehors du 9 h–17 h — sauf si vous êtes plongé dans un super projet et en état de flow. Là, c’est génial
  • 99 % des happy hours et moments sociaux inter-équipes, c’est juste du bavardage. Mais le 1 % restant, c’est une discussion sur du code important pour un projet important, et il m’est déjà arrivé d’éviter un gros problème juste parce qu’on a parlé boulot dans un cadre social. Ça ne veut pas dire qu’il faut absolument sociabiliser avec les autres équipes, juste qu’on cherche du lien humain, avec quelques effets secondaires utiles

À propos du télétravail

  • Dans un environnement moitié télétravail moitié bureau, il faut vérifier si les employés à distance sont traités comme des citoyens de seconde zone — si les décisions importantes se prennent « en allant boire un verre d’eau », il faut changer la culture de l’entreprise (difficile) ou partir vers une autre entreprise qui traite les télétravailleurs comme des employés de première classe
  • Le deuxième pire défaut du télétravail, c’est l’absence de tableau blanc
  • Le pire défaut du télétravail, c’est qu’il est plus difficile d’apprendre de ses collègues — à moins de pouvoir poser des questions sans gêne et de travailler dans une culture où les télétravailleurs sont réellement à égalité avec les personnes sur site, les cinq premières années de carrière sont mieux au bureau

À propos de la tech

  • Tout le monde sait que la technologie change, mais même si elle a énormément évolué en dix ans, les principes fondamentaux, eux, changent peu — surtout ceux du domaine concerné
  • Hacker News et r/programming ne servent vraiment qu’à se faire une idée générale et à suivre l’actualité ; les commentaires sont presque inutiles
  • Il y a beaucoup d’amateurs aux opinions tranchées, et c’est aussi vrai pour des articles publiés dans des journaux et blogs « respectés » — il faut écouter les rumeurs, mais juger par soi-même
  • Je travaille dans une startup à la pointe, mais nous n’utilisons pas la dernière technologie XYZ publiée par l’entreprise ABC à la pointe — ce qu’elles annoncent ne représente qu’une infime partie de leur ingénierie, et pour le reste elles utilisent surtout des technologies semblables aux nôtres
  • Cela dit, il faut savoir lire les signes — si vous voulez travailler avec des technos modernes mais que votre entreprise développe encore surtout autour de jQuery, il est temps de reconsidérer la situation

À propos du data engineering

  • Puisque je suis data engineer, j’ajoute quelques conseils et retours d’expérience spécifiques à la data
  • SQL est roi — MySQL, Postgres, Oracle, SQL Server, SQLite restent tous extrêmement puissants. Même en adoptant une nouvelle techno, la plupart des acquis se transfèrent
  • La plupart des entreprises ne font pas de streaming — c’est difficile et complexe. Même avec dix ans d’expérience, si vous ne savez pas traiter 10 000 événements par seconde, vous trouverez quand même du travail
  • Airflow n’est pas terrible, voilà c’est dit. Il existe d’autres produits, mais Airflow reste le plus utilisé
  • Les projets de machine learning ont de fortes chances d’échouer — c’est complexe et difficile à mettre en œuvre. Vous ne me croyez pas ? Réfléchissez à quel point il est simple d’écrire des tests unitaires pour un modèle de ML
  • Ce domaine est encore jeune — il n’existe pas de bon livre sur le data engineering, il faut simplement pratiquer. Les bootcamps ne suffisent pas. Ça changera peut-être dans dix ans

À propos de la vie

  • Les gens meurent — si vous voulez que votre code devienne un héritage, consacrez-y du temps. Mais si, comme moi, votre héritage, ce sont votre famille, vos amis et les gens autour de vous, ne vous accrochez pas trop à votre code
  • Les bonnes personnes, les gens intelligents, les bons codeurs aussi écrivent du mauvais code — ne faites pas de la qualité de votre code une fonction dépendante de votre valeur personnelle
  • La tech a commencé comme un hobby puis est devenue un métier, et le hobby a disparu — acceptez que la tech ne soit plus un passe-temps, trouvez-en un autre ou quittez votre emploi si vous voulez retrouver le plaisir
  • La programmation et l’informatique théorique sont une discipline vieille d’environ 80 ans — comparée aux autres branches de l’ingénierie, nous sommes encore tous en train d’improviser
  • Je gagne plutôt bien ma vie — soyez reconnaissants, économes et mettez de l’argent de côté

Divers

  • J’ai construit de grosses plateformes et bibliothèques utilisées pendant des années par plusieurs équipes, mais le code dont je suis le plus fier reste de petits scripts que j’étais le seul à utiliser
  • L’accomplissement dont je suis le plus fier dans ma carrière, c’est d’avoir aidé d’autres personnes à mieux faire leur travail — je suis probablement destiné à devenir people manager, donc cela ne parlera peut-être pas à tout le monde
  • Quand je cherchais du travail, j’ai créé et mis à jour mon profil LinkedIn, puis je l’ai supprimé parce que je ne recevais que des réponses médiocres. Aujourd’hui, j’utilise LinkedIn pour trouver des candidats — il y a énormément de bruit sur LinkedIn, et sa seule valeur vient du fait qu’une partie du travail consiste à contribuer à ce bruit
  • À l’université, j’ai découvert qu’une fille m’aimait bien — je ne l’ai pas cru à cause de ma faible estime de moi, puis elle m’a proposé un rendez-vous. J’ai refusé poliment, et le fait d’avoir su dire « non » avec maturité à 19 ans reste l’un des moments dont je suis le plus fier dans ma vie
  • r/cscareerquestions est un marécage d’ego et de désinformation — j’aimerais secouer ces gens et leur expliquer à quoi ressemble le monde réel, mais ils ne me croiraient pas

Ce que je ressens en ce moment

  • Je suis ivre et je ne bois pas d’habitude, donc j’ai l’impression que tout ce que je raconte est gênant ou affreux
  • Je ressens très fortement que les gens doivent épargner et investir — si vous avez un salaire à six chiffres, maximisez votre 401k
  • Je suis devenu ce que j’ai toujours détesté — quelqu’un qui travaille dans la tech mais évite la tech dans la vie de tous les jours. Peut-être que c’est ça, vieillir
  • r/ExperiencedDevs est une communauté plutôt bonne. Merci aux modérateurs. Ils sont beaucoup moins remerciés qu’ils ne le méritent
  • Je dois ma carrière, mon salaire et ma vie à Reddit — je gagnais le salaire minimum dans une station-service, puis j’ai appris Linux, SQL, Python, C#, etc., et j’en suis arrivé là. Reddit se fait souvent critiquer, mais certaines communautés permettent réellement de sortir de la pauvreté
  • Les enfants, c’est super — je n’en ai pas par choix. J’aime les enfants, mais j’ai peur du père que je serais. Est-ce trop personnel pour ce texte ?
  • Un jour, quelqu’un m’a demandé qui j’admirais, et j’ai répondu Conan O'Brien ; on s’est moqué de moi. Pourtant j’étais sincère — à la fin de son dernier Tonight Show, il avait dit : « soyez gentils et travaillez dur ». J’ai entendu ça à une période difficile de ma vie et, comme je n’avais rien à perdre, j’ai décidé d’appliquer ce conseil. Cela fait plus de dix ans que j’essaie d’être gentil, ce qui m’a permis de rencontrer des gens formidables, et en travaillant dur et en essayant des choses nouvelles, ma vie s’est infiniment améliorée. Ça peut sembler ridicule de dire qu’une émission de fin de soirée a donné de la plénitude à ma vie, mais c’est ma vie, et j’assumerai toujours le fait qu’une part de ma réussite vient d’un humoriste de télévision nocturne

Je suis complètement saoul, donc ignorez tout ce que j’ai dit. Désolé pour cette interminable tirade.

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.