SlideShare a Scribd company logo
1 of 33
Software
Craftsmanship
Essentials
Eduards Sizovs
eduards.sizovs@gmail.com
@eduardsi on Twitter
www.craftsmans.lv
Agenda
Disciplines – DOs & DON’Ts
What topics dominate on software
development conferences?
TALKS ON FUNDAMENTAL
ENGINEERING PRACTICES
Most software projects look like a
Big Ball of Mud
Theory vs. practice mismatch
Software craftsmanship is a
movement about getting better at
software development particularly
through gaining professional skills.
Responsibility
Who is responsible for quality in
a project?
QA SHOULD FIND NOTHING.
Have you ever been impeded by
bad code?
Clean Code
Leave the campground cleaner than
you found it.
Take responsibility over
architecture.
http://martinfowler.com/articles/designDead.html
http://martinfowler.com/bliki/DesignStaminaHypothesis.html
Lean Architecture:
for Agile Software Development
James O. Coplien
Learn domain you’re working in
Who always uses TDD?
TDD
Who is responsible for your
education?
Learning
• Open Source
• Breakable Toys
• Books (Safari, Shelfari)
• Online Resources (InfoQ)
• Slides (SlideShare)
• Following (Twitter)
• Pairing
• User Groups
• Conferences
• Trainings
• Discussion Lists
• FedEx days
Your idea of Perfect Code
Code you write at work
«You Suck Gap »
Deliberate Practice
• Code Katas
• Coding Dojos
• Code Retreat
• Craftsmen Swaps
• Craftsmen Journey
• Craftsmen Spikes
Apprentice.
Don’t be Prima Donna
manifesto.softwarecraftsmanship.org
« Programming is not a craft »
by Dan North  http://goo.gl/eS4DY
Robert Martin
Corey Haines
Valueless Software
http://goo.gl/LDe2N0
The Hacker, The Novice, The Artist, and The Craftsman
http://goo.gl/qmHIFr
Hitting the High Notes
http://goo.gl/rd8MF
8th Light
http://www.8thlight.com/principles
Thank you!

More Related Content

What's hot

Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Lisa Boyer Cooney (she/her)
 
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of DisruptionAfter Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of DisruptionAtlassian
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Wojciech Seliga
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at FrosconKris Buytaert
 
Scrum And The Enterprise
Scrum And The EnterpriseScrum And The Enterprise
Scrum And The EnterpriseJames Peckham
 
Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...Wojciech Seliga
 
Community building lessons from Ansible
Community building lessons from AnsibleCommunity building lessons from Ansible
Community building lessons from AnsibleGreg DeKoenigsberg
 
DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.Bert Jan Schrijver
 
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...Bert Jan Schrijver
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...Bert Jan Schrijver
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureAllison Pollard
 
Go or No-Go: Operability and Contingency Planning at Etsy.com
Go or No-Go: Operability and Contingency Planning at Etsy.comGo or No-Go: Operability and Contingency Planning at Etsy.com
Go or No-Go: Operability and Contingency Planning at Etsy.comJohn Allspaw
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Allison Pollard
 
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...Wojciech Seliga
 
Student Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSStudent Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSAll Things Open
 
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...Bert Jan Schrijver
 
Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014Wojciech Seliga
 
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocksTop Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocksZeroTurnaround
 

What's hot (20)

Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
 
SDLC & DevSecOps
SDLC & DevSecOpsSDLC & DevSecOps
SDLC & DevSecOps
 
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of DisruptionAfter Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
After Agile, DevOps, and Lean IT: Modern Methodology in the Age of Disruption
 
Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...Ten lessons I painfully learnt while moving from software developer to entrep...
Ten lessons I painfully learnt while moving from software developer to entrep...
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Scrum And The Enterprise
Scrum And The EnterpriseScrum And The Enterprise
Scrum And The Enterprise
 
Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...Ten lessons I painfully learnt while moving from software developer
to entrep...
Ten lessons I painfully learnt while moving from software developer
to entrep...
 
Community building lessons from Ansible
Community building lessons from AnsibleCommunity building lessons from Ansible
Community building lessons from Ansible
 
DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.DevoxxUK 2019 - Better software, faster.
DevoxxUK 2019 - Better software, faster.
 
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
AmsterdamJUG September 2019 - Better software, faster: Principles of Continuo...
 
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
CodeOne 2018 - Better software, faster: principles of Continuous Delivery and...
 
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship CultureTechnical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
Technical Excellence Doesn't Just Happen--Igniting a Craftsmanship Culture
 
Go or No-Go: Operability and Contingency Planning at Etsy.com
Go or No-Go: Operability and Contingency Planning at Etsy.comGo or No-Go: Operability and Contingency Planning at Etsy.com
Go or No-Go: Operability and Contingency Planning at Etsy.com
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016
 
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
SFI 2017 Plantacje Programistów (Developers Plantations) - Colonialism in XXI...
 
Student Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSSStudent Pipeline to Open Source Communities using HFOSS
Student Pipeline to Open Source Communities using HFOSS
 
Leading agile teams
Leading agile teamsLeading agile teams
Leading agile teams
 
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
 
Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014Software Development Innovation in Practice - 33rd Degree 2014
Software Development Innovation in Practice - 33rd Degree 2014
 
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocksTop Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
Top Reasons Why Java Rocks (report preview) - http:0t.ee/java-rocks
 

Similar to Software Craftsmanship Essentials

Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupBen VanEvery
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupChris Aniszczyk
 
Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11Jorge Hidalgo
 
Building a reputation in IT
Building a reputation in ITBuilding a reputation in IT
Building a reputation in ITYitzikCasapu
 
InnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationInnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationJulian Werba
 
TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)Ahmed Misbah
 
Release Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRelease Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRainya Mosher
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tipsDaniel Bezerra
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introductionLilia Sfaxi
 
Info session developer student club telkom university
Info session developer student club telkom universityInfo session developer student club telkom university
Info session developer student club telkom universityRaihan Hamid Suraperwata
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at TwitterChris Aniszczyk
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICTDSCUSICT
 
Making and sharing content online
Making and sharing content onlineMaking and sharing content online
Making and sharing content onlineHelen Webster
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developerjeetendra mandal
 
Build your business on top of Open Source
Build your business on top of Open SourceBuild your business on top of Open Source
Build your business on top of Open SourceAntonio Peric-Mazar
 
Engineering at Slido
Engineering at SlidoEngineering at Slido
Engineering at SlidoSlido
 
David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...
David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...
David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...David Intersimone
 

Similar to Software Craftsmanship Essentials (20)

Oscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo groupOscon 2016: open source lessons from the todo group
Oscon 2016: open source lessons from the todo group
 
Open Source Lessons from the TODO Group
Open Source Lessons from the TODO GroupOpen Source Lessons from the TODO Group
Open Source Lessons from the TODO Group
 
Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11Next-gen IDE v2 - OpenSlava 2013-10-11
Next-gen IDE v2 - OpenSlava 2013-10-11
 
Building a reputation in IT
Building a reputation in ITBuilding a reputation in IT
Building a reputation in IT
 
InnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaborationInnerSourcing - Worldwide enterprise development teams collaboration
InnerSourcing - Worldwide enterprise development teams collaboration
 
TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)TDD Anti-patterns (2022 edition)
TDD Anti-patterns (2022 edition)
 
Release Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack ProjectRelease Engineering Downstream of an OpenStack Project
Release Engineering Downstream of an OpenStack Project
 
The beginning
The beginningThe beginning
The beginning
 
Os Long
Os LongOs Long
Os Long
 
DevOps overview and tech interview tips
DevOps overview and tech interview tipsDevOps overview and tech interview tips
DevOps overview and tech interview tips
 
Software Engineering - chp0- introduction
Software Engineering - chp0- introductionSoftware Engineering - chp0- introduction
Software Engineering - chp0- introduction
 
Info session developer student club telkom university
Info session developer student club telkom universityInfo session developer student club telkom university
Info session developer student club telkom university
 
Open Source Compliance at Twitter
Open Source Compliance at TwitterOpen Source Compliance at Twitter
Open Source Compliance at Twitter
 
Career path in IT
Career path in IT  Career path in IT
Career path in IT
 
Info Session GDSC USICT
Info Session GDSC USICTInfo Session GDSC USICT
Info Session GDSC USICT
 
Making and sharing content online
Making and sharing content onlineMaking and sharing content online
Making and sharing content online
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
Build your business on top of Open Source
Build your business on top of Open SourceBuild your business on top of Open Source
Build your business on top of Open Source
 
Engineering at Slido
Engineering at SlidoEngineering at Slido
Engineering at Slido
 
David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...
David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...
David I Evans Data DevRel Conference 2016 Technical Best Practices for a DevR...
 

More from Eduards Sizovs

Beyond Software Craftsmanship - Johnny's Road to Remarkable Career
Beyond Software Craftsmanship - Johnny's Road to Remarkable CareerBeyond Software Craftsmanship - Johnny's Road to Remarkable Career
Beyond Software Craftsmanship - Johnny's Road to Remarkable CareerEduards Sizovs
 
Architecting well-structured Java applications
Architecting well-structured Java applicationsArchitecting well-structured Java applications
Architecting well-structured Java applicationsEduards Sizovs
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service ArchitectureEduards Sizovs
 
Code Structural Analysis
Code Structural AnalysisCode Structural Analysis
Code Structural AnalysisEduards Sizovs
 

More from Eduards Sizovs (7)

Beyond Software Craftsmanship - Johnny's Road to Remarkable Career
Beyond Software Craftsmanship - Johnny's Road to Remarkable CareerBeyond Software Craftsmanship - Johnny's Road to Remarkable Career
Beyond Software Craftsmanship - Johnny's Road to Remarkable Career
 
Architecting well-structured Java applications
Architecting well-structured Java applicationsArchitecting well-structured Java applications
Architecting well-structured Java applications
 
Micro Service Architecture
Micro Service ArchitectureMicro Service Architecture
Micro Service Architecture
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 
SOLID
SOLIDSOLID
SOLID
 
Introduction to DDD
Introduction to DDDIntroduction to DDD
Introduction to DDD
 
Code Structural Analysis
Code Structural AnalysisCode Structural Analysis
Code Structural Analysis
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
🐬 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
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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...
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.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 🐘
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

Software Craftsmanship Essentials

Editor's Notes

  1. QCON: Reactive, Scrum, DevOps, Startup, BIG DATA
  2. Новое поколение?Сильная теория (АВТО МЕХАНИКа)На работе – Big Ball of Mud и аврал.
  3. Как молодая индустрия, мы сталкиваемся с серьезной проблемой:Качество  (Подготовка специалистов  Отсутствие проф. этики, «принято кое как» …Да и бизнес нам не доверяетПроблема в нас.
  4. Цель – создание людей, подымающих планку.
  5. ПланнингНе понимаю задачу, поэтому с умным видом дам 8, иначе покажусь «непрофессионалом».Возьму непосильный Эпик, иначе уволятЭто ж «единичка»Давление Манагер: демо на завтра с новым клинетомс НОВОЙ ФИЧЕЙ; Девы: ОК! Если зафейлим, то естьТАЗИКСПЕШКА -> режем углы -> потеря качества -> пропущенные коммитменты в long-term, и выглядим как кучка делетантов.Врач и прибежавший пациент.Мы должны отвечать за свои решения –коммитменты, эстимейты, код и качество.
  6. А ЕСЛИ НЕТ QA, КАК В ГУГЛЕ?КОМАНДА. Важно – девелопер не в меньшей степени чем QA.
  7. Some of us use QA to find bugs. Throwing over a wall.Я НАКОЛБАШУ МНОГО КОДА! Какой выигрышот НАКОЛБАШИВАНИЯ того что НЕ РАБОТАЕТ и ВЕРНЕТСЯ ОБРАТНО? Меняем mindset – QA ничего не найдет. Our standards is so high! We should impress QA! QAчто-нибудь найдет, никто не идеален. Это наше ОТНОШЕНИЕ!Если мы берем ответственность за качество, то эффективность всего процесса тестинга – НАША проблема. - Не позволяем QA работать роботомРаботаем тесными парами с QA. Помогаем автоматизировать (сложно), обучаем написанию кода, делаем ревью и рефакторим. QA SHOULD FIND NOTHING.
  8. ТОГДА ЗАЧЕМ ВЫ ЕГО ПИСАЛИ?Не было времени! Пофишку позже (врач)ГАВНОКОД – болотоGO WELL.
  9. «непробиваемый» код. Жалко портить…Обдумываем каждую строчку кода, чтобы строчка говорила сама за себя:Подбираем имена, выдимые сайд-эффектыМаленькие методы (1-5 строк), 1-2 аргумента, лучше – вообще без нихМножество независимых классов с одной ответственностьюНет дубликацииНет комментов
  10. Элементарное правило способное спасти даже самый последний проект! Не следуем Реальная история: команда, которая довела проект до ручки выбила «великий редизайн»:Собирается команда тигров, способная решить все проблемы компании!Остальные – на подхватеЕсли команда довела систему до ручки, она снова к ней придетЛучше потратьте время на создание культуры «бойскаутов». Остальное - вопрос времени.
  11. Миф – Agile убил «дизайн и архитектуру». Раз мы понимаем, что архитектура и дизайн неминуемы, то:Вы ответственныАрхитектура = Код. Архитекторы нужны. Нужны «правильные» девелоперы.
  12. Проблема: как можно разрабатывать бизнес-приложение, если мы не понимаем бизнес? AD-HOC сервисы.Проблема: вряд ли можем предложить умное бизнес решение для проблемы. Будем делать то, что говорят.Сеньоры – техника.Пример: В Литве со всех сторон «поджали» законы. Бизнес, ссылаясь на материалы кредитной ассоциации Литвы, завыл, что дела плохи.Dainius, подняв документы и углубившись в ЖЕСТКИЕ расчеты, зацепившись за «нюансы» сумел сохранить бизнес, сделал его «рентабельнее». Даже наняли профессора математики. Начальник зафорсил премию.Вывод: если хотите, чтобы бизнес воспринимал вас как партнеров, а не людей говорящих на языке 01, то DDD в помощь. Читаем!
  13. Сейчас посмотрим кто из «TDD» опустит руки:Пишем ли мы тест, перед написанием каждой строчки кода?Так как код нельзя забыть, не забываем ли мы рефакторить?
  14. Новаяфича без TDD (Дебаг-дривен-девелопмент):Ответ: Что-то останется непокрыто. Боимся того, что создали. Или не трогаем или подход «авось бахнется»Бонусы:Нельзя создавать нетестируемый код (бывало?)Нельзя ускакать слишком далеко (поменять слишком много) - (бывало?)Бесплатные тесты! Бесплатная дока! 100% coverage! (бывал?)
  15. Employerpromises to pay you, and you promise to do a good job. 30 минут в обед – 10 часов в месяц
  16. Бомбящие ТАЛАНТ
  17. Code Katas – Главное – процесс. Watch your mouse, repeated ops!!! Coding Dojo – doing katas in pairs, TDDCraftsman Swaps - companies exchange developers to learn from each other.Craftsman Journey – you go there instead of conference…Craftsman Spikes – company gives you a green light to work on side project, X% of time.Организуйте!
  18. Факт: Каждый начинающий девелопер может стать Профессионалом, при правильном менторинге. Реальность: приходит молодой девелопер, остается один на один с гавно-кодом, все в наушниках, а ему нужно шипить.ОТОРВАТЬСЯ ОТ КЛАВИАТУРЫ и взять новичков под свое крыло:- Создавать среду, где новичок может видеть результат своих ошибок (деплоить на продакшн с фичер-тоглом)Указать на недостатки в текущем инвайронментеПарное программированиеКод ревьюСледим за развитием (ей, пора подтянуть REST)Win-win для всех!
  19. Примадонна-девелоперы ставят свое ЭГО и искусство написания кода превыше всего, даже самого продукта. Симптомы:Только «тайгер тип»Код вылизываем, но не шипим того, что хочет бизнесЗапрещаем менять систему из-за «элегантности текущего решения»Помните: бизнесу нужно решение проблемы, а не софт. Если бы была возможность решить проблему без софта, так бы и сделали.
  20. Located in USA (Nov 2013, 2 days conference in Chicago)
  21. It’s more than enough to start driving adoption in your country, user group, company, team!
  22. Craftsmanship – не следующая «большая штука», которую модно вписать в CV. Craftsmanship – это попытка маленькими шажками улучшить самую передовую и влиятельную индустрию в мире, остро страдающую от непрофессионализма. Миссия невыполнима? Посмотрите вокруг. Вас окружают люди, которые, вместо того, чтобы сейчас смотреть дома телек, расширяют свой багаж знаний, чтобы применить их в проекте, передать другим. Другие передадут дальше. От нашей активности зависит успех «миссии». Самое время «поднажать»!