Étiquette : Développeur

L’art du versioning avec Git et GitLab

Dans le monde du développement logiciel moderne, la gestion efficace du code source est cruciale. Git est devenu en quelques années le système de contrôle de version le plus populaire et le plus utilisé par les développeurs à travers le monde. Cet article va explorer l’histoire de Git, son fonctionnement, ses avantages et comment l’utiliser efficacement.

Les systèmes de versioning avant Git

Avant l’avènement de Git, plusieurs systèmes de gestion de version existaient, mais présentaient des limitations significatives :

CVS (Concurrent Versions System)

  • Premier système de gestion de version largement adopté
  • Fonctionnement basique avec versionnage simple
  • Problèmes majeurs : lenteur, difficultés de gestion des branches

Subversion (SVN)

  • Successeur de CVS, plus moderne
  • Meilleure gestion des fichiers et des répertoires
  • Centralisé : nécessité d’une connexion au serveur central pour travailler

Ces systèmes avaient des limitations communes :

  • Gestion centralisée complexe
  • Performances réduites
  • Difficultés de collaboration à grande échelle
  • Opérations de branchement et fusion fastidieuses

La naissance de Git

Contexte de création

En 2005, Linus Torvalds, le créateur de Linux, fait face à un problème avec BitKeeper, le système de gestion de version utilisé pour le noyau Linux. Suite à des tensions avec l’éditeur, il décide de créer son propre système.

Objectifs de conception

Torvalds a conçu Git avec plusieurs principes fondamentaux :

  • Rapidité
  • Conception distribuée
  • Support complet pour les développements non linéaires
  • Protection contre la corruption de données

Avantages de Git

1. Système distribué

Contrairement aux systèmes précédents, chaque développeur possède une copie complète du dépôt, permettant :

  • Travail hors ligne
  • Indépendance par rapport au serveur central
  • Sauvegardes naturelles

2. Performances

  • Opérations locales ultra-rapides
  • Gestion efficace de grands projets
  • Compression intelligente des données

3. Branches et fusion

  • Création et fusion de branches instantanées
  • Gestion complexe de plusieurs flux de développement
  • Outils de merge puissants

4. Sécurité

  • Calcul de hash SHA-1 pour chaque commit
  • Traçabilité complète des modifications
  • Résistance à la modification non autorisée

Commandes Git essentielles

Configuration initiale

git config --global user.name "Votre Nom"
git config --global user.email "votre.email@example.com"

Création et clonage de dépôts

# Initialiser un nouveau dépôt
git init

Cloner un dépôt existant

git clone https://adresse-du-depot.git

Workflow de base

# Ajouter des fichiers
git add .
git add nom_fichier

# Commiter des modifications
git commit -m "Message descriptif"

# Voir l'état
git status

# Voir l'historique
git log

Gestion des branches

# Créer une branche
git branch nouvelle-branche

# Changer de branche
git checkout nouvelle-branche

# Créer et basculer sur une nouvelle branche
git checkout -b autre-branche

Cas d’usage : Création d’un projet avec Git et GitLab

Étapes détaillées

1. Initialisation du projet

# Créer un nouveau dossier de projet
kdir mon-projet
cd mon-projet

# Initialiser Git
git init

2. Premier commit

# Créer un README
echo "# Mon Projet Incroyable" > README.md

# Ajouter et commiter
git add README.md
git commit -m "Initialisation du projet"

3. Création d’une branche de développement

git checkout -b developpement

4. Ajout de fonctionnalités

# Ajouter des fichiers, faire des modifications
git add .
git commit -m "Ajout de nouvelles fonctionnalités"

5. Connexion à GitLab et publication du projet

Créer un nouveau projet vide sur GitLab (via l’interface web)
# Ajouter le repository distant
git remote add origin https://gitlab.com/votre-username/mon-projet.git
# Configurer la branche principale 
git branch -M main
Pousser le projet sur GitLab
# Pour la première fois, utilisez : 
git push -u origin main
# Pour pousser la branche de développement 
git checkout developpement git push -u origin developpement

6. Fusion avec la branche principale

# Revenir sur la branche main
git checkout main

# Fusionner la branche de développement
git merge developpement

# Pousser les modifications sur GitLab
git push origin main

Bonnes pratiques pour GitLab

Authentification

  • Utilisez un token d’accès personnel pour plus de sécurité
  • Configurez votre SSH si possible pour éviter de ressaisir vos identifiants

Protection des branches

  • Utilisez les règles de protection de branche sur GitLab
  • Configurez des revues de code obligatoires pour la branche principale
  • Limitez les droits de merge aux développeurs autorisés

Gestion des accès sur GitLab

# Inviter des collaborateurs
# Réalisable directement depuis l'interface web de GitLab

# Gérer les permissions
# Définir des rôles : Développeur, Mainteneur, Propriétaire

Intégration Continue avec GitLab

GitLab propose aussi des fonctionnalités d’intégration continue via GitLab CI/CD. Un fichier .gitlab-ci.yml à la racine de votre projet permettra de :

  • Automatiser les tests
  • Construire vos applications
  • Déployer automatiquement

Exemple simple de configuration CI :

stages:
- test
- build
- deploy

test:
script:
- echo "Exécution des tests"

build:
script:
- echo "Construction de l'application"

deploy:
script:
- echo "Déploiement"

A retenir

Git a révolutionné la façon dont les développeurs collaborent et gèrent leurs projets. Sa flexibilité, sa performance et sa robustesse en font un outil incontournable dans le développement logiciel moderne.

Conseils pour bien débuter avec Git :

  • Pratiquez régulièrement
  • Utilisez des conventions de nommage claires
  • Commitez fréquemment et de manière atomique
  • Explorez des plateformes comme GitHub ou GitLab

Le monde du développement évolue constamment, mais Git reste et restera probablement l’un des outils les plus essentiels pour les développeurs.

Comment devenir un développeur de blockchain ?

Après avoir présenté la blockchain dans un précédent billet, je vous propose un nouvel article vous permettant de découvrir comment devenir un développeur dans le domaine prometteur de la blockchain.

Développeur de blockchain

Que font-ils ?

Les développeurs blockchain sont les programmeurs qui créent des applications dans le domaine de la blockchain.

Ils gèrent l’ensemble du cycle de vie d’une application blockchain, ce qui signifie qu’ils sont responsables de la conception ainsi que de l’exécution de l’application. Ils créent l’ensemble de l’architecture du système blockchain, réalisent des contrats intelligents (smart contract) et optimisent les protocoles.

Types de développeurs de blockchain

Il existe deux types de développeurs de chaînes de blocs :

  • Blockchain Core Developer : Développeurs qui travaillent à la conception de l’architecture de réseau de l’ensemble du système, comme les protocoles de consensus (règles de travail), etc.
  • Développeur de logiciels blockchain : Développeurs qui construisent des applications décentralisées à l’aide d’un système de réseau blockchain.

Dans ce blog, je vais faire le focus sur les missions du développeur de logiciels de blockchain car la demande est de plus en plus forte.

Aujourd’hui, c’est l’un des ensembles de compétences qui se développe le plus rapidement, le nombre d’emplois dans ce domaine augmente et va poursuivre sa croissance dans les années à venir grâce à l’accroissement du nombre de domaines intéressés par la blockchain.

Compétences requises pour devenir un développeur de blockchain

L’architecture logicielle blockchain peut être classée en 4 catégories, telles que :

  1. Front-End
  2. Back-End
  3. Contrats intelligents (smart contract)
  4. Bases de données

FrontEnd

Voici les langages de programmation Front-End que vous devez connaître pour devenir un développeur de blockchain performant.

  • HTML
  • CSS
  • JavaScript

Ces 3 langages sont les langages de programmation de base que vous devez connaître, mais pour devenir un développeur de blockchain plus avancé et efficace, apprendre React.js ou Angular.js sera très utile.

Back-End

Il y a beaucoup de technologies back-end que vous pouvez apprendre ou que vous connaissez, qui sont applicables dans le développement blockchain.

Contrats intelligents

Les Smart Contracts sont simplement des programmes stockés sur une blockchain qui s’exécutent lorsque des conditions prédéterminées sont remplies.

Ils sont généralement utilisés pour automatiser des accords afin que tous les participants puissent connaître le résultat immédiatement, sans l’intervention d’un intermédiaire. Pour écrire un contrat intelligent, il faut connaitre Solidity et Vyper.

Base de données

Pour les bases de données, il est toujours préférable de connaître à la fois MySQL et NoSQL (MongoDB).

Ce sont les compétences de base que vous devez apprendre pour devenir un développeur de blockchain. En plus de cela, dans n’importe quel langage de programmation, vous devriez apprendre les concepts OOPs (Object Oriented Programming – Programmation Orientée Objets) parfaitement pour être un meilleur développeur.

Les extras, pour être un meilleur développeur Blockchain

Il y a certains sujets que vous pouvez apprendre pour avoir des connaissances supplémentaires en complément des exigences de base, pour devenir un meilleur développeur blockchain. Il s’agit de :

  • Qu’est-ce que Hyperledger ?
  • Qu’est-ce que IPFS ?
  • À propos de la cryptographie.
  • Qu’est-ce que Truffle ?
  • Que sont les NFTs ?
  • Qu’est-ce que DeFi ?

Ressources pour apprendre les compétences

Je vous recommande plusieurs chaînes YouTube pour apprendre à devenir un développeur blockchain :

  • Code Eater avec plusieurs tutoriels sur la blockchain,
  • Apprenez à créer des applications décentralisées sur la blockchain avec Dapp University,
  • La formation blockchain de plus de 16 heures de freeCodeCamp de débutant à expert en Python,

Il existe également de nombreux cours Blockchain sur Udemy auxquels vous pouvez vous inscrire.

Liens vers de la documentation

 

Conseils pour créer la meilleure configuration de bureau pour les développeurs

Les développeurs passent de longues heures à leur bureau à écrire des lignes de code, à collaborer avec leurs coéquipiers sur la conception de logiciels et à trier leurs messages. Les tâches d’un développeur requièrent une attention particulière, c’est pourquoi il est important de comprendre comment concevoir la meilleure configuration de bureau pour les développeurs afin d’améliorer la productivité et la fonctionnalité.

Si vous êtes un développeur débutant ou avancé et que vous cherchez à créer ou à réorganiser votre espace de travail pour l’adapter à votre flux de travail, cet article présente tout ce qu’un bureau de développeur idéal devrait comprendre, comment concevoir la meilleure installation de développeur, et les éléments techniques et non techniques essentiels nécessaires à un espace de travail de développeur.

Qu’est-ce qui fait l’efficacité d’un bureau de développeur ?

Un bureau de développeur est efficace s’il est capable de gérer la capacité de travail exigée par le domaine tout en réduisant la pression de travail. Selon Statista, 75 % des développeurs travaillent en moyenne neuf heures par semaine de cinq jours. Si vous souhaitez devenir développeur ou apprendre le développement de logiciels, vous devez créer un espace de travail qui dégage une atmosphère productive et confortable.

Un bon éclairage

En tant que développeur, vous ne devriez pas risquer de subir les effets négatifs d’un mauvais éclairage sur votre santé ou votre rendement au travail, car un mauvais éclairage peut causer des microtraumatismes répétés. Bien que la plupart des développeur optent pour un éclairage tamisé, l’ajout d’une simple lampe de bureau à votre bureau froid peut contribuer à réduire ce risque. Si vous n’avez pas accès à la lumière naturelle, une lumière LED ou incandescente peut améliorer votre configuration de bureau de développeur ou de développeur de logiciels.

Équipement de grande capacité

Disposer des bons outils de travail est le facteur le plus important qui détermine l’efficacité de votre bureau de développeur. Une journée typique dans la vie d’un développeur implique beaucoup de codage et de multitâches, c’est pourquoi il est essentiel d’investir dans des moniteurs doubles ou dans un ordinateur portable de programmation supplémentaire. L’achat d’accessoires pour votre bureau de développeur n’est pas complet sans des moniteurs externes, un clavier externe ergonomique, un câble USB-C et une souris sans fil pour la meilleure expérience de la souris.

Boosters d’humeur

Votre configuration de bureau doit inclure des éléments qui stimulent votre humeur et votre concentration au travail. Si vous êtes une personne visuelle, vous pourriez inclure des meubles cool dans votre espace de travail. Si vous êtes plutôt auditif, vous pouvez créer une liste de lecture de votre musique préférée. Par ailleurs, les plantes sont d’excellents stimulants de l’humeur et peuvent améliorer la qualité de l’air. Si vous aimez travailler en silence, veillez à installer un dispositif d’annulation du bruit à proximité de votre bureau.

Comment créer un bureau de programmation : 5 conseils pour l’installation d’un bureau de développeur

Accessoires de bureau ergonomiques

L’aménagement de votre espace de travail de programmation avec des chaises et un bureau ergonomiques n’est pas négociable. Étant donné que vous passerez de longues heures à votre bureau, vos accessoires de bureau doivent faciliter votre travail. Vos chaises de bureau doivent être confortables et offrir un soutien aux bras, à la nuque et au dos. Il est possible d’acheter des chaises bon marché en ligne.

Vous pouvez également opter pour un bureau debout réglable afin de pouvoir alterner entre la position debout et la position assise lorsque vous en avez besoin. Grâce à la hauteur réglable, vous pouvez rester debout tout en travaillant, le bureau étant à la bonne hauteur pour améliorer la posture. Vous pouvez également utiliser des claviers mécaniques, une souris sans fil et un tapis de souris pour améliorer la facilité d’utilisation et le confort.

Installez votre bureau dans un environnement serein

D’après une étude d’Upwork, le travail à distance devrait se poursuivre après la conférence COVID-19. Si vous souhaitez devenir développeur, vous devrez peut-être travailler à domicile à un moment ou à un autre. Il est donc essentiel de créer une configuration parfaite pour votre bureau à domicile. Tout d’abord, veillez à installer votre bureau à un bon endroit. Un bon emplacement est un espace calme avec une bonne source de lumière. Si vous partagez votre bureau avec vos collègues ou si vous vivez dans un quartier bruyant, investissez dans un casque anti-bruit.

Ne sacrifiez pas la fonctionnalité à l’esthétique

Les accessoires d’ameublement sont nécessaires pour donner du piquant à votre espace de travail et stimuler votre humeur, mais ils ne doivent pas se faire au détriment de la fonctionnalité de votre espace de travail. N’encombrez pas votre bureau d’un trop grand nombre d’objets non fonctionnels tels que des plantes artificielles, des cadres de bureau et des tasses. Vous pouvez toujours obtenir une belle configuration de bureau avec un design minimaliste. Si vous devez passer d’un objet à l’autre pour attraper votre casque, votre souris ou votre chargeur, ce n’est pas une bonne configuration de bureau.

Mettez en place un programme de travail sain

Pour éviter de souffrir d’épuisement professionnel et d’autres troubles liés au stress, créez un horaire de travail sain. Les employés s’accordent à dire que les horaires flexibles augmentent leur productivité. Votre horaire flexible doit tenir compte de vos tâches, de vos heures de travail et de votre niveau d’énergie. En cas de déséquilibre, vous risquez de souffrir de problèmes de santé liés au stress.

Alignez vos outils techniques sur votre flux de travail

En tant que développeur, optimisez votre espace de travail pour être plus productif. Avant d’acheter des outils techniques tels que des ordinateurs de bureau ou des ordinateurs portables, pensez à votre flux de travail. Si vous êtes amené à effectuer plusieurs tâches à la fois ou à travailler pendant de longues heures, vous devez trouver des systèmes conçus pour cette capacité. Même si vous disposez d’un budget limité, vous trouverez des ordinateurs portables ou de bureau bon marché qui conviendront parfaitement aux tâches intensives de programmation. Vos accessoires techniques doivent compléter les tâches complexes que vous effectuez en programmation.

5 éléments dans lesquels vous devriez investir pour aménager votre espace de travail de développeur

Si vous êtes novice en matière de programmation ou de travail à distance, il peut être difficile de créer l’espace de travail idéal pour vos tâches de programmation. C’est pourquoi nous avons dressé une liste des éléments techniques et non techniques essentiels à prendre en compte lors de l’aménagement de votre espace de travail de développeur ou de développeur de logiciels.

Éléments techniques à prendre en compte

  • Deux moniteurs. Vous devrez probablement exécuter plusieurs applications simultanément, et le fait de travailler avec un seul moniteur peut limiter votre productivité. En tant que développeur, vous devriez disposer d’au moins deux moniteurs si vous voulez optimiser votre productivité et votre efficacité. Les ordinateurs de bureau ayant des écrans plus grands, vous n’avez pas à craindre de vous fatiguer les yeux ou la nuque, à condition de les placer à des hauteurs personnalisées qui vous conviennent.
  • Poste de travail pour ordinateur portable. Si vous recherchez la commodité, vous pouvez opter pour un poste de travail portable. Les postes de travail portables sont conçus pour le multitâche, les calculs complexes et l’analyse de données. Si vous êtes un développeur ou un ingénieur logiciel et que votre flux de travail est important, vous devriez passer en revue les meilleurs ordinateurs portables pour la programmation. Il existe également des ordinateurs portables bon marché pour vos tâches de programmation intenses.
  • Casque anti-bruit. Vous devez pouvoir contrôler à volonté la limite de bruit dans votre espace de travail. En tant que développeur, vous devez investir dans un bon casque anti-bruit. Les casques antibruit sont dotés d’un microphone qui neutralise les sons à basse fréquence et peuvent être connectés à un lecteur de musique. Ces dispositifs permettent d’optimiser la productivité au travail.
  • Clavier ergonomique. Vous avez besoin d’un clavier de qualité pour une expérience de frappe optimale, et les claviers ergonomiques vous offrent cette possibilité. Non seulement ils soutiennent le poignet, mais ils réduisent également le risque de problèmes musculo-squelettiques chroniques tels que le syndrome du canal carpien. Choisissez un clavier ergonomique en fonction de vos habitudes de frappe.
  • Souris ergonomique. Une souris ergonomique est conçue pour s’adapter à votre paume. L’utilisation d’une souris ergonomique permet de réduire la compression des poignets et d’éviter les douleurs et l’inconfort liés à la frappe pendant de longues heures. Une souris de jeu ergonomique est conçue pour une utilisation prolongée, ce qui en fait un excellent choix.

Éléments non techniques à prendre en considération

  • bureau de developpeurBureau réglable. Votre espace de travail de programmation doit être équipé d’un bureau réglable afin que vous puissiez facilement alterner entre la position debout et la position assise pendant que vous travaillez. Cela permet d’éviter le gonflement des pieds causé par l’immobilité. Les bureaux réglables vous permettent également d’être plus agile et plus engagé dans vos tâches, ce qui augmente facilement votre productivité. Intégrez également un sous-main et un meuble de rangement à votre bureau pour favoriser l’organisation et l’efficacité.
  • Chaise ergonomique. Une chaise de bureau ergonomique vous permet de rester détendu, concentré et à l’abri des blessures posturales. En tant que développeur appelé à travailler de longues heures, vous avez besoin d’une chaise conçue pour le confort et l’efficacité. Vous pouvez personnaliser votre chaise en y ajoutant un soutien lombaire, un appui-tête, un accoudoir et un soutien dorsal. Elle doit également être équipée de roulettes pour vous permettre de vous déplacer sur votre bureau ou dans votre espace de travail lorsque le besoin s’en fait sentir.
  • Organisateur de bureau. Un organisateur de bureau permet d’éviter le désordre et d’optimiser l’espace de travail. Vous pouvez y ranger toutes les fournitures de bureau que vous utiliserez dans le cadre de votre travail dans un espace confiné afin qu’elles ne jonchent pas votre espace de travail. Pour faire des économies et gagner en efficacité, vous pouvez personnaliser votre organisateur de bureau. Si ce n’est pas le cas, vous pouvez en acheter un chez les vendeurs de fournitures de bureau.
  • Plateau d’énergie. Les développeur doivent disposer d’un plateau énergétique sur leur bureau. Un plateau énergétique typique doit comprendre une bouteille d’eau, une tasse à café et des barres énergétiques ou des fruits. Votre travail peut exiger des heures de travail longues et actives. Ces articles vous aideront à rester actif et hydraté pendant que vous travaillez.
  • Jouet anti-stress. Un jouet anti-stress peut être une bonne source de soulagement du stress, en particulier lorsque vous rencontrez des obstacles dans votre travail. Votre jouet anti-stress peut être n’importe quoi qui n’exige pas votre concentration active et qui vous calme lorsque vous êtes stressé. Vous pouvez personnaliser votre jouet anti-stress ou l’acheter auprès de vendeurs de jouets anti-stress. Un jouet anti-stress peut être une balle anti-stress ou un fidget toy.

Créer le meilleur espace de travail pour un développeur

Travailler en tant que développeur informatique présente des avantages, notamment un salaire annuel moyen impressionnant de 55 142 €. Cependant, selon l’entreprise ou les clients pour lesquels vous travaillez, vous pouvez être amené à travailler de longues heures. Si vous ne disposez pas d’un bon bureau pour programmer, cela pourrait affecter votre motivation et votre productivité au travail.

En tant qu’aspirant développeur de logiciels, il est essentiel de comprendre ce qui constitue la meilleure configuration de bureau pour les développeur afin de réussir à travailler, surtout si vous envisagez de travailler à distance. Bien que la création d’une configuration de bureau parfaite puisse entraîner des coûts élevés au début, à long terme, elle vous aidera à faire des économies et à éviter des complications de santé inutiles.

FAQ sur la meilleure configuration de bureau pour les développeurs

Quelles sont les trois compétences qu’un développeur doit posséder ?

Les trois principales compétences que tout développeur doit posséder sont le calcul et l’analyse mathématiques, la connaissance de la programmation et le dépannage. Toutefois, sans le bon ensemble de compétences non techniques, ces compétences techniques risquent de ne pas être bien mises en œuvre. Les développeurs doivent savoir comment gérer leur espace de travail s’ils veulent maximiser leur productivité.

De combien de mémoire vive ai-je besoin en tant que développeur ?

La mémoire vive minimale dont vous avez besoin pour programmer est de huit gigaoctets d’espace mémoire. Votre travail peut impliquer beaucoup de multitâches avec des programmes et des applications logicielles complexes, il est donc préférable de trouver des systèmes avec jusqu’à 16 gigaoctets d’espace mémoire externe. Vous bénéficierez d’un temps de chargement du système plus rapide, d’une meilleure connectivité réseau et d’un risque réduit d’arrêt de l’ordinateur.

De quel équipement un développeur a-t-il besoin ?

Tout développeur a besoin de plus d’un écran, de claviers de qualité, d’une souris sans fil et de bons accessoires. Vous devez appliquer les principes de l’ergonomie à l’achat de votre équipement afin de bénéficier d’une productivité et d’un confort accrus.

Le codage nécessite-t-il un bon ordinateur ?

Oui, le codage nécessite un bon système informatique. Que vous optiez pour un ordinateur de bureau ou un ordinateur portable, vous devez examiner les caractéristiques de votre système avant de l’acheter. Pour commencer, il vous faut au moins un processeur Core i5, huit gigaoctets de mémoire vive, un écran de 15 pouces et une résolution d’écran HD. Pour ce qui est de la conception, une carte graphique UHD suffit.

Développeur, comment écrire un meilleur code : collaborer !

Dans le monde des développeurs d’applications, la question la plus fréquente qui est posée est :

Comment enseigner aux nouveaux codeurs à bien coder ?

Dans ce billet, je vous propose de nous pencher sur la collaboration entre pairs.

Apprendre à collaborer

La compétence la plus importante que nous devrions enseigner aux nouveaux codeurs est de savoir comment bien travailler avec les autres sur une base de code partagée.

La collaboration n’est pas une compétence facile à acquérir mais elle a un impact énorme sur l’efficacité globale. C’est donc là que je veux commencer en m’adressant aux développeurs qui se préparent à rejoindre le monde du travail. Sur presque tous les projets sur lesquels nous travaillons, notre succès dépend aussi des autres.

Voici 4 techniques qui fonctionne bien :

  • Pair programming : une bonne programmation par paires nécessite un entraînement, mais il existe des moyens pour s’entrainer, tels que les dojos de codage et les startups week-end. Certains des meilleurs enseignants en programmation au monde utilisent activement la programmation par paires dans le cadre de leur formation.
  • Revue de code – parcourir le code d’un collègue avec un œil neuf permet de soulever des améliorations possibles : indentation, nom des fonctions, optimisation de code, … Globalement peu utilisé, cette pratique n’est pas très répandue mais elle est utilisée dans un cadre d’opération coup de poing ou curative. Cependant, de nombreuses équipes y trouvent grand avantage à l’utiliser.
  • Patience – lorsque vous travaillez avec la programmation par paires, il est facile de rester coincé dans les arguments. Notre profession ne dit presque rien sur les compétences interpersonnelles, mais nous en dépendons tout le temps. Essayez ceci : lorsque vous jumelez la programmation et que vous voyez votre paire faire une erreur, attendez de voir si elle / il la voit elle-même avant d’intervenir.
  • Humilité – « comment convaincre les autres d’écrire du code propre ? » Bien sûr, la question suppose que vous avez raison et qu’ils ont tort. La plupart d’entre nous a du mal à changer d’avis. Lorsque vous jumelez la programmation par pairs, si votre partenaire veut faire quelque chose qui vous semble erroné, attendez et laissez-le faire à son idée. La pire chose qui puisse arriver est que vous ayez la chance de leur apprendre quelque chose. Au mieux, vous apprenez quelque chose vous-même !

Sauf si vous écrivez tout le code vous-même, les compétences de collaboration sont primordiales. Ce n’est pas grave si vous « savez » à quoi le code devrait ressembler si vous ne pouvez pas être d’accord avec votre équipe.

Développeur : comment décrocher le job de tes rêves ?

En tant que développeur, tu te demandes comment faire pour décrocher le job de tes rêves. La plupart du temps, cette réflexion apparaît lorsque tu te trouves dans une situation qui ne te convient pas. Après tout, l’herbe ne serait-elle pas plus verte ailleurs ?

Avant de sauter le pas ou de claquer la porte de l’entreprise qui t’emploie, je te propose de passer en revue quelques points qui alimenteront ta réflexion pour aller chercher une belle opportunité professionnelle.

Tes motivations tu découvriras

Dans notre milieu de la prestation en ingénierie des technologies de l’information, nous avons tous entendu parler de l’aventure d’un collègue développeur qui a décroché une superbe mission, bien rémunérée avec des conditions de travail de rêve et une “stack techno de ouf” !

C’est sûrement vrai, mais avant de t’emballer et de suivre son exemple, il convient que tu te questionnes sur tes motivations personnelles car, en tant qu’individu unique, tes motivations et ta situation ne sont peut-être pas comparables et identiques aux siennes…

Les technos

Ce que cherchent les entreprises est de recruter un développeur qui détient un certain niveau d’expertise sur une stack technologique pour réaliser le projet dans les meilleures conditions de délais, de qualité et de budget.

D’autre part, tous les langages et les stacks technologiques ne sont pas au même niveau sur le marché de l’emploi et suivant les régions géographiques.

Aussi, ce point est le premier élément que tu dois prendre en considération. Tu dois être particulièrement réaliste sur le niveau de tes compétences sur la stack technos qui est attendue. Avoir 3 ou 4 années d’expérience sur un langage sur des projets d’entreprise avec des interaction avec le reste du SI n’a pas la même « valeur » qu’une mission de développement d’une application dans une startup.

Les conditions

Ton job de rêve doit être associé à des conditions de rêve… Mais au-delà des conditions financières, les conditions de l’environnement de travail sont à prendre en compte. Car même si ta rémunération annuelle peut paraitre confortable pour Monsieur Toutlemonde, tu peux très bien vouloir aller voir ailleurs…

Financières

Selon la région géographique où tu habites, les niveaux de rémunérations sont plus ou moins avantageuses. Par exemple, en région parisienne, les niveaux de rémunération sont 15% à 20% supérieurs à celles proposées en région. Mais les frais de vie courante sont aussi supérieurs (transport, logement, alimentation, …) : à toi de positionner le curseur suivant ton niveau d’acceptance.

Environnement de travail

Au-delà des aspects financiers, ton environnement de travail est également à prendre en compte.

En premier, l’organisation de l’espace de travail : tu peux très bien préférer intervenir dans un espace délimité comme un un bureau ou refuser l’intervention dans un openspace trop grand. Ce dernier ne te permettant pas d’assurer une certaine concentration, tu peux préférer un openspace à taille humaine dédié à un projet en particulier.

Par rebond aux lieux de travail, si tu as un logement équipé d’un espace dédié, tu peux aussi profiter du télétravail si tu es convaincu par ce mode de fonctionnement. A toi de voir quel part de ce temps tu veux consacrer au travail depuis la maison.

L’évolution

Autant les conditions financières et l’environnement de travail répondent à des exigences « matérialistes », les conditions d’évolution impliquent que tu prennes du recul pour imaginer la suite que tu veux donner à ton parcours professionnel.

Quel chemin veux-tu prendre ? Est-ce que tu souhaites évoluer d’un point de vue technologique, vers la gestion d’équipe, vers une mission Lead Tech, etc…

Comment te vois-tu dans 1, 2 ou 5 années, voir plus loin si tu as une vision claire de tes objectifs.

Ce point sera potentiellement déterminant lorsque tu rencontreras des chargés de recrutement car si tu arrives à te projeter, cela démontrera pendant l’entretien que tu as une vision claire du chemin à parcourir tout en donnant des perspectives pour ton intégration.

En gros, est-ce que ton profile correspond aux attentes de l’entreprise que tu cibles. Et en retour, est-ce que l’entreprise est en capacité de te donner les moyens et les missions répondant à tes ambitions d’évolution.

Tes compétences tu cultiveras

Compétences techniques

Le premier point qui semble important mais qui ne va pas toujours de soi est que tu dois être réaliste par rapport à tes compétences. Tu dois pouvoir isoler les langages sur lesquels tu as une expérience significative ou qui ton permis de progresser. Cette liste te permet de construire une sorte de portfolio de sujets/compétences qui alimente ta base expérience.

L’amélioration des compétences techniques passe également par des projets personnels ou des sujets d’exploration pour tester un langage ou un framework (boite à outils) que tu ne connais pas encore.

Par exemple, un développeur qui ne fait que du pur PHP peut s’intéresser au framework Symfony ou se lancer dans l’exploitation d’un CMS comme Drupal ou PrestaShop.

Les autres compétences

Même si les compétences techniques ont un poids important pour le recrutement, les chargés de recrutement ont de plus en plus tendance à privilégier d’autres critères de choix : les soft skills.

Ces dernières sont principalement axées sur les compétences comportementales et les traits de personnalité. Elles revêtent une importance croissante car en tant que développeur tu ne travailles pas seul. A minima, tu seras en relation avec les autres membres de l’équipe, les managers et parfois en lien direct avec le client. Donc ton comportement, ta manière de t’exprimer oralement ou par écrit ont autant d’importance que de savoir écrire du code qui fonctionne.

On y retrouve les compétences humaines qui ne s’apprennent pas à l’école :

  • Ouverture d’esprit,
  • Confiance en soi,
  • Sens des relations interpersonnelles,
  • Sens des responsabilités,
  • Adaptation au changement.

Même au moment d’un entretien orienté technique, ces éléments sont aussi analysés au travers d’un échange plus ou moins formel entre pairs.

Ces compétences s’acquièrent et entretiennent tout au long de ta vie.

Ton plan d’action tu élaboreras

Pour élaborer ton plan d’action il faut d’abord que tu détermines tes objectifs en tenant compte de tes motivations que tu auras su au préalable identifier. Ces objectifs doivent se décomposés en horizons temporels : court terme, moyen terme et long terme sans pour autant te mettre la pression évidemment mais en restant méthodique.

Être proactif

Je ne t’apprends rien si je te dis que l’information (la data) est le nouveau pétrole de notre époque. Et s’est bien pour ça que toutes les informations que tu peux capter peuvent t’ouvrir les portes d’une nouvelle opportunité professionnelle.

Être proactif veut dire qu’au regard de tes objectifs, tu mets à profit ces informations pour adapter ou faire évoluer tes compétences pour répondre au besoin que tu pressens. A ne pas négliger les possibilités de poste ou de nouvelle mission que peut offrir ou créer ton employeur actuel.

Par exemple : ton entreprise a décroché un nouveau contrat pour réécrire avec une stack technique récente des fonctionnalités vente d’une application bancaire. Le fait de disposer de ces compétences et l’envie de travailler sur ce projet peuvent te permettre de proposer tes services au responsable du projet interne.

Être curieux

Rester ouvert au marché

Si tu disposes d’un outil de veille, comme un agrégateur de flux RSS, tu peux y ajouter des sites à suivre qui concerne les tendances du marché de l’emploi.

Par exemple, le site Developpez.com présente régulièrement des actualités autour des langages qui ont la côte ou les valeurs sûres.

Les Jobboard publient également des articles pour constituer son CV et les bonnes pratiques lors des entretiens. Le site Glassdoor propose des grilles de salaire par métier et par région.

Analyse de la situation

En tenant compte du marché, tu peux en complément analyser ta situation personnelle et déterminer si tu as déjà le poste de tes rêves ou si tu dois engager un plan d’action pour en changer et sous quel délai. C’est bien l’évolution de ta situation qui va déterminer ton passage à l’action.

Laisser une place au hasard

Un plan d’action ne doit pas prévoir toutes les étapes dans le détail et une part de hasard doit y trouver sa place.

Faire de la veille, assister à des meetups, suivre des formations en ligne ou dévorer les TEDx, participe à maintenir ce que j’appelle un « fil rouge d’ouverture d’esprit ». Et bien souvent ces bulles t’amènent à faire des rencontres, à pécher de nouvelles idées, à voir les choses sous un autre point de vue.

Ce hasard ne se provoque pas, il se cultive par des petites actions permettant de donner de l’oxygène à ta réflexion sur ta situation et d’ouvrir d’autres opportunités.

Conclusion

Cette conclusion t’appartiens au regard de l’article que je viens de te proposer.

 

 

 

 

 

 

Les formations Développeur Frontend à suivre chez OpenClassrooms

Dans le développement web, on distingue le fontend qui utilise le navigateur pour interpréter le code informatique et le backend qui utilise le serveur où sont stockés les fichiers informatiques. Les technologies serveur peuvent (mais ce n’est pas obligatoire) être en interrelations avec des bases de données.

Ces deux manières de développer ne sont pas en opposition mais viennent bien souvent se compléter sans être obligatoires. Vous pouvez disposer d’un site internet développé en HTML et CSS qui se suffit à lui-même sans avoir besoin de développer quoi que ce soit coté serveur. Dans ce cas, on est face à un site « vitrine » limité en fonctionnalité. Les développements coté serveur viennent enrichir les possibilités de base du site HTML-CSS comme par exemple un espace membres ou un blog avec commentaires.

Ces deux cotés du développement se retrouvent dans le profil des codeurs qui interviennent sur les projets web. Aussi on parle de développeur frontend qui utilisent les langages HTML, CSS, JavaScript et jQuery et les développeurs backend qui utilisent des langages tels que PHP, MySQL, C+, C# et bien d’autres…

Formation OpenClassrooms avec Mathieu Nebra

Dans ce billet, je souhaite faire un zoom sur les formations mises à disposition sur OpenClassrooms pour les développeurs frontend que je suis depuis quelques temps. En effet, sur le site, anciennement le SiteduZero a l’avantage de présenter les choses de manière compréhensive par le plus grand nombre. Le ton est détendu, un peu comme si le formateur s’adressait directement à son interlocuteur.

Ci-dessous, je vous présente ma sélection de formation pour les développeurs frontend :

Apprenez à créer votre site web avec HTML5 et CSS3

Très franchement sans de bonnes bases en HTML et CSS vous n’irez pas bien loin dans le développement de sites web. Alors autant démarrer tout de suite sur de bonnes bases et utiliser toute la richesse de HTML5 et CSS3.
Avec l’avènement de la navigation mobile, HTML5 et CSS3 est le couple qui vous permet de développer pour ces supports. Ils possèdent des fonctions qui n’existent pas dans les versions précédentes. Aussi, bien les maitriser vous mets le pied à l’étrier pour aller vers l’avenir du web.
http://fr.openclassrooms.com/informatique/cours/apprenez-a-creer-votre-site-web-avec-html5-et-css3

Dynamisez vos sites web avec Javascript !

JavaScript permet d’apporter un peu plus de contrôle dans les informations communiqués par le visiteur du site. Par exemple, il est possible d’analyser les saisies lors du remplissage d’un formulaire de contact pour que l’adresse e-mail renseignée soit bien une adresse e-mail. La richesse de JavaScript va bien au-delà de cet exemple et vous trouverez bien d’autres applications en suivant cette formation en ligne.
http://fr.openclassrooms.com/informatique/cours/dynamisez-vos-sites-web-avec-javascript

Simplifiez vos développements JavaScript avec jQuery

jQuery est comme JavaScript un langage de script et vient enrichir le site internet. Ce langage est également utilisé pour le développement d’applications ou de sites mobiles multiplateforme (iOS, Android ou Windows Phone…).
http://fr.openclassrooms.com/informatique/cours/simplifiez-vos-developpements-javascript-avec-jquery

Prenez en main Bootstrap

Bootstrap est un framework HTML, CSS et JavaScript qui permet d’utiliser une base pour vos développements. Un framework est une boite à outil qui emmène avec lui des mises en forme et le système de grilles permet de mettre en place des designs adaptatifs au terminal qui consulte le site web (smartphone, tablette et ordinateur). C’est ce que l’on nomme également le Responsive Web Design.
http://fr.openclassrooms.com/informatique/cours/prenez-en-main-bootstrap

Bonnes formations !

Développeur, comment progresser dans votre métier ?

À quoi les développeurs doivent-ils penser pour progresser dans leur métier alors que les Technologies de l’Information continuent d’évoluer à un rythme incroyable ?

Concentrez-vous à la fois sur les compétences techniques et non techniques. Vous aurez besoin des deux car l’évolution continue. Comme pour toute discipline qui exige un niveau d’excellence, vous devez aller au-delà de ce que vous avez appris à l’école.

C’est particulièrement vrai en informatique étant donné que tant de choses ont changé depuis que vous êtes sorti de l’école. Les principes de gestion des données et les coûts de stockage ont basculés avec l’avènement du big data et du cloud.

Les développeurs de logiciels doivent également sensible au marketing d’entreprise. Il doivent, par exemple, se poser les questions suivantes :

  • Quel est le problème que j’essaie de résoudre ?
  • Comment ce que je construis sera monétisé ?

Comment définir les priorités pour être un meilleur développeur ?

  • Aiguisez votre esprit et vos compétences ;
  • Soyez focus sur la sécurité. Ceci est important pour vous et votre entreprise. La gestion des identités est un problème important aujourd’hui ;
  • Lancez-vous dans l’apprentissage de nouvelles langues pour rester pertinent ;
  • Il est difficile de suivre toutes les évolutions, mais restez sur vos gardes, ayez faim et réfléchissez à ce que vous pouvez faire aujourd’hui que vous ne pouviez pas faire hier.

Beaucoup de portes s’ouvrent vers de nouveaux univers. Décidez quelles sont celles qui valent la peine d’être ouvertes.

Que pensez-vous de la construction d’un produit destiné aux développeurs ?

Voici une opportunité pour aider les développeurs à se mettre à l’avant-garde. AWS Lambda et serverless déploient le code dans un paradigme totalement différent. Les développeurs d’applications doivent continuer à apprendre pour suivre le rythme des changements. Chaque personne a sa propre façon de consommer de l’information – Elle doit apparaitre aussi facile d’accès et attrayante que possible.

Où obtenir des informations sur ce qui se passe dans l’informatique ?

  • Passer du temps en dehors de 9h à 17h pour explorer et essayer de nouvelles choses ;
  • Juste essayer des choses. Il y a beaucoup de modes. Il faut essayer de comprendre ce qui est réel et ce qui relève du buzz ;
  • Comme la plupart des développeurs, qui ont travaillés avec la technologie Flash pour concevoir des animations ou des mondes en 3D. Des mois ont été investit en apprentissage et Adobe a fini par tuer son produit. Steve Jobs a déclaré la guerre à Flash et à donner le coup de grâce en interdisant Flash dans les produits Apple. Vous devez être prêt à changer d’orientation et à reconstruire des applications.

C’est pourquoi j’aime l’open source.

Il y a moins d’occasions de se faire brûler les ailes. Lorsque vous mettez fin à la vie d’un produit ou d’une technologie, vous laissez les développeurs sur le carreau.

Quels sont les sujets inspirants et motivants ?

  • Certaines des meilleures solutions open source ont été construites parce qu’il y avait une passion et un problème à résoudre plutôt qu’un désir de gagner de l’argent ;
  • L’humain doit être placé au cœur de chaque application (comment mon application peut aider mon prochain ?) ;
  • Plus le développeur peut se concentrer sur UX et UI, meilleure sera l’application (est que mon application est intuitive et facile à utiliser ?).

Apprenez à coder et changez de vie

Le mythe du développeur seul dans son garage plus proche de l’animal associable que de l’être humain a fait son temps et je n’y crois pas une seule seconde.

Évidemment, on connait tous les histoires des pionniers de l’informatique et sa cohorte d’anecdotes. Mais ça c’était avant…

Aujourd’hui, il est facile de trouver des sources d’information pour apprendre à « coder » des programmes informatiques.

1. La vulgarisation sur le Net

Bill Gates et Marc Mark Zuckerberg participent à la promotion de l’apprentissage du développement d’applications informatiques pour tous au sein de la plateforme code.org
Ce site ne fera pas de vous un développeur « full-stack » mais permet aux enfants et même à des adultes de comprendre la fabrication d’un programme et de se poser un tas de questions pour « modéliser » et atteindre son but : bâtir un programme fonctionnel.

Apprendre à écrire des programmes ouvre votre esprit et vous aide à mieux penser.
Bill Gates

Le mannequin Karlie Kloss avec son programme Kode with Klossy accompagne les jeunes filles dans la découverte et l’apprentissage du code.

2. Les forums d’entre-aide

Depuis que je travaille dans le digital, j’ai toujours été surpris par l’esprit de partage et cela, bien avant l’arrivée des réseaux sociaux.
On trouvait de nombreux forums de partage. Les anciens donnaient de leur temps pour répondre aux nouveaux arrivant qui eux-même partageaient leurs connaissances à leur tour une fois l’expérience grandissant.
J’ai moi-même fréquenté et participé assidument aux forums d’entraide Joomla ou Prestashop.

Les forums ont presque tous disparus (du moins ne remontent plus du tout dans les moteurs de recherche) et d’autres sources d’information sont arrivés.

3. Les Massive Open Online Course (M.O.O.C.)

Les « Massive Open Online Course » ont le vent en poupe et permettent de se former au développement web ou d’applications. Ils sont facilement accessibles et proposent, en plusieurs sessions, de découvrir et de progresser dans les langages informatiques.

La plateforme de MOOC la plus connue en France est OpenClassrooms (ex: LeSiteduZero) qui propose des programmes entiers appelé Parcours touchant le développement mais également la gestion de projets.

Les MOOC de chez France Université Numérique sont créés et dispensés par de grandes écoles ou universités françaises ou internationales et leur contenu sont de très bonne qualité. On y trouve d’autres sujets que le développement (Management, Économie, Mathématique).

J’ai connu la plateforme de formation en ligne Udacity grâce aux « Google Study Jam » auquel j’ai participé en début d’année consacré au développement d’applications pour mobiles Android.
J’ai pu constater que les étapes s’enchainent avec à l’appui des vidéos explicatives et des quiz permettant de valider l’acquisition des savoirs.
Comme chez OpenClassrooms, on retrouve des parcours professionnels entiers menant à des certifications (Nanodegree) : Java, Android, iOS, Développement Web, etc…

4. Stack Overflow

Connaissez-vous les sites de type Q&A ?

Yahoo! avait depuis longtemps compris que l’échange entre internautes permettait de développer le trafic grâce à l’espace Q&A (Questions and Answers) de son portail. Le principe est simple, vous posez une question et les internautes qui ont la réponse la partagent. Les visiteurs votent pour la meilleure réponse et cette dernière passe en tête de liste juste en dessous de la réponse. Et zou, la plateforme Q&A devient participative à tous les points de vue.

Et bien Stack Overflowest basé sur ce principe. Le volume de Q&A est tellement important que vous trouverez forcément la réponse à votre question. La liste des langages de développement est impressionnante et la qualité des réponses est toujours au rendez-vous (les participants y veillent).

5. Les communautés Google+

Google n’a pas rencontré le succès escompté auprès du grand public avec le service Google+. Cependant, en faisant un tour d’horizon des communautés qui ont élues domicile sur ce réseau social, on trouve de nombreux groupes orientés Numérique ou Digital. On y croise des Geeks, des développeurs, des passionnés et des hobbyist (rien à voir avec les héros de J.R.R. Tolkien).

Cette semaine, travaillant sur le développement d’une application Android, j’ai été confronté à un soucis de récupération de données hébergées sur un WebService. Après plusieurs recherches sur le Net sans succès, j’ai posé la question juste avant d’aller prendre un bon repos mérité.
Dès le lendemain matin j’avais déjà des solutions proposées par les membres de la communauté Android Development.

Aide de la communauté de développeur Android

 

En aucun cas, ce billet se veut exhaustif et vous connaissez sûrement de nombreuses autres sources d’information pour développeurs.

N’hésitez pas à participer en laissant un commentaire sur vos sources d’information pour apprendre à programmer.

10 habitudes qui tuent la productivité du développeur

La productivité est une mesure de l’efficacité d’une personne, d’une machine, d’une usine, d’une organisation, etc… En tant que tel lorsqu’un développeur est improductif, cela signifie que ses efforts sont inefficaces ou de qualité médiocre. Personne n’aime produire un travail de mauvaise qualité… Cependant, il y a de (mauvaises) habitudes qui provoquent cette improductivité.

Voici dix (10) habitudes qui pourraient être en train de tuer votre productivité :

1. Mener plusieurs tâches de front

Traiter plus d’une tâche simultanément donne l’impression d’être plus performant mais la réalité est que vous perdez de l’énergie et de l’efficacité lorsque vous êtes dans la phase de commutation. Cette phase provoque une perte de concentration et de créativité. À chaque commutation, vous consommer du temps qui ne sert qu’à se plonger dans le contexte de la tâche. Ce temps « perdu » n’a aucune valeur ajoutée.

Faisons un parallèle entre votre cerveau et un ordinateur avec une quantité limité de mémoire vive. Lorsque vous lancer plusieurs applications, la RAM ralentit et la réactivité de votre ordinateur diminue. Et bien il se passe la même chose dans votre cerveau.
Passez au mode mono-tâche et passer à la tâche suivante que lorsque la précédente est terminée. Travaillez en mode Batch.

2. Ne pas avoir d’organisation en place

Organiser son espace de travail est très important pour gagner en productivité. Combien de temps perdu à trouver le chargeur de votre laptop alors que vous être en pleine séance de coding ?

Lorsque tout ce dont vous avez besoin bien rangé et facile d’accès vous diminuez le temps de latence et vous serez tout de suite paré à travailler. Trouvez une place pour tout ce dont vous avez besoin avant de démarrer votre journée qu’il s’agisse de matériel (ordinateur, souris, imprimante, smartphone, …) ou bien d’application comme l’agenda ou la todo liste.

Être organisé vous permet de vous sentir mieux tout au long de la journée de travail.

3. Ne pas avoir de routine de travail

Installer une routine dans ses journées de travail permet de diminuer le stress lié au flottement de la journée. Elle permet de rester concentré puisque l’organisation du travail est établie. La routine de travail empêche les moments de flottement qui emmène sur les chemins de la perdition (réseaux sociaux, check d’e-mail en pleine séance de travail,…).

Évidemment, vous n’êtes pas obligé de modéliser toute votre journée de travail en bon développeur que vous êtes 😉

4. Multiplier le nombre d’outils

Un bon artisan a de bons outils extrêmement utiles. En utilisant quelques outils la productivité se voit améliorée alors qu’utiliser un trop grand nombre d’outils peut aboutir à un résultat contraire. Il est très facile de trouver des outils qui se synchronisent facilement avec d’autres couvrant de nombreux besoins.

5. Ne pas suivre les résultats

Mettre en place des mécanismes de suivi permet de diminuer le stress du bug découvert par l’utilisateur final et améliore la performance du développeur. Suivre les remontées d’alerte permet d’anticiper et d’inclure une action dans l’organisation du travail plutôt que devoir subir un imprévu.

Sans suivi, il est difficile de connaitre votre véritable potentiel.

6. Prise de décision trop lente

Prendre trop de temps dans la prise de décision monopolise beaucoup d’énergie qui pourrait être utilisée pour augmenter la productivité. Mais il y a tellement de raisons qui poussent à différer une prise de décision :

  • Remettre au lendemain, procrastination ;
  • Dépendance excessive, pas d’autonomie ;
  • Isolement ;
  • Pas de vision stratégique ;
  • Manque de connaissance technique.

Pour améliorer la prise de décision rapide, vous pouvez utilise la méthode Quoi, Qui, Quand, Où et Comment permettant ainsi de renforcer les stratégies à mettre en œuvre pour atteindre les objectifs.

7. Répéter toujours les mêmes erreurs

Apprendre de ses erreurs permet d’avancer et de vous améliorer au fur et à mesure. Dans la programmation, vous serez confronté aux erreurs. Lorsque vous êtes au niveau développeur débutant, vous êtes enclin à faire des erreurs. Cela se produit également lorsque la concentration n’est pas au rendez-vous ou que vous avez peur de l’échec. Faire des erreurs est normal mais vous devez apprendre de vos erreurs pour éviter de les reproduire.

8. Ne pas respecter son cycle de sommeil

Votre productivité baisse inexorablement si vous ne dormez pas assez. D’autres symptômes apparaissent avec le manque de sommeil : mauvaise humeur, prise ou perte de poids, somnolence, etc…

Ne pas respecter son cycle de sommeil altère considérablement la mémoire et la concentration, tout en augmentant les niveaux d’hormones de stress et de perturber le métabolisme normal de l’organisme.

9. Ne pas faire de break pendant le travail

Le cerveau ne peut pas rester concentré de nombreuses heures aussi, il est conseillé de prendre une courte pause toutes les 30 à 45 minutes de session de travail intensif.

En tant que développeur, votre esprit créatif a besoin d’un moment de prise de recul et qui sait, un échange avec un collègue sur un autre sujet à la machine à café, amènera à votre esprit vagabond un début de solution au problème qui agite votre cerveau depuis le début de la journée…

10. Checker votre smartphone trop souvent

Si vous visez à réduire votre dépendance au smartphone, essayez de laisser votre téléphone dans une autre pièce ou de le mettre dans un tiroir. Garder votre téléphone hors de portée vous aidera à vous sevrer. Vous pouvez même utiliser ce moment comme une « récompense » lorsque vous avez terminé une tâche…

Mais pendant les séances de travail, point de smartphone à l’horizon.

Conclusion

Avez-vous fait un petit bilan de vos pratiques ? Parmi ces dix (10) habitudes qui pourraient être en train de tuer votre productivité quelles sont celles qui vous concernent ? Allez, avouez… 😉

Quelles sont vos habitudes pour favoriser votre productivité ? Partagez vos points de vue et expériences en laissant un commentaire ci-dessous.