SlideShare a Scribd company logo

To Code Is Human

D
Don Werve

Combining the art of programming with the science of cognitive psychology to emerge with a set of simple, proven techniques that enable programmers to work more effectively.

1 of 25
Download to read offline
to code is human
programmers are machines
that turn coffee into bugs features
software can only be as healthy
as the engineers that create it
manage your energy, not your time
get enough sleep
human beings are rhythmic creatures
establish a daily routine
Ad

Recommended

Какви услуги се предлагат в счетоводните кантори?
Какви услуги се предлагат в счетоводните кантори?Какви услуги се предлагат в счетоводните кантори?
Какви услуги се предлагат в счетоводните кантори?Minchev Consulting Group
 
Isabel teixeira algoritmos selectivos
Isabel teixeira algoritmos selectivosIsabel teixeira algoritmos selectivos
Isabel teixeira algoritmos selectivosisabel teixeira
 
VIRGIE MONTAJES. Resume 4
VIRGIE MONTAJES. Resume 4VIRGIE MONTAJES. Resume 4
VIRGIE MONTAJES. Resume 4Virgie Montajes
 
CHUA_CATHERINE_RESUME_2016-LINKEDIN
CHUA_CATHERINE_RESUME_2016-LINKEDINCHUA_CATHERINE_RESUME_2016-LINKEDIN
CHUA_CATHERINE_RESUME_2016-LINKEDINCatherine Chua
 

More Related Content

Viewers also liked (7)

Funciones mentales y emoción ma gabriela
Funciones mentales y emoción ma gabrielaFunciones mentales y emoción ma gabriela
Funciones mentales y emoción ma gabriela
 
La anorexia de Kafka
La anorexia de KafkaLa anorexia de Kafka
La anorexia de Kafka
 
Revista de Quimica
Revista de Quimica Revista de Quimica
Revista de Quimica
 
EMR ch19
EMR ch19EMR ch19
EMR ch19
 
Jesus meu guia é - LEONARDO GONÇALVEZ
Jesus meu guia é - LEONARDO GONÇALVEZJesus meu guia é - LEONARDO GONÇALVEZ
Jesus meu guia é - LEONARDO GONÇALVEZ
 
Presentacion exonerados 2
Presentacion exonerados 2Presentacion exonerados 2
Presentacion exonerados 2
 
Diapositivas cultura yudis 1
Diapositivas cultura yudis 1Diapositivas cultura yudis 1
Diapositivas cultura yudis 1
 

Similar to To Code Is Human

Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computersDHANIK VIKRANT
 
Computer basics slideshare
Computer basics slideshareComputer basics slideshare
Computer basics slideshareJay Ar Esparcia
 
Introduction Microsoft Word
Introduction Microsoft WordIntroduction Microsoft Word
Introduction Microsoft WordMujeeb UR Rahman
 
Cuadernillo inglés Tecnico
Cuadernillo inglés TecnicoCuadernillo inglés Tecnico
Cuadernillo inglés Tecnicoalbertososa
 
In 2014 Almost Everyone Has Some Kind Of Computer, Whether...
In 2014 Almost Everyone Has Some Kind Of Computer, Whether...In 2014 Almost Everyone Has Some Kind Of Computer, Whether...
In 2014 Almost Everyone Has Some Kind Of Computer, Whether...Katie Parker
 
Computer and Programming
Computer and Programming Computer and Programming
Computer and Programming Mahsa Ch
 
IRJET- KC Draw using Arduino
IRJET- KC Draw using ArduinoIRJET- KC Draw using Arduino
IRJET- KC Draw using ArduinoIRJET Journal
 
Iaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using armIaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using armIaetsd Iaetsd
 
INTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAM
INTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAMINTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAM
INTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAMSaraswathiRamalingam
 
PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...
PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...
PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...AM Publications
 
Automatic writing machine based on Arduino
Automatic writing machine based on ArduinoAutomatic writing machine based on Arduino
Automatic writing machine based on ArduinoIRJET Journal
 
IRJET- Computer vs Human Brain: An Analytical Approach and Overview
IRJET-  	  Computer vs Human Brain: An Analytical Approach and OverviewIRJET-  	  Computer vs Human Brain: An Analytical Approach and Overview
IRJET- Computer vs Human Brain: An Analytical Approach and OverviewIRJET Journal
 
INTRODUCtion to computing.pptx
INTRODUCtion to computing.pptxINTRODUCtion to computing.pptx
INTRODUCtion to computing.pptxDanielGuballo
 
Computer science basics for nonit students
Computer science basics for nonit studentsComputer science basics for nonit students
Computer science basics for nonit studentsSrikanth KS
 
Introductiontopcoperationsncii 130724004019-phpapp01
Introductiontopcoperationsncii 130724004019-phpapp01Introductiontopcoperationsncii 130724004019-phpapp01
Introductiontopcoperationsncii 130724004019-phpapp01Lanie Plecerda
 
Characteristics of computer.pptx
Characteristics of computer.pptxCharacteristics of computer.pptx
Characteristics of computer.pptxKashifaNawab3
 

Similar to To Code Is Human (20)

Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computers
 
Coding
CodingCoding
Coding
 
Computer basics slideshare
Computer basics slideshareComputer basics slideshare
Computer basics slideshare
 
Introduction Microsoft Word
Introduction Microsoft WordIntroduction Microsoft Word
Introduction Microsoft Word
 
Cuadernillo inglés Tecnico
Cuadernillo inglés TecnicoCuadernillo inglés Tecnico
Cuadernillo inglés Tecnico
 
In 2014 Almost Everyone Has Some Kind Of Computer, Whether...
In 2014 Almost Everyone Has Some Kind Of Computer, Whether...In 2014 Almost Everyone Has Some Kind Of Computer, Whether...
In 2014 Almost Everyone Has Some Kind Of Computer, Whether...
 
Lecture 2 - Introductory Concepts
Lecture 2 - Introductory ConceptsLecture 2 - Introductory Concepts
Lecture 2 - Introductory Concepts
 
smart note writer
smart note writersmart note writer
smart note writer
 
Computer and Programming
Computer and Programming Computer and Programming
Computer and Programming
 
IRJET- KC Draw using Arduino
IRJET- KC Draw using ArduinoIRJET- KC Draw using Arduino
IRJET- KC Draw using Arduino
 
Smart note maker
Smart note makerSmart note maker
Smart note maker
 
Iaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using armIaetsd robo control sytsem design using arm
Iaetsd robo control sytsem design using arm
 
INTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAM
INTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAMINTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAM
INTRODUCTION TO INFORMATION TECHNOLOGY -SARASWATHI RAMALINGAM
 
PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...
PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...
PERFORMANCE MEASUREMENT ANALYSIS OF RANDOM ACCESS MEMORY, L2 CACHE AND L1 CAC...
 
Automatic writing machine based on Arduino
Automatic writing machine based on ArduinoAutomatic writing machine based on Arduino
Automatic writing machine based on Arduino
 
IRJET- Computer vs Human Brain: An Analytical Approach and Overview
IRJET-  	  Computer vs Human Brain: An Analytical Approach and OverviewIRJET-  	  Computer vs Human Brain: An Analytical Approach and Overview
IRJET- Computer vs Human Brain: An Analytical Approach and Overview
 
INTRODUCtion to computing.pptx
INTRODUCtion to computing.pptxINTRODUCtion to computing.pptx
INTRODUCtion to computing.pptx
 
Computer science basics for nonit students
Computer science basics for nonit studentsComputer science basics for nonit students
Computer science basics for nonit students
 
Introductiontopcoperationsncii 130724004019-phpapp01
Introductiontopcoperationsncii 130724004019-phpapp01Introductiontopcoperationsncii 130724004019-phpapp01
Introductiontopcoperationsncii 130724004019-phpapp01
 
Characteristics of computer.pptx
Characteristics of computer.pptxCharacteristics of computer.pptx
Characteristics of computer.pptx
 

Recently uploaded

The Tay Bridge Disaster presentation pdf
The Tay Bridge Disaster presentation pdfThe Tay Bridge Disaster presentation pdf
The Tay Bridge Disaster presentation pdfPMIUKChapter
 
US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....
US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....
US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....Praloy Chowdhury
 
Centre for Quality Sciences-Information File-2024.pdf
Centre for Quality Sciences-Information File-2024.pdfCentre for Quality Sciences-Information File-2024.pdf
Centre for Quality Sciences-Information File-2024.pdfObaid Ali / Roohi B. Obaid
 
The Essence of OD: An Exploration on Organization Development & Organizationa...
The Essence of OD: An Exploration on Organization Development & Organizationa...The Essence of OD: An Exploration on Organization Development & Organizationa...
The Essence of OD: An Exploration on Organization Development & Organizationa...Dr. Sukanta Mishra
 
Editable Events Calendar for 2024 PPT Slide
Editable Events Calendar for 2024 PPT SlideEditable Events Calendar for 2024 PPT Slide
Editable Events Calendar for 2024 PPT SlideAstroniverse
 
PMP Exam Preparation Course Detailed Outline
PMP Exam Preparation Course Detailed OutlinePMP Exam Preparation Course Detailed Outline
PMP Exam Preparation Course Detailed OutlineMd. Masudur Rahman, PMP
 
Myanmar is one of Asia's greatest civilizations and one of the most diverse c...
Myanmar is one of Asia's greatest civilizations and one of the most diverse c...Myanmar is one of Asia's greatest civilizations and one of the most diverse c...
Myanmar is one of Asia's greatest civilizations and one of the most diverse c...vwbinternational045
 

Recently uploaded (10)

BoSON22 | Tony Ulwick | The ‘JTBD Needs’ Framework
BoSON22 | Tony Ulwick | The ‘JTBD Needs’ FrameworkBoSON22 | Tony Ulwick | The ‘JTBD Needs’ Framework
BoSON22 | Tony Ulwick | The ‘JTBD Needs’ Framework
 
PPMA Excellence in People Management Awards 2024 - SHORTLISTED ENTRIES
PPMA Excellence in People Management Awards 2024 - SHORTLISTED ENTRIESPPMA Excellence in People Management Awards 2024 - SHORTLISTED ENTRIES
PPMA Excellence in People Management Awards 2024 - SHORTLISTED ENTRIES
 
The Tay Bridge Disaster presentation pdf
The Tay Bridge Disaster presentation pdfThe Tay Bridge Disaster presentation pdf
The Tay Bridge Disaster presentation pdf
 
US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....
US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....
US Supply Chain Management Degree: Gateway to top-paying rolls in Bangladesh....
 
Centre for Quality Sciences-Information File-2024.pdf
Centre for Quality Sciences-Information File-2024.pdfCentre for Quality Sciences-Information File-2024.pdf
Centre for Quality Sciences-Information File-2024.pdf
 
The Essence of OD: An Exploration on Organization Development & Organizationa...
The Essence of OD: An Exploration on Organization Development & Organizationa...The Essence of OD: An Exploration on Organization Development & Organizationa...
The Essence of OD: An Exploration on Organization Development & Organizationa...
 
BoSUSA22 | Mikey Trafton | Finding Your Super Powers
BoSUSA22 | Mikey Trafton | Finding Your Super PowersBoSUSA22 | Mikey Trafton | Finding Your Super Powers
BoSUSA22 | Mikey Trafton | Finding Your Super Powers
 
Editable Events Calendar for 2024 PPT Slide
Editable Events Calendar for 2024 PPT SlideEditable Events Calendar for 2024 PPT Slide
Editable Events Calendar for 2024 PPT Slide
 
PMP Exam Preparation Course Detailed Outline
PMP Exam Preparation Course Detailed OutlinePMP Exam Preparation Course Detailed Outline
PMP Exam Preparation Course Detailed Outline
 
Myanmar is one of Asia's greatest civilizations and one of the most diverse c...
Myanmar is one of Asia's greatest civilizations and one of the most diverse c...Myanmar is one of Asia's greatest civilizations and one of the most diverse c...
Myanmar is one of Asia's greatest civilizations and one of the most diverse c...
 

To Code Is Human

Editor's Notes

  1. “dhh stick with rails” — focus on computational efficiency but neglect our most important tools software engineering — not algorithms — human infrastructure old joke: “mathematicians turn coffee into theorems”
  2. mind is an incredible machine to get the most out, learn how it works and how to maintain good investment is quality machines — best investment in human infra start with hardware
  3. fail to care for hardware then software suffers — piku and anti-work body not infinite capacity — what do we want to optimize hardware for? strength/speed probably not important consistent energy delivery — often ignored but keeps us in the zone
  4. people obsess over getting more hours pulling all-nighters, caffeine / nootropic drugs (alcohol joke) goal is quality hours — image if all your hours were in the zone most fundamental thing to getting quality hours…
  5. don’t cut sleep to get more time — better hours, not more hours wake at regular time, go to bed when tired — even weekends (jetlag) alcohol reduces REM, sleep just as long, but less rested my tool: bedtime on iOS — sleep important because it sets daily rhythm
  6. our bodies have two rhythms: daylight and food (jetlag) eating, sleeping, waking, and working at the same time every day reduces stress, increases energy, and boosts focus my tools: calendar everything, same schedule on weekends
  7. you don’t need to live off organic tofu but your brain can only work as well as the fuel you put in insulin sensitivity and energy spikes my tools: weekly meal planning, slow carbs, avoid processed food
  8. exercise — documented benefits; endorphins, blood flow == brain good don’t focus on the best, focus on what you will actually do try things until you find what you like my tools: first step / incrementalism / progress tracking
  9. can not stress how important these are consistent energy puts us at the top of our game great hardware requires great software — to write great software…
  10. good rubyists know the quirks of the language creative professionals — most valuable tools are our minds like any tool — optimal use — limitations there’s a lot you might not know about your brain…
  11. saccade blindness — narrow focus for the eye, so it moves actually the fastest motion in the human body > 20 degrees == head movement (half monitor) long lines and functions are exhausting to scan principle discovered by ancient typographers
  12. limit to your working memory — degrades not drops remember “almost right” ever lose track of things while in a function? this is why
  13. heard this before — joel spolsky and uncle bob complaint: arbitrary rules, like straightjacket, bigger terminals now you understand why? cognitive and physical limits why matters — you can follow the rules and still end up with
  14. extreme example — plenty of “small code” like this in production this code (basically) follows all the rules — is “small code” not “readable code” three bugs are hidden in this mess readability really matters — because of how our memories work
  15. writing 10k years, talking for millions of years through oral tradition — method of loci (cicero the roman) remember my story about the piku bug?
  16. code that reads like a story has a fast-track to understanding and long-term memory …and saves energy! if we refactor the above snippet…
  17. everything is much clearer knowing the rule is good, knowing why helps you apply it another interesting aspect of human psychology
  18. decision use energy (remember energy?) — limited per day story: inmates up for parole, interviews fall back on path of least resistance discipline means choosing to do the right thing
  19. habits are decisions that you have made beforehand can’t rely on discipline — teach your brain to do the right thing automatically many “best practices” are just good habits that leverage the brain one example…
  20. reward cycle — dopamine and serotonin motivates with anticipation — then rewards — reward fades how people get addicted to exercise — new car becomes just a car this is motivation — this is why you do… everything; in programming
  21. the goal is the feature, not writing tests put the busywork first and it becomes part of the goal tld relies on discipline, saps energy
  22. birds sounding the alarm when a predator nears Wernicke's area right behind the ear — speech processing engagement headphones block most sound what if you could productively engage?
  23. engages the speech area of your brain, removes distraction real-time code review (remember that reward cycle?) review-later *can* work, but it takes more energy and discipline energy is a biggie
  24. stable energy and health through diet, exercise, sleep, and regularity use memory limits, reward cycle, and decision fatigue to your advantage by building habits for a successful career — as well as a happy life
  25. always forget — write articles on how to CTO from management to teaching software engineering any questions?