En résumé, ce livre va essayer de définir la notion de développeur "professionnel".
Voici en quelques lignes les notions qui m'ont le plus marquées et avec lesquelles je suis d'accord (en théorie ou en pratique).
- prendre ses responsabilités: quand on s'engage, il faut respecter sa promesse
- savoir dire non
- savoir ce que cela représente de dire oui (ou je vais essayer ...), c'est un engagement. Plutôt donner une fourchette (x jours plus ou moins y avec des probabilités de succés)
- savoir dit que l'on va être en retard, et ce, dès que l'on s'en aperçoit. Ce n'est pas professionnel de dissimuler une vérité pour se protéger
- respecter les horaires de l'équipe
- ne pas faire des heures insoutenables, travailler beaucoup ne signifie pas bien travailler
- quand on développe, l'objectif doit toujours être : les testeurs ne trouveront pas de bug, un bug, c'est un échec. Trouver les moyens de ne pas reproduire le problème
- 100 % de code testé: non négociable -> question de confiance dans ce que l'on livre
- ne pas changer ses habitudes de bonnes pratiques sous pression, si on a de bonnes pratiques quand ca va bien, c'est parce que c'est la meilleure façon de résoudre les problèmes
- mentorer les plus jeunes, un des seuls métiers où l'on met des nouveaux sur des projets importants en autonomie, penser au pair programming
- faire faire des projets à des équipes plutôt que monter des équipes pour un projet
- savoir travailler en équipe : développeur moyen : solitaire, aime être dans sa bulle. Ce n'est pas parce que tu travailles mieux comme ça que l'équipe travaille mieux en adoptant ce mode de travail
- savoir demander de l'aide
- savoir faire du pair, surtout quand on est fatigué / pas motivé
- dormir suiffisament et ne pas travailler fatigué (code à jeter)
- savoir prendre des pauses (pomodoro ...)
- savoir garder sa concentration : refuser poliment les questions quand on a besoin de rester concentré et revenir à la prochaine pause
- TDD works (http://blog.cleancoder.com/uncle-bob/2014/12/17/TheCyclesOfTDD.html)
Ce livre devrait être lu pendant nos études. Il y a des mises en situation, des retours d'expérience qui appuie bien le message de l'auteur.
Voici le seul chapitre du livre avec lequel je suis partiellement en désaccord :
-----------------------------------------------------------------------------------
Chapter I, Profesionalism : WORK ETHIC
Your career is your responsability. It is not your employer's responsability to make sur you are marketable.
It is not your employer's responsability to train you, or to send you to conferences, or to buy you books.
These things are your responsability. Woe to the software developer who entrusts his career to his employers.
Some employers are willing to buy you books and send you to training classes and conferences. That's fine, they are doing you a favor.
But never fall into the trap of thinking that this is your employer's responsability. If your employer doesn't do these things for you, you should find a way to do them yourself.
It is also not your employer's responsability to give you the time you need to learn. Some employers may provide that time. Some employers may even demand that you take the time.
But again, they are doing you a favor, and you should be appropriately appreciative. Such favor are not something you should expect.
You owe your employer a certain amount of time and effort.
For the sake of argument, let's use the U.S. standard of 40 hours per week. these 40 hours should be spent on your employer's problems, not on your problems.
You should plan on working 60 hours per week. The first 40 are four your employer. The remaining 20 are for you.
During the remaining 20 hours you should be reading, practicing, learning, and otherwise enhancing your career.
I can hear you thinking: "But what about my family? What about my life? Am I supposed to sacrifice them to my employer?"
I'm not talking about all your free time here. I'm talking about 20 extra hours per week. that's roughly three hours per day.If you use your lunch hour to read, listen to podcasts on your computer, and spend 90 minutes per day learning a new language , you'll have at ill covered.
Do the math. In a week there are 168 hours. Give your employer 40, and your career another 20. That leaves 108. Another 56 for sleep leaver 52 for everthing else.
Perhaps you don't want to make that kind of commitment. that's fine, but you should not then think yourself as a professional. Professionals spend time caring for their profession.
Perhaps you think that work should stay at work and that you shouldn't bring it home. I agree! You should not be working for your employer during those 20 hours. Instead, you should be working on your career.
Sometimes these two are aligned with each other. Sometimes te work you do for your employer is greatly beneficial to your career. In that case, spending some of that 20 hours on it is reasonable.
But remember , those 20 hours are for you. They are to be used to make yourseff more valuable as a professional.
Perhaps you think this is a recipe for burnout. On the contrary, it is a recipe to avoid burnout.
Presumably you became a software developer because you are passionate about software and your desire to be a professional is motivated by that passion.
During that 20 hours you should be doing those things that reinforce that passion. Those 20 hours should be fun!
--------------------------------------------------------------------------------------
La phrase qui me dérange le plus est la suivante : "Perhaps you don't want to make that kind of commitment. that's fine, but you should not then think yourself as a professional"
Il est évident que l'évolution de notre carrière est de notre responsabilité.
Mais le développement n'est pas une passion pour tout le monde. Pour certain, c'est un travail qui s'effectue pendant le temps allouer à celui-ci.
Je considère donc que ma formation doit être une fraction de cette période.
J'ai déjà entendu plusieurs fois des discussions ressemblant à ceci :
"Les collègues sur ma mission c'est des boulets. j'en ai entendu un dire :
'Moi je suis la c'est pour le salaire sinon je viendrai pas'.
C'est inadmissible, heuresement que dans notre société, on ne recrute pas des gens comme ca."
Quand je réponds que je travaille pour le salaire, c'est parfois suivit d'un silence génant.
Mais lorsque l'on demande à ce même collègue : 'si t'étais millionaire, est-ce que tu continuerai de travailler ?'
La réponse est souvent négative.
Et bizarrement, ce n'est pas mon cas. Je pense que je travaillerai à mi-temps.