SlideShare a Scribd company logo
Ego-less Programming: the Philosophy of Better Code
Ego-less Programming: the Philosophy of Better Code
Ego-less Programming: The Philosophy
of Better Code
1 / 29
https://doomhammer.info/talks/devopsdaysgeneva2020
Piotr Gaczkowski
https://github.com/DoomHammer | @doomhammerng
https://doomhammer.info
2 / 29
What is Ego?
3 / 29
4 / 29
What is Ego?
The driving force that makes us "us".
5 / 29
What is Ego?
The driving force that makes us "us".
Puts our own interest over everyone else's
5 / 29
What is Ego?
The driving force that makes us "us".
Puts our own interest over everyone else's
Our inner critic
5 / 29
The Dangers of Ego
6 / 29
Terrible API
7 / 29
Terrible API
Not Invented Here
7 / 29
Terrible API
Not Invented Here
Ego Clashes
7 / 29
Terrible API
Not Invented Here
Ego Clashes
(entrenched) Code ownership
7 / 29
A Brief Guide to Philosophy
8 / 29
9 / 29
Stoicism
What is under my control?
10 / 29
11 / 29
Soli Deo Gloria
Glory to God alone.
12 / 29
Soli Deo Gloria
Glory to God alone.
Ad Maiorem Dei gloriam
For the greater glory of God.
12 / 29
13 / 29
Buddhism and Zen
I am a part of a greater Universe.
14 / 29
15 / 29
DevOps
closing the gap between the client and development
short release cycles
iterative approach to design
reducing waste (often by automation)
16 / 29
17 / 29
DevOps and the Other Philosophies
Devops requires:
Communication
Sharing goals
18 / 29
DevOps and the Other Philosophies
Devops requires:
Communication
Sharing goals
Communication requires listening thus putting one's ego aside.
18 / 29
How Ego Disrupts DevOps?
Terrible API
Not Invented Here
Ego Clashes
(entrenched) Code ownership
19 / 29
20 / 29
Cultural Tools for Ego-less Programming
safety, vulnerability, shared future
formal processes
code reviews
pair programming
21 / 29
22 / 29
Software Tools for Ego-less
Programming
linters (pylint)
code formatters (yapf)
aux tools (PyAnnotate and mypy)
Git Hooks (https://github.com/icefox/git-hooks)
23 / 29
Software Tools for Ego-less
Programming
build scripts (Make les)
Continuous Integration/Continuous Delivery
opinionated Frameworks
Behaviour Driven Development
24 / 29
Tales of horror
25 / 29
Using the tools can help you write better
code and reduce waste
26 / 29
Using the tools can help you write better
code and reduce waste
This way you can work less and play more
26 / 29
27 / 29
Thank you!
https://github.com/DoomHammer | @doomhammerng
https://doomhammer.info
https://doomhammer.info/talks/devopsdaysgeneva2020
28 / 29
Photos courtesy of:
Andre Mouton on Unsplash
Alex Block on Unsplash
Bonnie Kittle on Unsplash
Ash Lambert on Unsplash
Joyce Romero on Unsplash
Dirk Wouters from Pixabay
Wikipedia
Monty Python's Flying Circus
Kiszkiloszki https://www.patreon.com/kiszkiloszki
29 / 29

More Related Content

PDF
Creative Portfolio - Sowrik Datta
PDF
PDF
From your pocket to your wrist with Android Wear
PPT
Open Source for Women / Girl Geeks
PDF
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
PDF
Giannis Konstantinidis - The fedora community
ODP
Foss: Why should it matter to Students
PDF
Software Heritage: Archiving the Free Software Commons for Fun & Profit
Creative Portfolio - Sowrik Datta
From your pocket to your wrist with Android Wear
Open Source for Women / Girl Geeks
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
Giannis Konstantinidis - The fedora community
Foss: Why should it matter to Students
Software Heritage: Archiving the Free Software Commons for Fun & Profit

Similar to Ego-less Programming: the Philosophy of Better Code (20)

PDF
From 0 to Gemini: a Workshop created by GDG Firenze
PPTX
The Battle of the IDEs
PDF
FOSSLight Open Source Project
PDF
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
PDF
DroidKaigi 2018報告会(公式アプリへのコントリビュート)
PDF
Managing Open Source Licenses (Geeks Anonymes)
PDF
Linux Introduction
PPTX
Making it simple to ensure the use of colour is both on brand and accessible
PDF
Getting started with Go - Florin Patan - Codemotion Rome 2017
PPTX
JVM Conference - The Battle of the IDEs
PPT
Mac281 Open Source software
PPTX
HacktoberFest gdsc HU.pptx
PDF
Let's talk FOSS!
PDF
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
PDF
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
PPT
Asf icfoss-mentoring
PDF
Free and open source software (FOSS) for NGOs (Sky Croeser - Internet Studies...
PDF
12 tricks to avoid hackers breaks your CI / CD
ODP
Foss For Media Makers
PDF
Let's Contribute
From 0 to Gemini: a Workshop created by GDG Firenze
The Battle of the IDEs
FOSSLight Open Source Project
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
DroidKaigi 2018報告会(公式アプリへのコントリビュート)
Managing Open Source Licenses (Geeks Anonymes)
Linux Introduction
Making it simple to ensure the use of colour is both on brand and accessible
Getting started with Go - Florin Patan - Codemotion Rome 2017
JVM Conference - The Battle of the IDEs
Mac281 Open Source software
HacktoberFest gdsc HU.pptx
Let's talk FOSS!
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
Stefano Fornari - Come creare e far crescere un progetto ed una community ope...
Asf icfoss-mentoring
Free and open source software (FOSS) for NGOs (Sky Croeser - Internet Studies...
12 tricks to avoid hackers breaks your CI / CD
Foss For Media Makers
Let's Contribute
Ad

More from matteo mazzeri (12)

PDF
Natalie Godec - AirFlow and GCP: tomorrow's health service data platform
PDF
Vinciane de Pape - The ROI of Mental Health: Building Happier, More Profitabl...
PDF
Applying genetic engineering to your organization dev opsdays geneva 60 min
PDF
Yann Albou & Sébastien Féré - GitOps as a way to manage enterprise K8s and vi...
PDF
Jan de Vries - Becoming antifragile is more important than ever in disruptive...
PDF
Robert Falkowitz - Changing organizational structure
PDF
Paolo Kreth - Persistence layers for microservices – the converged database a...
PDF
Maria Guseva - The solution of merge hell in monorepo
PDF
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...
PDF
Talking Collaboration at CERN for Challenge Based Innovation Students
PPTX
Nouveaux processus d'aménagement de l'espaces public juin 2014 ambassade de ...
PPT
Net neutrality TEDxGeneva matteo mazzeri
Natalie Godec - AirFlow and GCP: tomorrow's health service data platform
Vinciane de Pape - The ROI of Mental Health: Building Happier, More Profitabl...
Applying genetic engineering to your organization dev opsdays geneva 60 min
Yann Albou & Sébastien Féré - GitOps as a way to manage enterprise K8s and vi...
Jan de Vries - Becoming antifragile is more important than ever in disruptive...
Robert Falkowitz - Changing organizational structure
Paolo Kreth - Persistence layers for microservices – the converged database a...
Maria Guseva - The solution of merge hell in monorepo
Joseph Glorieux & Mathieu Brun Maintenant que mon delivery pipeline est en pl...
Talking Collaboration at CERN for Challenge Based Innovation Students
Nouveaux processus d'aménagement de l'espaces public juin 2014 ambassade de ...
Net neutrality TEDxGeneva matteo mazzeri
Ad

Recently uploaded (20)

PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Architecture types and enterprise applications.pdf
PDF
project resource management chapter-09.pdf
PDF
Getting Started with Data Integration: FME Form 101
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
1. Introduction to Computer Programming.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
DP Operators-handbook-extract for the Mautical Institute
Getting started with AI Agents and Multi-Agent Systems
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
NewMind AI Weekly Chronicles - August'25-Week II
cloud_computing_Infrastucture_as_cloud_p
Group 1 Presentation -Planning and Decision Making .pptx
NewMind AI Weekly Chronicles – August ’25 Week III
WOOl fibre morphology and structure.pdf for textiles
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
Architecture types and enterprise applications.pdf
project resource management chapter-09.pdf
Getting Started with Data Integration: FME Form 101
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
A comparative study of natural language inference in Swahili using monolingua...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Module 1.ppt Iot fundamentals and Architecture
1. Introduction to Computer Programming.pptx
Developing a website for English-speaking practice to English as a foreign la...
DP Operators-handbook-extract for the Mautical Institute

Ego-less Programming: the Philosophy of Better Code