Python >> Tutoriel Python >  >> Python

Comment utiliser Flow pour être plus productif en tant que codeur

"Le flux est le code source de la performance humaine ultime"Steven Kotler

Ceci est une ébauche de chapitre de mon prochain livre "From One to Zero" avec l'éditeur NoStarchPress sur le minimalisme dans la programmation. Le livre paraîtra en 2021—restez à l'écoute sur ma liste de diffusion avec beaucoup de contenu Python gratuit :

Dans ce chapitre, vous découvrirez le concept de flux et comment vous pouvez l'utiliser pour augmenter la productivité de votre programmation.

De quoi s'agit-il

Le concept de flux a été popularisé par Mihaly Csikszentmihalyi (prononcé "chick-sent-me-high"), un éminent professeur de psychologie et de gestion à la Claremont Graduate University et ancien chef du département de psychologie à l'Université de Chicago. En 1990, Csikszentmihalyi a publié le livre révolutionnaire sur l'œuvre de sa vie sous le même titre, Flow.

Mais qu'est-ce que le flux de toute façon ? Commençons par la définition intangible - ou ce que l'on ressent. Ensuite, vous apprendrez une définition plus tangible du flux basée sur ce que vous pouvez mesurer. En tant que codeur, vous aimerez davantage la deuxième définition !

Si vous rencontrez un flux, vous pouvez le décrire comme un état où vous êtes complètement impliqué dans la tâche à accomplir, concentré et concentré. Vous oubliez le temps et êtes entièrement impliqué dans la tâche à accomplir. Vous avez l'impression d'être dans la zone, complètement immergé dans la tâche qui vous attend, concentré et hyper-conscient. Il absorbe complètement votre attention. Vous ressentez un sentiment d'extase où vous ne ressentez pas le fardeau de la vie quotidienne. Votre clarté intérieure augmente et il devient évident pour vous ce que vous devez faire ensuite - les activités coulent naturellement de l'une à l'autre. Vous êtes également convaincu que vous pouvez faire l'activité, ce qui entraîne une plus grande exploration et même une prise de risque. Vous oubliez le temps, oubliez les luttes intérieures, les soucis et les peurs, et vous dépassez les objectifs égoïstes. L'activité est intrinsèquement gratifiante - vous aimez la tâche tout en la faisant. Vos performances et vos résultats explosent.

Six composants de flux

Selon la recherche psychologique menée par Mihaly Csikszentmihalyi, il y a trois six composants d'un état de flux.

  • Attention :Vous vous sentez complètement concentré. Vos pensées sont centrées sur ce qui se passe à ce moment particulier, et vous ressentez un profond sentiment de concentration.
  • Action :Vous ressentez un penchant pour l'action et vous avancez rapidement et efficacement dans votre tâche actuelle - votre conscience ciblée contribue à donner l'élan. Chaque action alimente l'action suivante, créant un flux d'actions terminées avec succès vers l'achèvement de la tâche.
  • Soi :En raison des processus biologiques dans votre corps, vous devenez moins conscient de vous-même et vous fermez vos critiques intérieures, vos doutes et vos peurs. Vous pensez moins à vous-même (réflexion) et plus à la tâche à accomplir (action). Vous vous perdez dans la tâche à accomplir.
  • Contrôle :Pourtant, même si vous êtes moins conscient de vous-même, vous appréciez un sentiment accru de contrôle sur la situation actuelle. Le sens de la maîtrise de soi vous donne une confiance sereine, et vous vous autorisez à sortir des sentiers battus et à développer des solutions plus créatives.
  • Heure  :Il semble s'être arrêté :vous perdez la capacité de ressentir le temps qui passe et votre expérience subjective du temps change.
  • Récompense :Vous êtes complètement immergé dans l'activité qui vous attend et vous l'appréciez. Faire simplement l'activité est ce que vous voulez faire, même s'il n'y a pas de récompense externe. Être immergé dans l'activité est intrinsèquement gratifiant.

Tous ces composants référencés sont subjectifs - et si vous êtes comme moi, vous voudrez savoir s'ils peuvent être mesurés. Voyons !

Effets biologiques du débit

Les termes «flux» et «attention» sont étroitement liés. Dans une thèse de 2013 sur le TDAH, Rony Sklar décrit l'attention comme suit (surlignés par moi) :

"Le consensus général des chercheurs est que, plutôt que l'attention étant un concept unifié, c'est" un concept à multiples facettes qui implique de multiples états comportementaux et processus corticaux que divers sous-ensembles de structures cérébrales contrôlent " (Zillmer et al ., 2001, p.170). Ceci est étayé par des résultats de recherche issus d'études de neuroimagerie, neuropsychologiques, cliniques et neuroanatomiques, qui révèlent que les fonctions attentionnelles ne peuvent pas être localisées dans une seule zone (Tucha et al., 2008). »

Cela met en évidence deux observations critiques. Premièrement, vous ne pouvez pas réduire l'attention à une seule variable ou à un seul emplacement dans le cerveau - c'est un concept à multiples facettes. Deuxièmement, des recherches tangibles examinent les différentes formes d'attention - une grande partie du travail est axée sur les impacts «négatifs» des patients atteints de TDAH. Cependant, Sklar souligne que le terme "déficit d'attention" implique à tort que les patients qui en souffrent ne peuvent pas se concentrer. Mais rien ne pouvait être plus éloigné de la vérité! En fait, un autre terme pour le flux est l'hyperfocus, et des chercheurs du monde entier ont montré que les patients atteints de TDAH en sont tout à fait capables !

Dans une publication de 2000, les chercheurs Kaufmann, Kalbfleisch et Castellanos soutiennent que "le TDAH n'est pas caractérisé par une incapacité à maintenir l'attention, mais plutôt par l'incapacité à réguler correctement l'application de l'attention à des tâches qui ne sont pas intrinsèquement gratifiants et/ou qui demandent des efforts. »

Que vous ayez ou non un TDAH, vous connaissez le sentiment de vous forcer à accomplir une tâche qui n'est pas intrinsèquement gratifiante. Vous n'avez pas besoin de recevoir un diagnostic de TDAH pour savoir qu'il est difficile de se concentrer sur des choses que vous n'aimez pas faire. Dès que vous aimez la tâche et que vous la trouvez intrinsèquement gratifiante, il est facile d'atteindre un état d'hyperfocus ou de flux. Si vous vous êtes déjà perdu en jouant à un jeu passionnant, en programmant une application amusante ou en couchant avec votre partenaire, vous savez à quel point il est facile d'atteindre le flux si vous aimez l'activité.

Votre corps libère cinq substances neurochimiques «de bien-être» telles que les endorphines, la dopamine et la sérotonine dans un état de flux. Vous oubliez les choses effrayantes du passé ou du futur. Vous vous retrouvez dans les profondeurs maintenant. Vos hormones de stress sortent du système. Votre sens de soi disparaît. Votre critique intérieur devient silencieux. Cette combinaison de changements dans votre conscience est libératrice - personne ne vous retient. C'est pourquoi ces drogues neurochimiques du plaisir peuvent devenir addictives. Mais cet ajout vous rend plus intelligent et plus productif, si vous parvenez à diriger l'activité de flux vers des activités productives telles que la programmation !

Voici ce qu'un expert en recherche sur les flux, Troy Erstling, écrit sur les effets biologiques du flux :

"Alors récapitulons :un état de flux, c'est comme prendre de la cocaïne, du speed, de l'héroïne, de la marijuana et des antidépresseurs en même temps ! […]

En termes plus scientifiques, la noradrénaline affine la concentration (acquisition de données) ; la dopamine améliore la reconnaissance des formes (traitement des données) ; l'anandamide accélère la pensée latérale (élargit la base de données recherchée par le système de reconnaissance des formes), et les endorphines aident à moduler les niveaux de stress et à vous garder calme en cours de route. TOUS ces éléments sont également incroyables en plus.

Juste pour enfoncer le clou :le flux est le seul moment où le cerveau produit ces 5 substances neurochimiques en même temps !"[1]

Flow se sent bien et conduit à d'excellents résultats en même temps. Maintenant, vous pouvez demander :montrez-moi la viande, comment puis-je obtenir du flux ? Répondons à cela ensuite !

Comment atteindre le débit ?

Csikszentmihályi a défini trois conditions pour atteindre le flux :(1) vos objectifs doivent être clairs, (2) le mécanisme de rétroaction dans votre environnement doit être immédiat et (3) il existe un équilibre entre opportunité et capacité.

(1) Des objectifs clairs : Si vous écrivez du code, vous devez avoir un objectif clair vers lequel les petites actions s'alignent. Dans un état de flux, chaque action mène naturellement à la suivante, qui mène à la suivante. Mais où cela s'arrête-t-il ? Une condition fondamentale pour obtenir le flux en premier lieu est de définir un objectif final clair que vous souhaitez accomplir et vers lequel vous pouvez cibler vos petites actions. Jouer à des jeux informatiques est un environnement fréquent pour atteindre un état de fluidité, car si vous réussissez dans les petites actions, comme sauter par-dessus un obstacle en mouvement, vous réussissez finalement dans le grand objectif, comme gagner le niveau. Si vous souhaitez utiliser le flux pour accélérer votre productivité en programmation, vous devez avoir en tête un objectif de projet clair vers lequel vous travaillez régulièrement. Chaque ligne de code vous rapproche de la réussite du projet de code plus vaste. Pourquoi ne pas suivre les lignes de code que vous avez écrites pour gamifier votre travail de codage !

(2) Mécanisme de rétroaction : Les ingénieurs en apprentissage automatique savent qu'ils ont besoin d'un excellent mécanisme de rétroaction pour former des modèles très efficaces. La plupart des algorithmes d'apprentissage automatique supervisé, tels que l'apprentissage par renforcement, s'appuient fortement sur le renforcement du comportement souhaité et la punition du comportement indésirable. Par exemple, vous pouvez donner à un robot apprenant à marcher une récompense artificielle pour chaque seconde où il ne tombe pas et lui dire d'optimiser pour une récompense totale maximale. Le robot peut alors ajuster automatiquement son action pour obtenir un maximum de récompenses dans le temps. Nous, les humains, nous comportons de manière assez similaire lorsque nous apprenons de nouvelles choses. Nous recherchons l'appréciation de nos parents, enseignants, amis ou mentors - même des voisins que nous n'aimons pas - et ajustons nos actions pour maximiser l'appréciation tout en minimisant les punitions (sociales). De cette façon, nous apprenons à prendre des mesures spécifiques et à en éviter d'autres. Recevoir des commentaires est vital pour cette façon d'apprendre. Comment pourriez-vous savoir si une action est positive ou négative si vous n'avez reçu aucun retour du monde réel ?

La rétroaction est une condition préalable au flux. Si vous souhaitez mettre en œuvre plus de flux dans votre journée de travail, demandez plus de commentaires. Trouvez des partenaires de projet que vous rencontrez chaque semaine. Publiez votre code sur Reddit ou StackOverflow et demandez des commentaires. Publiez votre MVP tôt et souvent pour recevoir un flux incessant de commentaires des utilisateurs sur les fonctionnalités fournies par votre logiciel. La recherche de commentaires pour vos efforts de programmation fonctionne comme un charme. Après que mon application logicielle pour apprendre Python, Finxter, ait commencé à recevoir un flux incessant de commentaires d'utilisateurs, j'ai été accro. Les retours m'ont poussé à travailler de plus en plus sur le code, et cela a ouvert la porte à de nombreux états de flux travaillant sur le code pour améliorer l'application.

(3) Équilibrer opportunité et capacité : Le Flow est un état d'esprit actif qui vous entraîne vers de nouveaux territoires. Vous ressentez une poussée d'excitation que vous ne pouvez ressentir qu'en explorant de nouvelles et fraîches opportunités. Si la tâche est trop facile, vous vous ennuyez facilement et vous perdez rapidement l'excitation. Si c'est trop dur, tu jetteras l'éponge tôt. La tâche doit être difficile mais pas écrasante.

La figure 7-1 montre le paysage des états d'esprit possibles. Je redessine cette visualisation sur la base du diagramme proposé dans les recherches originales de Csikszentmihályi.

Figure 7-1  :Dans un état de flux, le défi n'est ni trop difficile ni trop facile, compte tenu de votre niveau de compétence actuel.

L'axe des x quantifie votre niveau de compétences de bas en haut, et l'axe des y quantifie la difficulté d'une tâche donnée de bas en haut.

  • Si une tâche est beaucoup trop difficile pour votre niveau actuel de compétences, vous vous sentirez paniqué.
  • Si une tâche est un peu trop difficile pour votre niveau actuel de compétences, vous vous sentirez anxieux.
  • Si une tâche est un peu trop facile pour votre niveau actuel de compétences, vous commencerez à vous ennuyer.
  • Si une tâche est beaucoup trop facile pour votre niveau actuel de compétences, votre ennui se transformera rapidement en apathie.
  • Mais si la difficulté d'une tâche correspond à vos compétences actuelles, vous maximiserez la probabilité d'apparition d'un flux.

Notez que ce qui peut être trop difficile pour vous est probablement très facile pour une personne plus qualifiée. L'astuce consiste à rechercher constamment des défis plus difficiles et à augmenter votre niveau de compétences en conséquence en apprenant et en surmontant les obstacles posés par le monde réel. Cette boucle d'apprentissage vous maintient dans un cercle vicieux vers une productivité et des compétences de plus en plus élevées, et un plus grand plaisir au travail en même temps.

Les 6 principaux conseils de flux pour les codeurs

Dans la section précédente, vous avez appris les conditions préalables les plus importantes qui doivent être remplies pour permettre la fluidité dans votre vie professionnelle. Mais quels sont les conseils rapides et les tactiques qui en découlent ? Ensuite, j'ai compilé pour vous une liste très orientée vers le créneau du codage.

#1 Travaillez toujours sur un projet de code pratique explicite.

En fait, dans mon matériel en ligne Finxter, je recommande de diviser votre temps d'apprentissage en 70 % de travail sur un projet pratique et amusant de votre choix et seulement 30 % de lecture de livres et de didacticiels ou de visionnage de cours éducatifs. La plupart des codeurs ont cela à l'envers. Ils sont coincés dans la boucle d'apprentissage - ils ne se sentent jamais tout à fait prêts à se lancer dans un vrai projet. Ainsi, ils continuent d'apprendre et d'apprendre, ce qui les rend encore plus conscients des limites de leurs connaissances - une spirale négative vers la paralysie. Mais il existe un moyen de s'en sortir :définissez clairement votre objectif de projet et poussez le projet jusqu'à son achèvement, quoi qu'il arrive. Il s'avère que la définition d'objectifs clairs est également l'une des trois conditions préalables du flux. C'est une stratégie simple, mais elle fonctionne à merveille pour les étudiants en codage qui la mettent en œuvre !

#2 Travaillez sur des projets amusants qui remplissent votre objectif.

Le flow est un état d'excitation. Pour obtenir un flux, vous devez être enthousiasmé par le projet sur lequel vous travaillez actuellement. Si vous êtes un codeur professionnel, passez beaucoup de temps à réfléchir au but de votre travail. Convainquez-vous de la valeur de votre projet. Si vous apprenez seulement à coder, vous avez de la chance, vous pouvez choisir un projet amusant qui vous passionne ! Travaillez sur des projets que vous aimez et qui ont du sens pour vous. Vous aurez plus de plaisir, une plus grande probabilité de succès, plus de résilience face aux revers temporaires et des utilisateurs passionnés. Si vous ne pouvez pas attendre pour travailler sur votre projet en ouvrant les yeux le matin, vous savez que le flux est à nos portes.

#3 Jouez à partir de vos points forts.

Ce conseil du consultant en gestion Peter Drucker vaut de l'or. Vous aurez toujours beaucoup plus de faiblesses que de forces. Ainsi, vos compétences sont inférieures à la moyenne pour la plupart des activités. Si vous vous concentrez sur vos faiblesses, vous vous garantissez virtuellement un échec professionnel, en termes relatifs. Les personnes les plus performantes se concentrent sur leurs forces, construisent de grands îlots de compétences autour de leurs forces et ignorent essentiellement leurs faiblesses. Ensuite, ils passent la majeure partie de leur temps à effectuer un travail stimulant dans des domaines dans lesquels ils sont hautement qualifiés (voir le canal de flux dans la figure 7-1). En quoi êtes-vous particulièrement doué ? Quels sont vos intérêts spécifiques dans le vaste domaine de l'informatique ? Faites des listes pour répondre à ces questions et passez beaucoup de temps à clarifier les choses. Je ne peux pas penser à une activité aussi efficace que de déterminer vos forces, puis de structurer brutalement votre journée autour de celles-ci.

#4 Bloquer de gros morceaux de temps de codage.

Chaque codeur sait qu'il faut un certain temps avant qu'un projet de code compliqué ne soit "chargé" dans sa tête. Supposons qu'Alice et Bob travaillent sur un projet de code donné. Les deux doivent passer 20 minutes pour atteindre un état où ils comprennent parfaitement les exigences de leur projet de code - jeter un coup d'œil sur le projet, plonger dans quelques fonctions de code et réfléchir à la vue d'ensemble. Alice passe trois heures tous les trois jours sur le projet, tandis que Bob passe une heure par jour. Qui fera le plus avancer le projet ? Alice travaille (3h – 20min)/3=53 minutes sur le projet par jour. Compte tenu du temps de chargement élevé et constant, Bob ne travaille que 40 minutes sur le projet chaque jour. Ainsi, toutes choses étant égales par ailleurs, Alice surpassera Bob de 13 minutes chaque jour. Elle a beaucoup plus de chances d'atteindre un état de flux car elle peut plonger plus profondément dans le problème et s'y perdre entièrement.

#5 Aucune distraction pendant votre temps de flux.

Wow, comme c'est évident, mais comme c'est rarement mis en œuvre ! Les codeurs qui peuvent réduire les distractions (réseaux sociaux, applications de divertissement, bavardages sur les collègues) atteignent le flux beaucoup plus souvent que les codeurs qui ne le peuvent pas. Étant donné que travailler dans un état de flux permet d'obtenir jusqu'à 5 fois plus de résultats que de travailler dans un état d'esprit plus superficiel, vous pouvez maintenant commencer à comprendre pourquoi certains codeurs atteignent des ordres de grandeur des résultats que d'autres. Pour réussir, vous devez faire ce que les autres ne feront pas :arrêter les distractions est l'une de ces choses que peu de gens sont prêts à faire. C'est pourquoi éteindre votre smartphone et fermer cet onglet de médias sociaux fournit un énorme point de levier pour votre succès en tant que codeur.

#6 Faites les choses évidentes que vous savez devoir faire.

Juste au cas où vous vous demanderiez ce qu'ils sont :beaucoup de sommeil, une alimentation saine, la consommation de données de haute qualité et des exercices réguliers. En tant que codeur, vous connaissez l'expression garbage-in, garbage-out :Si vous alimentez un système avec de mauvaises entrées, vous obtiendrez de mauvais résultats. Essayez de cuisiner un repas savoureux avec des aliments avariés, presque impossible ! Un grand cuisinier se concentrera sur l'amélioration de la qualité des ingrédients, car il sait qu'un apport de haute qualité conduit à un résultat de haute qualité.

De même, en tant que codeur, vous êtes un système qui transforme les entrées (sommeil, nourriture, informations, soleil) en code. Plus vos entrées sont bonnes, meilleure est votre sortie. Lisez des livres de programmation au lieu d'articles de blog superficiels ou, mieux encore, lisez des articles de recherche publiés dans des revues de premier ordre, la meilleure qualité d'information qui soit. Dormez 8 heures pour augmenter votre niveau de concentration et d'attention pendant la journée. Mangez sainement et permettez à votre corps d'atteindre des performances optimales. Tous ces ingrédients augmenteront la probabilité d'accomplir le flux !

Conclusion

Alors, comment pouvez-vous cueillir les fruits à portée de main de la recherche sur les flux ? Bloquez du temps, concentrez-vous sur une tâche, restez en bonne santé et dormez correctement, fixez-vous des objectifs clairs, trouvez un travail que vous aimez faire et recherchez activement la fluidité. Dans ses recherches de 2013, Schaffer sept conditions de débit, vous pouvez réfléchir pour augmenter votre débit par unité de temps :(1) Savoir quoi faire, (2) Savoir comment le faire, (3) Savoir à quel point vous êtes faire, (4) savoir où aller, (5) rechercher des défis, (6) travailler sur vos compétences pour surmonter les grands défis, et (7) vous libérer des distractions.

Si vous recherchez le flux, vous le trouverez. Et si vous travaillez systématiquement dans un état de flux quotidien, vous augmenterez votre productivité au travail d'un ordre de grandeur. Un concept simple mais puissant pour les programmeurs et autres travailleurs du savoir.

Dans le chapitre suivant, vous plongerez dans la philosophie Unix de bien faire une chose, un principe qui s'est avéré être non seulement un excellent moyen de créer un système d'exploitation évolutif, mais aussi une excellente façon de vivre !

Références

  • Massimini, F., Csikszentmihályi, M., &Carli, M. (1987). Le suivi du vécu optimal :un outil pour la réhabilitation psychiatrique. Journal des maladies nerveuses et mentales
  • Hyperfocus dans le TDAH chez l'adulte :une étude EEG des différences d'activité corticale dans les états de repos et d'éveil, Rony Sklar, 2013, Dissertation
  • ÉDUCATION MONTESSORI ET EXPÉRIENCE OPTIMALE :UN CADRE POUR DE NOUVELLES RECHERCHES
  • Comment entrer dans l'état de flux | Steven Kotler :https://youtu.be/XG_hNZ5T4nY
  • URL :https://en.wikipedia.org/wiki/Flow_(psychologie)
  • URL :https://en.wikipedia.org/wiki/Mihaly_Csikszentmihalyi
  • URL :https://greatperformersacademy.com/books/8-amazing-tips-from-flow-the-psychology-of-optimal-experience
  • URL :https://troyerstling.com/the-neurochemistry-of-flow-states/
  • URL :https://www.karmacrm.com/blog/three-conditions-required-for-the-mental-state-of-flow/


Post précédent