SlideShare a Scribd company logo
1 of 87
Download to read offline
THE ART OF (SOFTWARE) DESIGN
Jérémie GRODZISKI - Thomas PIERRAIN
DDD Meetup - February 2017
HAS 'AGILE' KILLED
DESIGN IN SOFTWARE?
PROBABLY BUT…
’AGILE' WANTED TO KILL
BIG UPFRONT DESIGN ONLY
BIG UPFRONT DESIGN
DESIGN
≠
LACK OF DESIGN
EMERGENT DESIGN
≠
DON'T THROW
THE BABY WITH
THE BATHWATER
DON’T THROW THE DESIGN « BABY » WITH…
WHAT IS DESIGN
?
DESIGN IS MAKING
DECISIONS
MAKING
DECISIONS TO
BUILD
SOMETHING
EVERYONE
IS MAKING
DECISIONS
EVERYONE IS MAKING
DECISIONS…
BUT WITH DIFFERENT
IMPACTS
BUILDING
SOMETHING
OK, BUT WHY?
WHY?
WHY?
WHY?
WHY?
WHY?
BUILDING
SOMETHING
OK, BUT WHY?
SOLUTION SPACE
PROBLEM SPACE
WHY
WHAT
HOW
SOLUTION SPACE
PROBLEM
SPACE
Problem
Usages
Languages
Domain
Requirements
Constraints
People
PROBLEM
SPACE
Problem
Usages
Languages
Domain
Requirements
Constraints
People
DOMAIN 

( noun, do·main)
Set of concepts
That through
usages
Help to solve
problems
PROBLEM
SPACE
Problem
Usages
Languages
Domain
Requirements
Constraints
People
DOMAIN
Solve
Problems
SOLUTION SPACE
Software
Model
Design
Patterns
Heuristics
Feedback
Driven
PROBLEM
SPACE
Problem
Usages
Languages
Domain
Requirements
Constraints
People
SOLUTION SPACE
Software
Model
Design
Patterns
Heuristics
Feedback
PROBLEM
SPACE
Domain
SOLUTION SPACE
Design- Driven
HEURISTICS?
practical method not guaranteed to be
optimal or perfect, but sufficient for the
immediate goals.
PATTERNS
FAVORITES
ALGORITHMS
…
FAVORITES SOLUTIONS
FAVORITES
APPROACHES
OUR MENTAL MODELS
HOUSTON?
TRAPPED
BY YOUR OWN
HEURISTICS?
SYSTEMATIC LAYERS
ORMFRAMEWORKS
ANEMIC
BEHAVIORS
…IOC
FROM HEURISTICS TO
SOLUTION-FIRST BIAS
MOST
DEVELOPERS
LIKES…
SOLUTIONS
OUR USERS ARE
TIRED OF C.R.U.D.
APPLICATIONS
C.R.U.D.
APPLICATIONS
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Create
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Ctrl-C
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Update
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Ctrl-V
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Create
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Ctrl-V
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Update
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Ctrl-V
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
…
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
I’m doing all 

the job 

actually…
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Damn it!
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
Damn I.T!
THE C.R.U.D.
BURDEN
CRUD app #1
CRUD app #2
CRUD app #3
WHY?!?
MANY REASONS BUT…
DATA MODELS
INSTEAD OF
DOMAIN MODELS
LAZINESS
« Laziness is nothing more
than the habit of resting
before you get tired. »
(Jules Renard)
A DDD
ALTERNATIVE?
THE APP REALLY HELPS
WITH A SPECIFIC & CONSISTANT USER JOURNEY
OTHER BIASES?
BEWARE OF
FADS
micro-services, blockchains, …
THE
ABSTRACTION-
FIRST PITFALL
CONCRETE
THINGS
FIRST!
THE CV-DRIVEN
DEVELOPMENT
PANDEMIC
I.T. AS
SEEN BY
THE
BUSINESS
WE MUST
FOCUS MORE ON
THE BUSINESS
CONCERNS!
DESIGN IS
CONSCIOUS
CHOICES
(Banksy)
ALWAYS
CONNECT YOUR DECISIONS
TO YOUR
BUSINESS OBJECTIVES
DESIGN IS
THE ART OF
TRADE-OFF
design = f(requirements + constraints)trade-off
DESIGN
SOFTWARE?
ALIGNMENT &
EFFICIENCY
solution space
problem space
SOME
CONSTRAINTS
(the mythical man-month)
THERMODYNAMICS
OF SOFTWARE
HEXAGONAL
ARCHITECTURE
DOMAIN
CODE
(domain first)
HEXAGONAL
ARCHITECTURE
DOMAIN
CODE
DO NOT MESS
BUSINESS CODE
INFRA CODE
(infra later)
STANDARD
SOFTWARE DESIGN
(take all your favorite
heuristics with you ;-(
CONSCIOUS
(SOFTWARE) DESIGN
(take only what you need for
the usages/contraints)
CONSCIOUS
(SOFTWARE) DESIGN
USAGES FIRST - INFRA LATER
HEXAGONAL ARCHITECTURE
EXAMPLES & BEHAVIOURS (TESTS) DRIVEN
EXPLICIT (AND BOUNDED) CONTEXTS
SOFTWARE DESIGN
VS.
REAL WORLD DESIGN?
DUPLICATION
OF
CODE AND DATA
AT ALMOST NO
COST
SCALING
EASY
MODULARIZATION
AND INTERFACING
BEWARE OF THE
BUILDING
METAPHOR
WRAP UP
MINDSET
APPROACH
MINDSET
APPROACH
ALWAYS MAKE
CONSCIOUS
DECISIONS
{ Value | Constraint }
(Banksy)
FOSTER
CONSCIOUS
DESIGN!
STAY CONSCIOUS
OF YOUR
BIAS
MINDSET
APPROACH
MINDSET
APPROACH
USAGES FIRST
…INFRA LATER
BE ADAPTABLE
RATHER THAN
PREDICTABLE
THANK YOU!
JOIN US @DDDREBOOT

More Related Content

Similar to The art of Software Design

Designing Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic ContextsDesigning Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic ContextsThoughtworks
 
Designing Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic ContextsDesigning Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic ContextsJonny Schneider
 
Decoding design(ers) tinkerform
Decoding design(ers)   tinkerformDecoding design(ers)   tinkerform
Decoding design(ers) tinkerformJasmeet Sethi
 
Clean(er) Code - Tech'n'Drinks @myposter
Clean(er) Code - Tech'n'Drinks @myposterClean(er) Code - Tech'n'Drinks @myposter
Clean(er) Code - Tech'n'Drinks @mypostermyposter GmbH
 
DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"
DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"
DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"accessibilitydays
 
Android Internals (This is not the droid you’re loking for...)
Android Internals (This is not the droid you’re loking for...)Android Internals (This is not the droid you’re loking for...)
Android Internals (This is not the droid you’re loking for...)Giacomo Bergami
 
Design for Enterprise Delight - Benjamin Humphrey
Design for Enterprise Delight - Benjamin HumphreyDesign for Enterprise Delight - Benjamin Humphrey
Design for Enterprise Delight - Benjamin HumphreyAtlassian
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Jens Hoffmann
 
Responsive Design - ISCTE
Responsive Design - ISCTEResponsive Design - ISCTE
Responsive Design - ISCTEfidibiko
 
Voxxed Athens 2018 - UX design and back-ends: When the back-end meets the user
Voxxed Athens 2018 - UX design and back-ends: When the back-end meets the userVoxxed Athens 2018 - UX design and back-ends: When the back-end meets the user
Voxxed Athens 2018 - UX design and back-ends: When the back-end meets the userVoxxed Athens
 
Dawn of the Devices
Dawn of the DevicesDawn of the Devices
Dawn of the Devicesmwbrooks
 
What makes your app grouse - #appfest Sydney
What makes your app grouse - #appfest SydneyWhat makes your app grouse - #appfest Sydney
What makes your app grouse - #appfest SydneyShane Morris
 
6 Rules to Designing Amazing Mobile Apps (@media 2011)
6 Rules to Designing Amazing Mobile Apps (@media 2011)6 Rules to Designing Amazing Mobile Apps (@media 2011)
6 Rules to Designing Amazing Mobile Apps (@media 2011)Brian Fling
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverCyrille Martraire
 
Programming for non-programmers
Programming for non-programmersProgramming for non-programmers
Programming for non-programmersPancho Goldaracena
 
The Emergence & Convergence of AR
The Emergence & Convergence of ARThe Emergence & Convergence of AR
The Emergence & Convergence of ARFITC
 
Game Design Patterns Workshop - FDG2012 - Opening Remarks
Game Design Patterns Workshop - FDG2012 - Opening RemarksGame Design Patterns Workshop - FDG2012 - Opening Remarks
Game Design Patterns Workshop - FDG2012 - Opening RemarksJose Zagal
 
D4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve ItD4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve ItJared Ponchot
 

Similar to The art of Software Design (20)

Designing Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic ContextsDesigning Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic Contexts
 
Designing Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic ContextsDesigning Mobile Solutions for Social & Economic Contexts
Designing Mobile Solutions for Social & Economic Contexts
 
Decoding design(ers) tinkerform
Decoding design(ers)   tinkerformDecoding design(ers)   tinkerform
Decoding design(ers) tinkerform
 
Clean(er) Code - Tech'n'Drinks @myposter
Clean(er) Code - Tech'n'Drinks @myposterClean(er) Code - Tech'n'Drinks @myposter
Clean(er) Code - Tech'n'Drinks @myposter
 
DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"
DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"
DotNetLiguria - Introduzione all'accessibilità "in pausa caffè"
 
Android Internals (This is not the droid you’re loking for...)
Android Internals (This is not the droid you’re loking for...)Android Internals (This is not the droid you’re loking for...)
Android Internals (This is not the droid you’re loking for...)
 
Design for Enterprise Delight - Benjamin Humphrey
Design for Enterprise Delight - Benjamin HumphreyDesign for Enterprise Delight - Benjamin Humphrey
Design for Enterprise Delight - Benjamin Humphrey
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08
 
Responsive Design - ISCTE
Responsive Design - ISCTEResponsive Design - ISCTE
Responsive Design - ISCTE
 
Voxxed Athens 2018 - UX design and back-ends: When the back-end meets the user
Voxxed Athens 2018 - UX design and back-ends: When the back-end meets the userVoxxed Athens 2018 - UX design and back-ends: When the back-end meets the user
Voxxed Athens 2018 - UX design and back-ends: When the back-end meets the user
 
Dawn of the Devices
Dawn of the DevicesDawn of the Devices
Dawn of the Devices
 
What makes your app grouse - #appfest Sydney
What makes your app grouse - #appfest SydneyWhat makes your app grouse - #appfest Sydney
What makes your app grouse - #appfest Sydney
 
6 Rules to Designing Amazing Mobile Apps (@media 2011)
6 Rules to Designing Amazing Mobile Apps (@media 2011)6 Rules to Designing Amazing Mobile Apps (@media 2011)
6 Rules to Designing Amazing Mobile Apps (@media 2011)
 
SXSWi - VPRO / HU
SXSWi - VPRO / HUSXSWi - VPRO / HU
SXSWi - VPRO / HU
 
Sunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft ForeverSunny Tech 2019 - Craft Forever
Sunny Tech 2019 - Craft Forever
 
Accessibility
AccessibilityAccessibility
Accessibility
 
Programming for non-programmers
Programming for non-programmersProgramming for non-programmers
Programming for non-programmers
 
The Emergence & Convergence of AR
The Emergence & Convergence of ARThe Emergence & Convergence of AR
The Emergence & Convergence of AR
 
Game Design Patterns Workshop - FDG2012 - Opening Remarks
Game Design Patterns Workshop - FDG2012 - Opening RemarksGame Design Patterns Workshop - FDG2012 - Opening Remarks
Game Design Patterns Workshop - FDG2012 - Opening Remarks
 
D4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve ItD4D Boston 2010: Great Design - Why It's Important and How to Achieve It
D4D Boston 2010: Great Design - Why It's Important and How to Achieve It
 

More from Thomas Pierrain

The scale-up, the autonomy and the nuclear submarine
The scale-up, the autonomy and the nuclear submarineThe scale-up, the autonomy and the nuclear submarine
The scale-up, the autonomy and the nuclear submarineThomas Pierrain
 
La scale-up, l'autonomie et le sous-marin nucléaire
La scale-up, l'autonomie et le sous-marin nucléaireLa scale-up, l'autonomie et le sous-marin nucléaire
La scale-up, l'autonomie et le sous-marin nucléaireThomas Pierrain
 
De l'autre côté du miroir
De l'autre côté du miroirDe l'autre côté du miroir
De l'autre côté du miroirThomas Pierrain
 
Write Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDD
Write Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDDWrite Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDD
Write Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDDThomas Pierrain
 
Beyond Hexagonal architecture
Beyond Hexagonal architectureBeyond Hexagonal architecture
Beyond Hexagonal architectureThomas Pierrain
 
The 9 rules of debugging
The 9 rules of debuggingThe 9 rules of debugging
The 9 rules of debuggingThomas Pierrain
 
Hexagonal architecture vs Functional core / Imperative shell
Hexagonal architecture vs Functional core / Imperative shellHexagonal architecture vs Functional core / Imperative shell
Hexagonal architecture vs Functional core / Imperative shellThomas Pierrain
 
Une nuit dans l'hexagone
Une nuit dans l'hexagoneUne nuit dans l'hexagone
Une nuit dans l'hexagoneThomas Pierrain
 
As time goes by (episode 2)
As time goes by (episode 2)As time goes by (episode 2)
As time goes by (episode 2)Thomas Pierrain
 
Et si on parlait Éthique ?
Et si on parlait Éthique ?Et si on parlait Éthique ?
Et si on parlait Éthique ?Thomas Pierrain
 
Sortir de notre zone de confort
Sortir de notre zone de confortSortir de notre zone de confort
Sortir de notre zone de confortThomas Pierrain
 
L'Agilité a grande échelle : conserver l'esprit, pas la lettre
L'Agilité a grande échelle : conserver l'esprit, pas la lettreL'Agilité a grande échelle : conserver l'esprit, pas la lettre
L'Agilité a grande échelle : conserver l'esprit, pas la lettreThomas Pierrain
 
Legacy club (english version)
Legacy club (english version)Legacy club (english version)
Legacy club (english version)Thomas Pierrain
 
Decouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueDecouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueThomas Pierrain
 
Decouvrir son sujet grace à l'event storming
Decouvrir son sujet grace à l'event stormingDecouvrir son sujet grace à l'event storming
Decouvrir son sujet grace à l'event stormingThomas Pierrain
 
Ddd reboot (english version)
Ddd reboot (english version)Ddd reboot (english version)
Ddd reboot (english version)Thomas Pierrain
 

More from Thomas Pierrain (20)

The scale-up, the autonomy and the nuclear submarine
The scale-up, the autonomy and the nuclear submarineThe scale-up, the autonomy and the nuclear submarine
The scale-up, the autonomy and the nuclear submarine
 
Hexagonal And Beyond
Hexagonal And BeyondHexagonal And Beyond
Hexagonal And Beyond
 
La scale-up, l'autonomie et le sous-marin nucléaire
La scale-up, l'autonomie et le sous-marin nucléaireLa scale-up, l'autonomie et le sous-marin nucléaire
La scale-up, l'autonomie et le sous-marin nucléaire
 
De l'autre côté du miroir
De l'autre côté du miroirDe l'autre côté du miroir
De l'autre côté du miroir
 
eXtreme
eXtremeeXtreme
eXtreme
 
Write Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDD
Write Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDDWrite Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDD
Write Antifragile & Domain-Driven tests with ”Outside-in diamond” ◆ TDD
 
Beyond Hexagonal architecture
Beyond Hexagonal architectureBeyond Hexagonal architecture
Beyond Hexagonal architecture
 
The 9 rules of debugging
The 9 rules of debuggingThe 9 rules of debugging
The 9 rules of debugging
 
Hexagonal architecture vs Functional core / Imperative shell
Hexagonal architecture vs Functional core / Imperative shellHexagonal architecture vs Functional core / Imperative shell
Hexagonal architecture vs Functional core / Imperative shell
 
Une nuit dans l'hexagone
Une nuit dans l'hexagoneUne nuit dans l'hexagone
Une nuit dans l'hexagone
 
Equiper sa voie
Equiper sa voieEquiper sa voie
Equiper sa voie
 
As time goes by (episode 2)
As time goes by (episode 2)As time goes by (episode 2)
As time goes by (episode 2)
 
Et si on parlait Éthique ?
Et si on parlait Éthique ?Et si on parlait Éthique ?
Et si on parlait Éthique ?
 
Sortir de notre zone de confort
Sortir de notre zone de confortSortir de notre zone de confort
Sortir de notre zone de confort
 
L'Agilité a grande échelle : conserver l'esprit, pas la lettre
L'Agilité a grande échelle : conserver l'esprit, pas la lettreL'Agilité a grande échelle : conserver l'esprit, pas la lettre
L'Agilité a grande échelle : conserver l'esprit, pas la lettre
 
Legacy club (english version)
Legacy club (english version)Legacy club (english version)
Legacy club (english version)
 
Async await...oh wait!
Async await...oh wait!Async await...oh wait!
Async await...oh wait!
 
Decouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratiqueDecouvrir CQRS (sans Event sourcing) par la pratique
Decouvrir CQRS (sans Event sourcing) par la pratique
 
Decouvrir son sujet grace à l'event storming
Decouvrir son sujet grace à l'event stormingDecouvrir son sujet grace à l'event storming
Decouvrir son sujet grace à l'event storming
 
Ddd reboot (english version)
Ddd reboot (english version)Ddd reboot (english version)
Ddd reboot (english version)
 

Recently uploaded

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 

Recently uploaded (20)

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 

The art of Software Design