SlideShare a Scribd company logo
//
// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42
//
Janos Pasztor
Development Lead @
Sole Proprietor @
Who am I?
DistribLoad subscription management
system
IxoPay payment services
IxoAds marketing and advertisements
Customer support services
We are hiring: ixolit.com/careers
Work with us!
IT consulting
Linux-based web stacks
Performance problems
Infrastructure cleanup
Open source projects
Educational videos
That’sm
e!
Where?
What?
Who?How?
When?
DocumentationDocumentationWhy?
When?
When?
Stop feeling bad
about it!
Business value!
When?
Why?
Why?
Preserve information
Why?
Preserve information
for others
Why?
Preserve information
for ourselves
Why?
Prepare for meetings
Why?
Preserve decisions
Why?
Teach the new
employee
Why?
Teach the customer
How?
How?
How?
How?
Make it sexy!
How? Focus attention
How? Focus attention
How? Fill the frame
How? Typography
getbootstrap.com
How? Example
How?
Structure your
content!
How? Structure
How? Structure
How?
Watch your language!
How? Language
How?
“This class show up
the bill”
Language
How?
“This class creates
the invoice”
Language
Where?
Where?
Wiki software
“…a Wiki is where good
documentation goes to die.”
— Jacob Kaplan-Moss
PyCon US 2014
Where? Wiki software
Where? Wiki software
Where? Wiki software
Where? Wiki software
Where? Wiki software
Where? Wiki software
Where? Wiki software
Dokuwiki
Where? Wiki software
Where? Wiki software
Where? Wiki software
Where?
Documentation
generators
Where? Generators
Where? Generators
Where?
Interactive
documentation
Where? Interactive
Where? Interactive
Where? Interactive
Where? Interactive
Where? Interactive
Where? Interactive
Twilio
What?
What?
Business decisions
What?
What happened when?
Business decisions
What?
January 1, 2012:
VAT changes to 27%
Business decisions
What?
Date X:
We change our
signup flow
Business decisions
What? Business decisions
What?
Projects
What?
Project overview
Projects
What? Projects
What? Projects
What?
Non-trivial
business cases
Projects
What?
Big modules
Projects
What?
Class/code docs
Projects
What?
Provide examples!
Projects
What?
Document the WHY
not the WHAT!
Projects
Who?
Who?
Everyone! (DUH)
Who?
Dream on…
Who?
The new guy?
girl
Who?
The person who
knows the most!
Who?
Copy-paste
Who?
Keeping it
up to date
Summary
Summary
1. Business-critical first
2. Easy to edit
3. Good structures
4. Up to date
Thank you
Thank you for listening!

More Related Content

Similar to How (not) to document

20090116 Friday Food@ibbt
20090116 Friday Food@ibbt20090116 Friday Food@ibbt
20090116 Friday Food@ibbt
imec.archive
 
20090116 Friday Food@ibbt Entrepreneurship
20090116 Friday Food@ibbt Entrepreneurship20090116 Friday Food@ibbt Entrepreneurship
20090116 Friday Food@ibbt Entrepreneurship
imec.archive
 
Showing The Value Of KM
Showing The Value Of KMShowing The Value Of KM
Showing The Value Of KM
Matthew Moore
 
5 Ways to Scale Your Training Academy With Video.pdf
5 Ways to Scale Your Training Academy With Video.pdf5 Ways to Scale Your Training Academy With Video.pdf
5 Ways to Scale Your Training Academy With Video.pdf
JIGAR UNDAVIA
 
Post-sales client success survey results 8-2013
Post-sales client success survey results 8-2013Post-sales client success survey results 8-2013
Post-sales client success survey results 8-2013
Dean Chen
 
Members Learn Chambers Earn Webinar
Members Learn Chambers Earn WebinarMembers Learn Chambers Earn Webinar
Members Learn Chambers Earn Webinar
Mike Brazier
 
Gayatri Korhalkar (Numa Paris) - Engaging with an external Ecosystem
Gayatri Korhalkar (Numa Paris) - Engaging with an external EcosystemGayatri Korhalkar (Numa Paris) - Engaging with an external Ecosystem
Gayatri Korhalkar (Numa Paris) - Engaging with an external Ecosystem
Anis Bedda
 
4M Presentation - E-learning platform
4M Presentation - E-learning platform4M Presentation - E-learning platform
4M Presentation - E-learning platform
Proxicon Ltd
 
On Design and My Work
On Design and My WorkOn Design and My Work
On Design and My Work
Benjamin
 
Information Overload
Information OverloadInformation Overload
Information Overload
Bob Larrivee
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
gettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdfgettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdf
roystoncdsouza7
 
E Portfolio Task Force
E Portfolio Task ForceE Portfolio Task Force
E Portfolio Task Force
Carmel Crane
 
Ie presentation
Ie presentationIe presentation
Ie presentation
Exam Deal
 
Profitable Webinars Made Easy
Profitable Webinars Made EasyProfitable Webinars Made Easy
Profitable Webinars Made Easy
Joan Mullally
 
"Selling" Open Source 101
"Selling" Open Source 101"Selling" Open Source 101
"Selling" Open Source 101
Mohd Izhar Firdaus Ismail
 
Talking to Users
Talking to UsersTalking to Users
Talking to Users
ESUG
 
Agency Partner Activation
Agency Partner ActivationAgency Partner Activation
Agency Partner Activation
Alex Glenn
 
Early Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora SinergiaEarly Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora Sinergia
Riley Maguire
 
VARS - the way we make money as independent entrepreneurs...
VARS - the way we make money as independent entrepreneurs...VARS - the way we make money as independent entrepreneurs...
VARS - the way we make money as independent entrepreneurs...
Gordon Kraft
 

Similar to How (not) to document (20)

20090116 Friday Food@ibbt
20090116 Friday Food@ibbt20090116 Friday Food@ibbt
20090116 Friday Food@ibbt
 
20090116 Friday Food@ibbt Entrepreneurship
20090116 Friday Food@ibbt Entrepreneurship20090116 Friday Food@ibbt Entrepreneurship
20090116 Friday Food@ibbt Entrepreneurship
 
Showing The Value Of KM
Showing The Value Of KMShowing The Value Of KM
Showing The Value Of KM
 
5 Ways to Scale Your Training Academy With Video.pdf
5 Ways to Scale Your Training Academy With Video.pdf5 Ways to Scale Your Training Academy With Video.pdf
5 Ways to Scale Your Training Academy With Video.pdf
 
Post-sales client success survey results 8-2013
Post-sales client success survey results 8-2013Post-sales client success survey results 8-2013
Post-sales client success survey results 8-2013
 
Members Learn Chambers Earn Webinar
Members Learn Chambers Earn WebinarMembers Learn Chambers Earn Webinar
Members Learn Chambers Earn Webinar
 
Gayatri Korhalkar (Numa Paris) - Engaging with an external Ecosystem
Gayatri Korhalkar (Numa Paris) - Engaging with an external EcosystemGayatri Korhalkar (Numa Paris) - Engaging with an external Ecosystem
Gayatri Korhalkar (Numa Paris) - Engaging with an external Ecosystem
 
4M Presentation - E-learning platform
4M Presentation - E-learning platform4M Presentation - E-learning platform
4M Presentation - E-learning platform
 
On Design and My Work
On Design and My WorkOn Design and My Work
On Design and My Work
 
Information Overload
Information OverloadInformation Overload
Information Overload
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
gettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdfgettingintothetechfieldwhatnext-210526205624.pdf
gettingintothetechfieldwhatnext-210526205624.pdf
 
E Portfolio Task Force
E Portfolio Task ForceE Portfolio Task Force
E Portfolio Task Force
 
Ie presentation
Ie presentationIe presentation
Ie presentation
 
Profitable Webinars Made Easy
Profitable Webinars Made EasyProfitable Webinars Made Easy
Profitable Webinars Made Easy
 
"Selling" Open Source 101
"Selling" Open Source 101"Selling" Open Source 101
"Selling" Open Source 101
 
Talking to Users
Talking to UsersTalking to Users
Talking to Users
 
Agency Partner Activation
Agency Partner ActivationAgency Partner Activation
Agency Partner Activation
 
Early Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora SinergiaEarly Stage Product Development - Incubadora Sinergia
Early Stage Product Development - Incubadora Sinergia
 
VARS - the way we make money as independent entrepreneurs...
VARS - the way we make money as independent entrepreneurs...VARS - the way we make money as independent entrepreneurs...
VARS - the way we make money as independent entrepreneurs...
 

More from János Pásztor

A Virtualizáció esete a Puppettal
A Virtualizáció esete a PuppettalA Virtualizáció esete a Puppettal
A Virtualizáció esete a PuppettalJános Pásztor
 
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013János Pásztor
 
Web applications
Web applicationsWeb applications
Web applications
János Pásztor
 
Az E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a SpamszűrőkAz E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a Spamszűrők
János Pásztor
 
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztéseNagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztéseJános Pásztor
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekJános Pásztor
 
Az SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésbenAz SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésbenJános Pásztor
 

More from János Pásztor (7)

A Virtualizáció esete a Puppettal
A Virtualizáció esete a PuppettalA Virtualizáció esete a Puppettal
A Virtualizáció esete a Puppettal
 
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
Hogyan tervezzünk API-t? - Magyarországi Web Konferencia 2013
 
Web applications
Web applicationsWeb applications
Web applications
 
Az E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a SpamszűrőkAz E-mail, a Hírlevél és a Spamszűrők
Az E-mail, a Hírlevél és a Spamszűrők
 
Nagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztéseNagy terhelésű webes rendszerek fejlesztése
Nagy terhelésű webes rendszerek fejlesztése
 
Syslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknekSyslog-NG (nem csak) fejlesztőknek
Syslog-NG (nem csak) fejlesztőknek
 
Az SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésbenAz SVN használata a csapatfejlesztésben
Az SVN használata a csapatfejlesztésben
 

Recently uploaded

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

How (not) to document