SlideShare una empresa de Scribd logo
1 de 10
Yves Caseau - The Joy of Programming – June 2018 1/9
 
// finds a cell with a min count (heuristic)
findPivot(g:Grid) : any
-> let minv := 10, cmin := unknown in
(for c in g.cells
(if (c.value = 0 & c.count < minv)
(minv := c.count, cmin := c)),
cmin)
// solves a sudoku : branch on possible
// values using a recursive function
// branch(...) does all the work :)
solve(g:Grid) : boolean
-> when c := findPivot(g) in
exists(v in (1 .. 9) |
(if c.possible[v]
branch((c.value := v,
solve(g)))
else false))
else true
// first propagation rule
r1() :: rule(  c.value := v =>
(store(c.line.counts,v,0),
store(c.column.counts,v,0),
store(c.square.counts,v,0),
for v2 in (1 .. 9)
(if (v != v2 & c.possible[v2]) noLonger(c,v2),
for c2 in (c.line.cells but c) forbid(c2,v),
for c2 in (c.column.cells but c) forbid(c2,v),
for c2 in (c.square.cells but c) forbid(c2,v))))
// if c.count = 1, the only possible value is certain
r2() :: rule( c.count := y & y = 1 =>
c.value := some(y in (1 .. 9) | c.possible[y]))
// if a value v is possible only in one cell, it is certain
r3() :: rule( updateCount(cs,v) & cs.counts[v] <= 1
=> when c := some(c in cs.cells |
c.value = 0 & c.possible[v]) in
c.value := v
else contradiction!())
Yves Caseau
Michelin Group CIO
NATF (National Academy of Technologies of France)
Thinking, Designing, Writing,Thinking, Designing, Writing,
Testing … and Living with Code:Testing … and Living with Code:
Software in the 21Software in the 21stst
centurycenturyYves Caseau
Group CIO, Michelin
NATF
ADN Meetup, Le Crest
June 28th
, 2018 (v0.5)
Yves Caseau - The Joy of Programming – June 2018 2/9
The Need for Elegant ProgrammingThe Need for Elegant Programming
Constant change : love your code 
 Constant change & constant training
Refactoring : your code is a garden !
Yves Caseau - The Joy of Programming – June 2018 3/9
Software Development is a Team SportSoftware Development is a Team Sport
The world moves too fast to stay alone
 Build up your community
 Share your code to hire extra eye balls
Yves Caseau - The Joy of Programming – June 2018 4/9
Software is about Experience, not FunctionsSoftware is about Experience, not Functions
 User Experience Design is critical
 Cross-functional squads required
 Polyvalence makes collaboration easier
Yves Caseau - The Joy of Programming – June 2018 5/9
Always Ask for Help !Always Ask for Help !
In the 21st
century, to code starts with search
 Get in touch with your community for regular training
Leverage the power of MOOCs – Be curious !
Yves Caseau - The Joy of Programming – June 2018 6/9
Thinking and Doing in a Constant Learning LoopThinking and Doing in a Constant Learning Loop
 Analysts and Developers : 20th
century concepts 
 From mechanical design to organic growth
 Real-life operability issues makes delightful math problems
Yves Caseau - The Joy of Programming – June 2018 7/9
Good Software is Grown From Quantified FeedbackGood Software is Grown From Quantified Feedback
 Listen constantly to your users 
 Learn from measures – grow from your mistakes
 There is no user satisfaction without fast response time
Yves Caseau - The Joy of Programming – June 2018 8/9
Remember that You Belong to an EcosystemRemember that You Belong to an Ecosystem
 Your app is not isolated – recognize the system you are in
 Your users are not isolated – recognize the flows
 Don’t aim to be a “solution consultant” – be a magician !
Yves Caseau - The Joy of Programming – June 2018 9/9
ConclusionConclusion
Thank you for inviting me 
There has never been a better time
to write code 
Don’t build walls around yourselves 
 Let’s complete the Lean & Agile deployment
Yves Caseau - The Joy of Programming – June 2018 9/9
ConclusionConclusion
Thank you for inviting me 
There has never been a better time
to write code 
Don’t build walls around yourselves 
 Let’s complete the Lean & Agile deployment

Más contenido relacionado

Similar a Software Pitch 2018

OWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyondOWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyondBjörn Kimminich
 
Unit 6 Poster And Advert Design
Unit 6   Poster And Advert DesignUnit 6   Poster And Advert Design
Unit 6 Poster And Advert Designc.west
 
WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper Antidot
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Henning Jacobs
 
IRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security SystemIRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security SystemIRJET Journal
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)University of Bologna
 
20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation project20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation projectecomplexx
 
Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)Karel Dumon
 
Big Data for the CMO
Big Data for the CMOBig Data for the CMO
Big Data for the CMOBruno Aziza
 
Intro to Google Prediction API
Intro to Google Prediction APIIntro to Google Prediction API
Intro to Google Prediction APIGabriel Hamilton
 
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...zuluJDK
 
Understanding Java Garbage Collection
Understanding Java Garbage CollectionUnderstanding Java Garbage Collection
Understanding Java Garbage CollectionAzul Systems Inc.
 
Machine Learning for Self-Tracking
Machine Learning for Self-TrackingMachine Learning for Self-Tracking
Machine Learning for Self-TrackingYves Caseau
 
Recommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial ServicesRecommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial ServicesAndrea Gigli
 
Building a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael VaroquauxBuilding a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael VaroquauxPyData
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsChristian Heilmann
 
Agile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileAgile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileFelice Pescatore
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous DeploymentBrian Henerey
 

Similar a Software Pitch 2018 (20)

OWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyondOWASP Juice Shop 5.x and beyond
OWASP Juice Shop 5.x and beyond
 
Unit 6 Poster And Advert Design
Unit 6   Poster And Advert DesignUnit 6   Poster And Advert Design
Unit 6 Poster And Advert Design
 
WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper WISS 2015 - Machine Learning lecture by Ludovic Samper
WISS 2015 - Machine Learning lecture by Ludovic Samper
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
IRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security SystemIRJET - New Generation Multilevel based Atm Security System
IRJET - New Generation Multilevel based Atm Security System
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
[EDBT2021] Conversational OLAP in Action (Best Demo Award EDBT2021)
 
20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation project20 Practical tips for a successful internationalisation project
20 Practical tips for a successful internationalisation project
 
Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)Nexxworks bootcamp ML6 (27/09/2017)
Nexxworks bootcamp ML6 (27/09/2017)
 
Big Data for the CMO
Big Data for the CMOBig Data for the CMO
Big Data for the CMO
 
Intro to Google Prediction API
Intro to Google Prediction APIIntro to Google Prediction API
Intro to Google Prediction API
 
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
Understanding Zulu Garbage Collection by Matt Schuetze, Director of Product M...
 
Understanding Java Garbage Collection
Understanding Java Garbage CollectionUnderstanding Java Garbage Collection
Understanding Java Garbage Collection
 
Machine Learning for Self-Tracking
Machine Learning for Self-TrackingMachine Learning for Self-Tracking
Machine Learning for Self-Tracking
 
Recommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial ServicesRecommendation Systems in banking and Financial Services
Recommendation Systems in banking and Financial Services
 
Building a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael VaroquauxBuilding a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
Building a Cutting-Edge Data Process Environment on a Budget by Gael Varoquaux
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
From open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysferaFrom open source labs to ceo methods and advice by sysfera
From open source labs to ceo methods and advice by sysfera
 
Agile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse DuttileAgile meets IoT: AgileIoT and Eclipse Duttile
Agile meets IoT: AgileIoT and Eclipse Duttile
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 

Más de Yves Caseau

DataAquitaine February 2022
DataAquitaine February 2022DataAquitaine February 2022
DataAquitaine February 2022Yves Caseau
 
Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3Yves Caseau
 
Information Systems for Digital Transformation
Information Systems for Digital TransformationInformation Systems for Digital Transformation
Information Systems for Digital TransformationYves Caseau
 
Taking advantageofai july2018
Taking advantageofai july2018Taking advantageofai july2018
Taking advantageofai july2018Yves Caseau
 
Intelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIAIntelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIAYves Caseau
 
Big data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT ArchitectureBig data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT ArchitectureYves Caseau
 
Smart selfnovember2013
Smart selfnovember2013Smart selfnovember2013
Smart selfnovember2013Yves Caseau
 
Management socialnetworksfeb2012
Management socialnetworksfeb2012Management socialnetworksfeb2012
Management socialnetworksfeb2012Yves Caseau
 
Google socialnetworksmarch08
Google socialnetworksmarch08Google socialnetworksmarch08
Google socialnetworksmarch08Yves Caseau
 
Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance Yves Caseau
 
Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013Yves Caseau
 
Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015Yves Caseau
 
The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014Yves Caseau
 
Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014Yves Caseau
 
Claire epita-février2014
Claire epita-février2014Claire epita-février2014
Claire epita-février2014Yves Caseau
 
Cours chapitre2 2012
Cours chapitre2 2012Cours chapitre2 2012
Cours chapitre2 2012Yves Caseau
 

Más de Yves Caseau (20)

CCEM2023.pptx
CCEM2023.pptxCCEM2023.pptx
CCEM2023.pptx
 
DataAquitaine February 2022
DataAquitaine February 2022DataAquitaine February 2022
DataAquitaine February 2022
 
Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3Global warming dynamic gamesv0.3
Global warming dynamic gamesv0.3
 
Information Systems for Digital Transformation
Information Systems for Digital TransformationInformation Systems for Digital Transformation
Information Systems for Digital Transformation
 
Taking advantageofai july2018
Taking advantageofai july2018Taking advantageofai july2018
Taking advantageofai july2018
 
Intelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIAIntelligence Artificielle - Journée MEDEF & AFIA
Intelligence Artificielle - Journée MEDEF & AFIA
 
Big data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT ArchitectureBig data, Behavioral Change and IOT Architecture
Big data, Behavioral Change and IOT Architecture
 
Smart selfnovember2013
Smart selfnovember2013Smart selfnovember2013
Smart selfnovember2013
 
Management socialnetworksfeb2012
Management socialnetworksfeb2012Management socialnetworksfeb2012
Management socialnetworksfeb2012
 
Google socialnetworksmarch08
Google socialnetworksmarch08Google socialnetworksmarch08
Google socialnetworksmarch08
 
Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance Managing Business Processes Communication and Performance
Managing Business Processes Communication and Performance
 
Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013Smart homeamsterdamoctober2013
Smart homeamsterdamoctober2013
 
Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015Entreprise troispointzeropublicjan2015
Entreprise troispointzeropublicjan2015
 
GTES UTC 2014
GTES  UTC 2014GTES  UTC 2014
GTES UTC 2014
 
The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014The European CIO Conference - November 27th, 2014
The European CIO Conference - November 27th, 2014
 
Disic mars2014
Disic mars2014Disic mars2014
Disic mars2014
 
Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014Lean entreprisetwodotzerodauphinefev2014
Lean entreprisetwodotzerodauphinefev2014
 
Claire epita-février2014
Claire epita-février2014Claire epita-février2014
Claire epita-février2014
 
Claire98
Claire98Claire98
Claire98
 
Cours chapitre2 2012
Cours chapitre2 2012Cours chapitre2 2012
Cours chapitre2 2012
 

Último

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 

Último (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 

Software Pitch 2018

  • 1. Yves Caseau - The Joy of Programming – June 2018 1/9   // finds a cell with a min count (heuristic) findPivot(g:Grid) : any -> let minv := 10, cmin := unknown in (for c in g.cells (if (c.value = 0 & c.count < minv) (minv := c.count, cmin := c)), cmin) // solves a sudoku : branch on possible // values using a recursive function // branch(...) does all the work :) solve(g:Grid) : boolean -> when c := findPivot(g) in exists(v in (1 .. 9) | (if c.possible[v] branch((c.value := v, solve(g))) else false)) else true // first propagation rule r1() :: rule(  c.value := v => (store(c.line.counts,v,0), store(c.column.counts,v,0), store(c.square.counts,v,0), for v2 in (1 .. 9) (if (v != v2 & c.possible[v2]) noLonger(c,v2), for c2 in (c.line.cells but c) forbid(c2,v), for c2 in (c.column.cells but c) forbid(c2,v), for c2 in (c.square.cells but c) forbid(c2,v)))) // if c.count = 1, the only possible value is certain r2() :: rule( c.count := y & y = 1 => c.value := some(y in (1 .. 9) | c.possible[y])) // if a value v is possible only in one cell, it is certain r3() :: rule( updateCount(cs,v) & cs.counts[v] <= 1 => when c := some(c in cs.cells | c.value = 0 & c.possible[v]) in c.value := v else contradiction!()) Yves Caseau Michelin Group CIO NATF (National Academy of Technologies of France) Thinking, Designing, Writing,Thinking, Designing, Writing, Testing … and Living with Code:Testing … and Living with Code: Software in the 21Software in the 21stst centurycenturyYves Caseau Group CIO, Michelin NATF ADN Meetup, Le Crest June 28th , 2018 (v0.5)
  • 2. Yves Caseau - The Joy of Programming – June 2018 2/9 The Need for Elegant ProgrammingThe Need for Elegant Programming Constant change : love your code   Constant change & constant training Refactoring : your code is a garden !
  • 3. Yves Caseau - The Joy of Programming – June 2018 3/9 Software Development is a Team SportSoftware Development is a Team Sport The world moves too fast to stay alone  Build up your community  Share your code to hire extra eye balls
  • 4. Yves Caseau - The Joy of Programming – June 2018 4/9 Software is about Experience, not FunctionsSoftware is about Experience, not Functions  User Experience Design is critical  Cross-functional squads required  Polyvalence makes collaboration easier
  • 5. Yves Caseau - The Joy of Programming – June 2018 5/9 Always Ask for Help !Always Ask for Help ! In the 21st century, to code starts with search  Get in touch with your community for regular training Leverage the power of MOOCs – Be curious !
  • 6. Yves Caseau - The Joy of Programming – June 2018 6/9 Thinking and Doing in a Constant Learning LoopThinking and Doing in a Constant Learning Loop  Analysts and Developers : 20th century concepts   From mechanical design to organic growth  Real-life operability issues makes delightful math problems
  • 7. Yves Caseau - The Joy of Programming – June 2018 7/9 Good Software is Grown From Quantified FeedbackGood Software is Grown From Quantified Feedback  Listen constantly to your users   Learn from measures – grow from your mistakes  There is no user satisfaction without fast response time
  • 8. Yves Caseau - The Joy of Programming – June 2018 8/9 Remember that You Belong to an EcosystemRemember that You Belong to an Ecosystem  Your app is not isolated – recognize the system you are in  Your users are not isolated – recognize the flows  Don’t aim to be a “solution consultant” – be a magician !
  • 9. Yves Caseau - The Joy of Programming – June 2018 9/9 ConclusionConclusion Thank you for inviting me  There has never been a better time to write code  Don’t build walls around yourselves   Let’s complete the Lean & Agile deployment
  • 10. Yves Caseau - The Joy of Programming – June 2018 9/9 ConclusionConclusion Thank you for inviting me  There has never been a better time to write code  Don’t build walls around yourselves   Let’s complete the Lean & Agile deployment

Notas del editor

  1. This is not your CIO speech, it’s a dinner speech from an outsider expert - food for toughts Illustrations taken from my pet project – I will not go into it (not our topic today) – it is a a subliminal message Programming is fun (week-end &amp; vacations) I eat my own dog food : I apply to myself the advice that I am going to share
  2. Constant change =&amp;gt; easy to update =&amp;gt; nice code / well organized / easy to read (black box model is dead) Constant change in tech =&amp;gt; tools matter (iOS example) / Xcode Key idea : incremental (piece by piece / Agile) is great … but is creates accumulation and complexity
  3. Code in the first century is meant to be shared =&amp;gt; use the proper tools (GitHub) ADN is a Community  Communities is the best way to tackle complex things in changing world / complex world + need for reuse =&amp;gt; community Key principle from open source : reliability = f(1/bugs) = f(eyeballs)
  4. Obvious in the world of digital apps .. But true everywhere – Cross function experience is necessary to tackle at the same time usability, pleasure, performance, reliability … Not every one is everything : specialization occurs; but T-shaped is what works best
  5. The best efficiency comes from writing no code  “Collaboration does not mean to share what you know but what you don’t know” (pull / push) Curiosity has always been the mother of innovation, but today it is so efficient (access to knowledgeà
  6. What I mean : developers should be analysts (always) … and analysts should be developpers (today – because of complexity and change) – Taylorism is dead (requires stability) From Design to dev : the best theory is the one that works – Kevin Kelly &amp; Emergence From Dev to Design : Non-functional requirements (really practical reliability/ease of deply / operability) is worth a lot of thinking (Google SRE book)
  7. CFLL (explicit, implicit, social) : key for digital =&amp;gt; true for E2E SW (true for SaaS) Key lesson of Lean Startup : validated learning (analyst’s joker) Measure + focus on giving back free time to the user =&amp;gt; cf. Web Giants + Lean theorem “Tightly optimized systems are more robust”
  8. Software ecosystems are powerful : you need to surf the wave Digital : Customer journey is the key tool =&amp;gt; for E2E software, it’s business process and practice communities (BP do NOT capture everything) Arthur Clarke: Any sufficiently advanced technology is indistinguishable from magic. Magician are good role models for developers : key importance of practice + customer centricity focus on emotion