SlideShare a Scribd company logo
1 of 43
Download to read offline
CLEAN CODE IS NOT THE
        GOAL
WORKING SOFTWARE IS
     Volker Dusch / @__edorian
ABOUT ME
PHP since 10 years
CI
CleanCode
DevOps
TDD
Shipping
GET IN TOUCH

stackoverflow:
Twitter: @__edorian
Xing / G+: Volker Dusch
IRC: edorian
Mail: php@wallbash.com
CLEAN CODE IN 10 OR LESS
      BUZZWORDS
         Readable
         Structured
         Tested
         Pretty
         Documented
         Well designed
         Self explanatory
         SOLID
         Concise
         Well architected
SO WHAT ABOUT CLEAN
       CODE?
 You maybe came here to hear about clean code
I'M SORRY
- Nitsche's Webmaster
AND WE KILLED IT
When people say "clean" do you think of:
               Wordpress?
               Drupal?
               Typo?
               phpBB?
               Magento?
WHY NOT?
Estimated value generated by Drupal in 2012 is about 7gazilion Dollar.
CLEAN IS MORE THAN JUST PRETTY




These projects don't generate that value by being clean, well
structured or easily maintainable but they work, you can get
        somewhere quickly, validate ideas, deliver.
CLEAN CODE IS NOT THE GOAL
"SHIPPING IT" IS!
SO CLEAN CODE IS WORTHLESS?
Everything you do should help you to continously deliver tangable
                             value!
AND IF IT'S NOT HELPING?
Communicate it as waste and get rid of it
CLEAN THINGS
  Code
  Infrastructure
  Workflows (Processes)
  Communication
  Leadership
CLEAN CODE
WHAT IS "CODE"?
Code is something that software engineers produce
SO WHAT DO ENGINEERS PRODUCE?
               DESIGN DOCUMENTS!
Architects produce blue prints.
Houses are build from them.
Electrical engineers produce circut board diagramms.
Boards are build with those designs imprinted.
WHAT DO WE PRODUCE?
We produce source code.
Software is produced using that blue print.
SOURCE CODE IS NOT THE PRODUCT
   We don't deliver source code
   Source code is not what we get paid for
   It's the final design document
WE DELIVER WORKING SOFTWARE
     Compile the source
     Add the asserts
     Patches and migration pathes
     Deployment
SOFTWARE IS SPECIAL
 Building is really cheap
 Designing is really expensive
MAINTAINING SOFTWARE IS ALSO SPECIAL
  Since building is cheap you can change stuff easily
DO YOU NEED YOUR DESIGN
 DOCUMENTS TO CHANGE?
"BUILD THE RIGHT IT"
     And then build "it" right
CLEAN ARCHITECTURE




http://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-
                      architecture.html
                STAY FOR THE NEXT TALK!
SO CLEAN CODE DOESN'T MATTER?
You said if it's not helping me I can get rid of it!
SHU HA RI
Learn, detach, transend http://pragprog.com/magazines/2010-
                         11/shu-ha-ri
  No understanding: Copy the master
  Some understanding: Try variations
  Mastery: Get stuff done without hitting walls down the road
CLEAN INFRASTRUCTURE
  With great hardware comes great responsibilty
HARDWARE
        Some people somewhere still care about Hardware.
Thank them for running the internet when you meet them some time.
VIRTUALISATION
     Something to throw new boxes at you
           Sysadmins
           The Cloud(s)
           Automated cloud provisioning
           Private clouds
Getting the hardware is not complicated anymore.
INFRASTRUCTURE BECAME CODE
  Cloud APIs
  Installing Services
     Puppet
     Chef
     Your own solution
     Whatever works!
  Automated scaling
  Automated (data) recovery
  Even DEV Boxes!
     No more "change this" mails!
     Work faster on multiple Projects!
CODE IS IMPORTANT
   So put it in SCM!
SERIOUSLY!
PUT IT IN SCM!
NO MORE SSH
          There is no SSH!
Only Puppet, mcollective and graylog2
SHIPPING
Testing
   Automated tests against the code base
   Automated tests against a stage server
   Manual QA
Packaging and Distributing
   Deploy from GIT
   Build .tar.gz / .deb / .rpm Packages
   BitTorrent
   Whatever works WELL for you
CLEAN WORKFLOWS
CLEAN COMMUNICATION
THANK YOU
                    PLEASE PROVIDE FEEDBACK:
                            Froscon:
https://frab.froscon.org/froscon2012/public/events/969/feedback/new
                             Joind.in
                       http://joind.in/7013
Clean code is not the goal - working software is

More Related Content

Viewers also liked (20)

National Geographic2
National Geographic2National Geographic2
National Geographic2
 
Online distance PG Diploma courses from MIT Pune
Online distance PG Diploma courses from MIT PuneOnline distance PG Diploma courses from MIT Pune
Online distance PG Diploma courses from MIT Pune
 
Katie. c
Katie. cKatie. c
Katie. c
 
AUSTRALIA!!
AUSTRALIA!!AUSTRALIA!!
AUSTRALIA!!
 
Passive
PassivePassive
Passive
 
PayJunction Brochure Smart PC
PayJunction Brochure Smart PCPayJunction Brochure Smart PC
PayJunction Brochure Smart PC
 
Ivy d
Ivy dIvy d
Ivy d
 
Naomi bills
Naomi billsNaomi bills
Naomi bills
 
Pikas
PikasPikas
Pikas
 
What to look for in a hosted supplier
What to look for in a hosted supplierWhat to look for in a hosted supplier
What to look for in a hosted supplier
 
Chase A
Chase AChase A
Chase A
 
Add topic
Add topicAdd topic
Add topic
 
Ethan Albert Native American Project for Mr. Morgan
Ethan Albert Native American Project for Mr. MorganEthan Albert Native American Project for Mr. Morgan
Ethan Albert Native American Project for Mr. Morgan
 
Wordpress install setup
Wordpress install setupWordpress install setup
Wordpress install setup
 
Moodle - add topic to course page
Moodle - add topic to course pageMoodle - add topic to course page
Moodle - add topic to course page
 
Restorative practices at rahs -update board
Restorative practices at rahs -update boardRestorative practices at rahs -update board
Restorative practices at rahs -update board
 
2118 Final
2118 Final2118 Final
2118 Final
 
Olivia
OliviaOlivia
Olivia
 
Field Studies Council anticipates savings of up to £100,000 per annum with do...
Field Studies Council anticipates savings of up to £100,000 per annum with do...Field Studies Council anticipates savings of up to £100,000 per annum with do...
Field Studies Council anticipates savings of up to £100,000 per annum with do...
 
Intermediary Sep2006[1]
Intermediary Sep2006[1]Intermediary Sep2006[1]
Intermediary Sep2006[1]
 

Similar to Clean code is not the goal - working software is

From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneEdorian
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverCyrille Martraire
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software designKfir Bloch
 
DevOps and the C64: what's your excuse
DevOps and the C64: what's your excuseDevOps and the C64: what's your excuse
DevOps and the C64: what's your excuseTodd Whitehead
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
 
Hands on-intro to Node-RED
Hands on-intro to Node-REDHands on-intro to Node-RED
Hands on-intro to Node-REDPooja Mistry
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesRyan Koop
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloudCamp Chicago
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedWojciech Koszek
 
Building custom tools with Docker API & SDK
Building custom tools with Docker API & SDKBuilding custom tools with Docker API & SDK
Building custom tools with Docker API & SDKGaurav Gahlot
 
Deploy Angular to the Cloud
Deploy Angular to the CloudDeploy Angular to the Cloud
Deploy Angular to the CloudSimona Cotin
 
До чого прикладати Docker в Android? - UA Mobile 2019
До чого прикладати Docker в Android? - UA Mobile 2019До чого прикладати Docker в Android? - UA Mobile 2019
До чого прикладати Docker в Android? - UA Mobile 2019UA Mobile
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Bosnia Agile
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Claradev2ops
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesPetteriTeikariPhD
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesChakradhar Rao Jonagam
 
Docker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker SwarmDocker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker SwarmCarlos E. Salazar
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Presorhirschfeld
 

Similar to Clean code is not the goal - working software is (20)

From dev to ops and beyond - getting it done
From dev to ops and beyond - getting it doneFrom dev to ops and beyond - getting it done
From dev to ops and beyond - getting it done
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft Forever
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software design
 
DevOps and the C64: what's your excuse
DevOps and the C64: what's your excuseDevOps and the C64: what's your excuse
DevOps and the C64: what's your excuse
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
 
Hands on-intro to Node-RED
Hands on-intro to Node-REDHands on-intro to Node-RED
Hands on-intro to Node-RED
 
Cloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 SlidesCloud Camp Chicago Dec 2012 Slides
Cloud Camp Chicago Dec 2012 Slides
 
Cloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentationsCloud Camp Chicago Dec 2012 - All presentations
Cloud Camp Chicago Dec 2012 - All presentations
 
Building an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learnedBuilding an Open Source iOS app: lessons learned
Building an Open Source iOS app: lessons learned
 
Building custom tools with Docker API & SDK
Building custom tools with Docker API & SDKBuilding custom tools with Docker API & SDK
Building custom tools with Docker API & SDK
 
Deploy Angular to the Cloud
Deploy Angular to the CloudDeploy Angular to the Cloud
Deploy Angular to the Cloud
 
До чого прикладати Docker в Android? - UA Mobile 2019
До чого прикладати Docker в Android? - UA Mobile 2019До чого прикладати Docker в Android? - UA Mobile 2019
До чого прикладати Docker в Android? - UA Mobile 2019
 
DevOps + MongoDB Serverless = 
DevOps + MongoDB Serverless = DevOps + MongoDB Serverless = 
DevOps + MongoDB Serverless = 
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
Deploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and KubernetesDeploying deep learning models with Docker and Kubernetes
Deploying deep learning models with Docker and Kubernetes
 
Developing Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/KubernetesDeveloping Microservices Directly in AKS/Kubernetes
Developing Microservices Directly in AKS/Kubernetes
 
Docker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker SwarmDocker, Docker Compose and Docker Swarm
Docker, Docker Compose and Docker Swarm
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Preso
 

More from Edorian

Your (coding) standards matter
Your (coding) standards matterYour (coding) standards matter
Your (coding) standards matterEdorian
 
Save time by applying clean code principles
Save time by applying clean code principlesSave time by applying clean code principles
Save time by applying clean code principlesEdorian
 
Nginx - The webserver you might actually like
Nginx - The webserver you might actually likeNginx - The webserver you might actually like
Nginx - The webserver you might actually likeEdorian
 
Code review in practice
Code review in practiceCode review in practice
Code review in practiceEdorian
 
PhpUnit Best Practices
PhpUnit Best PracticesPhpUnit Best Practices
PhpUnit Best PracticesEdorian
 
Nginx & php fpm - the webserver you might actually like - php usergroup berlin
Nginx & php fpm - the webserver you might actually like - php usergroup berlinNginx & php fpm - the webserver you might actually like - php usergroup berlin
Nginx & php fpm - the webserver you might actually like - php usergroup berlinEdorian
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnitEdorian
 
The State of PHPUnit
The State of PHPUnitThe State of PHPUnit
The State of PHPUnitEdorian
 
Nginx The webserver you might actually like
Nginx   The webserver you might actually likeNginx   The webserver you might actually like
Nginx The webserver you might actually likeEdorian
 
The State of PHPUnit
The State of PHPUnitThe State of PHPUnit
The State of PHPUnitEdorian
 
Stop wasting-time-by-applying-clean-code-principles
Stop wasting-time-by-applying-clean-code-principlesStop wasting-time-by-applying-clean-code-principles
Stop wasting-time-by-applying-clean-code-principlesEdorian
 
php unconference Europa: Clean code - Stop wasting my time
php unconference Europa: Clean code - Stop wasting my timephp unconference Europa: Clean code - Stop wasting my time
php unconference Europa: Clean code - Stop wasting my timeEdorian
 
Clean Code: Stop wasting my time
Clean Code: Stop wasting my timeClean Code: Stop wasting my time
Clean Code: Stop wasting my timeEdorian
 

More from Edorian (13)

Your (coding) standards matter
Your (coding) standards matterYour (coding) standards matter
Your (coding) standards matter
 
Save time by applying clean code principles
Save time by applying clean code principlesSave time by applying clean code principles
Save time by applying clean code principles
 
Nginx - The webserver you might actually like
Nginx - The webserver you might actually likeNginx - The webserver you might actually like
Nginx - The webserver you might actually like
 
Code review in practice
Code review in practiceCode review in practice
Code review in practice
 
PhpUnit Best Practices
PhpUnit Best PracticesPhpUnit Best Practices
PhpUnit Best Practices
 
Nginx & php fpm - the webserver you might actually like - php usergroup berlin
Nginx & php fpm - the webserver you might actually like - php usergroup berlinNginx & php fpm - the webserver you might actually like - php usergroup berlin
Nginx & php fpm - the webserver you might actually like - php usergroup berlin
 
The state of PHPUnit
The state of PHPUnitThe state of PHPUnit
The state of PHPUnit
 
The State of PHPUnit
The State of PHPUnitThe State of PHPUnit
The State of PHPUnit
 
Nginx The webserver you might actually like
Nginx   The webserver you might actually likeNginx   The webserver you might actually like
Nginx The webserver you might actually like
 
The State of PHPUnit
The State of PHPUnitThe State of PHPUnit
The State of PHPUnit
 
Stop wasting-time-by-applying-clean-code-principles
Stop wasting-time-by-applying-clean-code-principlesStop wasting-time-by-applying-clean-code-principles
Stop wasting-time-by-applying-clean-code-principles
 
php unconference Europa: Clean code - Stop wasting my time
php unconference Europa: Clean code - Stop wasting my timephp unconference Europa: Clean code - Stop wasting my time
php unconference Europa: Clean code - Stop wasting my time
 
Clean Code: Stop wasting my time
Clean Code: Stop wasting my timeClean Code: Stop wasting my time
Clean Code: Stop wasting my time
 

Recently uploaded

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 

Recently uploaded (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

Clean code is not the goal - working software is

  • 1. CLEAN CODE IS NOT THE GOAL WORKING SOFTWARE IS Volker Dusch / @__edorian
  • 2. ABOUT ME PHP since 10 years CI CleanCode DevOps TDD Shipping
  • 3.
  • 4. GET IN TOUCH stackoverflow: Twitter: @__edorian Xing / G+: Volker Dusch IRC: edorian Mail: php@wallbash.com
  • 5. CLEAN CODE IN 10 OR LESS BUZZWORDS Readable Structured Tested Pretty Documented Well designed Self explanatory SOLID Concise Well architected
  • 6. SO WHAT ABOUT CLEAN CODE? You maybe came here to hear about clean code
  • 9. AND WE KILLED IT When people say "clean" do you think of: Wordpress? Drupal? Typo? phpBB? Magento?
  • 10. WHY NOT? Estimated value generated by Drupal in 2012 is about 7gazilion Dollar.
  • 11. CLEAN IS MORE THAN JUST PRETTY These projects don't generate that value by being clean, well structured or easily maintainable but they work, you can get somewhere quickly, validate ideas, deliver.
  • 12. CLEAN CODE IS NOT THE GOAL
  • 14. SO CLEAN CODE IS WORTHLESS? Everything you do should help you to continously deliver tangable value!
  • 15. AND IF IT'S NOT HELPING? Communicate it as waste and get rid of it
  • 16. CLEAN THINGS Code Infrastructure Workflows (Processes) Communication Leadership
  • 18. WHAT IS "CODE"? Code is something that software engineers produce
  • 19. SO WHAT DO ENGINEERS PRODUCE? DESIGN DOCUMENTS! Architects produce blue prints. Houses are build from them. Electrical engineers produce circut board diagramms. Boards are build with those designs imprinted.
  • 20. WHAT DO WE PRODUCE? We produce source code. Software is produced using that blue print.
  • 21. SOURCE CODE IS NOT THE PRODUCT We don't deliver source code Source code is not what we get paid for It's the final design document
  • 22. WE DELIVER WORKING SOFTWARE Compile the source Add the asserts Patches and migration pathes Deployment
  • 23. SOFTWARE IS SPECIAL Building is really cheap Designing is really expensive
  • 24. MAINTAINING SOFTWARE IS ALSO SPECIAL Since building is cheap you can change stuff easily
  • 25. DO YOU NEED YOUR DESIGN DOCUMENTS TO CHANGE?
  • 26.
  • 27. "BUILD THE RIGHT IT" And then build "it" right
  • 29. SO CLEAN CODE DOESN'T MATTER? You said if it's not helping me I can get rid of it!
  • 30. SHU HA RI Learn, detach, transend http://pragprog.com/magazines/2010- 11/shu-ha-ri No understanding: Copy the master Some understanding: Try variations Mastery: Get stuff done without hitting walls down the road
  • 31. CLEAN INFRASTRUCTURE With great hardware comes great responsibilty
  • 32.
  • 33. HARDWARE Some people somewhere still care about Hardware. Thank them for running the internet when you meet them some time.
  • 34. VIRTUALISATION Something to throw new boxes at you Sysadmins The Cloud(s) Automated cloud provisioning Private clouds Getting the hardware is not complicated anymore.
  • 35. INFRASTRUCTURE BECAME CODE Cloud APIs Installing Services Puppet Chef Your own solution Whatever works! Automated scaling Automated (data) recovery Even DEV Boxes! No more "change this" mails! Work faster on multiple Projects!
  • 36. CODE IS IMPORTANT So put it in SCM!
  • 38. NO MORE SSH There is no SSH! Only Puppet, mcollective and graylog2
  • 39. SHIPPING Testing Automated tests against the code base Automated tests against a stage server Manual QA Packaging and Distributing Deploy from GIT Build .tar.gz / .deb / .rpm Packages BitTorrent Whatever works WELL for you
  • 42. THANK YOU PLEASE PROVIDE FEEDBACK: Froscon: https://frab.froscon.org/froscon2012/public/events/969/feedback/new Joind.in http://joind.in/7013