SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
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

Más contenido relacionado

Destacado (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 a 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 a 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
 

Más de 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
 

Más de 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
 

Último

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Último (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

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