SlideShare uma empresa Scribd logo
1 de 125
Baixar para ler offline
DEVELOPER
How great teams get s%*t done
@svenpet
Sven Peters
DevOps Advocate
JOY
The last
10
years
The Cloud
Container
Microservices
Security &
Governance
You build it,
you run it.
DEVELOPER
COGNITIVE
LOAD
BACK<
Productivity
to
Bethlehem Steel
1898
Bethlehem Steel
Frederick
Winslow Taylor
Bethlehem Steel
Bethlehem Steel
Bethlehem Steel
400%
increase
Workers
only doing repetitive task
Productivity New roles
Managers
doing the thinking
years ago
125
Productivity
T-shirt
sizes
Story
points
Developer
Lines of
code
Issues to
done
Cycle
time
Deployment
frequency
Developer
10% more story points
20% faster pull request reviews
Thank you Taylor
DEVELOPER EXPERIENCE
BACK<
DevJ
to
oy
DEVELOPER JOY
Dev
Progress
Dev
Quality
Dev
Value
TECHNICAL
DEBT
of dev time used for
10%
of dev teams manage
42% TECHNICAL
DEBT
of dev time used for
10%
of dev teams manage
42% TECHNICAL
DEBT
It all starts out
nicely
package com.miguelcatalan.materialsearchview;
import android.app.Activity;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import java.lang.re
fl
ect.Field;
import java.util.List;
/**
* @author Sven Peters
*/
public class MaterialSearchView extends FrameLayout implements Filter.FilterListener {
private MenuItem mMenuItem;
private boolean mIsSearchOpen = false;
public MaterialSearchView(Context context) {
this(context, null);
}
public MaterialSearchView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
mUserQuery = s;
startFilter(s);
MaterialSearchView.this.onTextChanged(s);
}
}
It all starts out
nicely
/**
* Return true if search is open
*
* @return
*/
public boolean isSearchOpen() {
return mIsSearchOpen;
}
/**
* Open Search View. This will animate the showing of the view.
*/
public void showSearch() {
showSearch(true);
}
/**
* Open Search View. if animate is true, Animate the showing of the view.
*
* @param animate
*/
public void showSearch(boolean animate) {
if (isSearchOpen()) {
return;
}
//Request Focus
mSearchSrcTextView.setText(null);
mSearchSrcTextView.requestFocus();
if (animate) {
AnimationUtil.fadeInView(mSearchLayout, AnimationUtil.ANIMATION_DURATION_MEDIUM
@Override
public boolean onAnimationStart(View view) {
return false;
}
/**
* Return true if search is open
*
* @return
*/
public boolean isSearchOpen() {
return mIsSearchOpen;
}
/**
* Open Search View. This will animate the showing of the view.
*/
public void showSearch() {
showSearch(true);
}
/**
* Open Search View. if animate is true, Animate the showing of the view.
*
* @param animate
*/
public void showSearch(boolean animate) {
if (isSearchOpen()) {
return;
}
//Request Focus
mSearchSrcTextView.setText(null);
mSearchSrcTextView.requestFocus();
if (animate) {
AnimationUtil.fadeInView(mSearchLayout, AnimationUtil.ANIMATION_DURATION_MEDIUM
@Override
public boolean onAnimationStart(View view) {
return false;
}
Sometimes it
ends in a mess
}
Your coding guidelines
caught this.
Your coding guidelines
caught this, right?
Team
Class names
Are CamelCase
Prefix private variables with underscore
Private variables
Single Responsibility Principal
A class should have one and only one job
Don’t assemble String with +
Use either .format or % instead
No line longer than 120 characters
Line length
Don’t use line continuations
Break up long lines using parentheses ()
No Tabs
4 spaces are for indention
Are lowercase. The can contain underscores
Variables and function name
Python Coding Guidelines
You’re doing
code reviews.
You’re doing
code reviews, right?
export default function DateTimeSlider({ onChangeCallback, timeZone,
time_min, time_max, autoUpdateSlider }: DateTimeSliderProps) {
const [timeWindow, setTimeWindow] = React.useState<number>(30 * 60)
const [value, setValue] = React.useState<number[]>(
[time_min, time_min + timeWindow],
);
const handleSliderChange = useCallback((
event: Event,
newValue: number | number[],
activeThumb: number) => {
if (!Array.isArray(newValue)) {
return;
}
+ var counter = 5;
+ var factorial = 1;
+ while (counter > 1)
+ factorial *= counter—;
+ const clamped = Math.min(newValue[0], time_max - timeWindow);
+ setValue([clamped, clamped + timeWindow]);
+ }
}, [timeWindow, time_min, time_max]);
const throttledValue = useThrottle<number[]>(value, 200)
WTF @sven?
export default function DateTimeSlider({ onChangeCallback, timeZone,
time_min, time_max, autoUpdateSlider }: DateTimeSliderProps) {
const [timeWindow, setTimeWindow] = React.useState<number>(30 * 60)
const [value, setValue] = React.useState<number[]>(
[time_min, time_min + timeWindow],
);
const handleSliderChange = useCallback((
event: Event,
newValue: number | number[],
activeThumb: number) => {
if (!Array.isArray(newValue)) {
return;
}
+ var counter = 5;
+ var factorial = 1;
+ while (counter > 1)
+ factorial *= counter—;
+ const clamped = Math.min(newValue[0], time_max - timeWindow);
+ setValue([clamped, clamped + timeWindow]);
+ }
}, [timeWindow, time_min, time_max]);
const throttledValue = useThrottle<number[]>(value, 200)
This code is ugly
export default function DateTimeSlider({ onChangeCallback, timeZone,
time_min, time_max, autoUpdateSlider }: DateTimeSliderProps) {
const [timeWindow, setTimeWindow] = React.useState<number>(30 * 60)
const [value, setValue] = React.useState<number[]>(
[time_min, time_min + timeWindow],
);
const handleSliderChange = useCallback((
event: Event,
newValue: number | number[],
activeThumb: number) => {
if (!Array.isArray(newValue)) {
return;
}
+ var counter = 5;
+ var factorial = 1;
+ while (counter > 1)
+ factorial *= counter—;
+ const clamped = Math.min(newValue[0], time_max - timeWindow);
+ setValue([clamped, clamped + timeWindow]);
+ }
}, [timeWindow, time_min, time_max]);
const throttledValue = useThrottle<number[]>(value, 200)
It would be nicer if
you’d use a for loop
Don’t be a jerk.
Who has been bullied by a jerk?
Jerks are the reason
people hate code reviews.
Team
Reviewer Author
ASSUME COMPETENCE
EXPLAIN REASONING
BE CONSTRUCTIVE
NO
BULLYING
DEVELOPER
JOY
Better Reviews
Team
Test
Test
Build & Test
TEST FAILED
Re-run Test
TEST PASSES
Create PR
.skip test
Add comment to PR
Flaky Test
Detector
Flaky Test
FlakeOff
Houston, we have a flaky test
DEBUG
FRUSTRATION
DEVELOPER
JOY
Better Tooling
Dev Flow
Code
Dev Flow
Code Build & Test Deploy
hours to minutes minutes to seconds
Review
Dev Flow
Code Build & Test Deploy
hours to minutes minutes to seconds
Review
days
Team
3 days
average from opening to merge a pull request
3 days
working on something else
and go back.
Open Pull Request
Fixing height of the screen
Open Pull Request
Adding user setting functionality
Open Pull Request
Optimising performance for chrome
@alice
@tom
@alice
@tanja
@mark
Puneet Arora
Team lead
Open Pull Request
Fixing height of the screen
Open Pull Request
Adding user setting functionality
Open Pull Request
Optimising performance for chrome
@alice
@tom
@alice
@tanja
@mark
Puneet Bot
3 days
From
To
1.2 days
WAIT
TIME
DEVELOPER
JOY
Faster Reviews
Flow
Traffic Flow: 191 (vehicles per minute)
Traffic Flow: 235
Traffic Flow: 360
Traffic Flow: 1099
Autonomous
Teams
Feature A
Platform
Feature C
Feature B
Testing
Autonomous Teams Highly Aligned
Designer
Tester
Ops
Developer
Autonomous Teams Highly Aligned
Designer
Tester
Ops
Developer
Developer
Developer
Developer
Team
Devs Exploratory Test
Automated Test A
Q
Devs Exploratory Test
Automated Test A
Q 🍹
Devs
Exploratory Test
Automated Test
Quality
Assistance
A
Q
Feature Test
Strategy
QA Engineer
Test Automation
Platform
Software Engineer on Test
DEVELOPER
COGNITIVE
LOAD
DEVELOPER
JOY
Quality Assistance
What users imagine
What users imagine
User stories
Running
software
Product Developers
Interviews
Research
Measurements
Experiments
Prototypes
Team
Make
Create
Make
Create
Wonder
Problem
Wonder
Problem
Explore
Solution
Make
Create
Impact
Measure
Wonder
Problem
Explore
Solution
Make
Create
Impact
Measure
Developer
Product
Goals, Signals,
Measures
Demos
Prototypes
Project kick off
Wonder Explore Make Impact
Demos
DEMO
OPEN
Everyone can join
OUTCOME
Show customer
value
CELEBRATE
Recognise great
work
GROUP
THINKING
Challenge the
solution
SESSION
REWORK
FRUSTRATION
DEVELOPER
JOY
Involve Everyone
What would
Taylor say?
If you can’t measure it,
you can’t improve it.
Peter Drucker
Time To Restore
Change Failure Rate
Start with DORA
Lead time for changes
Deployment Frequency
Ticket Cycle Time
From idea to deployment
How often do we deploy code to production
Deployment Frequency
Wait Time
Total of build time, deploy time, etc..
Keeping the lights on
Time spend on bugs, infra, etc.
Ratio between successful and failed deploys
Change Failure Rate
Bug resolutions
Critical bugs fixed
Incident Response Time
How fast are we reacting?
What’s the time to bring a service up again
Time to Restore
Important for the team?
Ask your developers
Measurements
& Baselines
The Wallboard
The Wallboard problem
QUALITY
METRICS
Check
Ops
Weekly team ritual
Ask your developers CheckOps
GitHub
Good Day Project
M T T
W F M T T
W F
Activities / day
How good was your day?
Review Deploy
Idea Code
3 days 1 day 3 days 2 days
12 days
Plan
Software development is not a production line
Measure what is important,
don’t make important what
you can measure.
Robert McNamara
Measure & Baseline
Ask your developers
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Measuring
Developer Joy
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Satisfaction
Speed to ship quality code
Waiting time
Execution independence
Access to tools, processes, and practices
Effort managing external standards
Managing code, pipeline, infrastructure
Ramp up time
Developer satisfaction
Importance Satisfaction
Satisfaction
Importance
Ramp up time
Wait time
Speed to ship
Managing code,
tools , pipelines
Access to tools
Execution independence
Managing external standards
Developer satisfaction
How is your
DEVELOPER JOY
bit.ly/developerjoy
?
Try to fix
things
DevEx
hack
20%
time
DevJoy
week
Include in
sprint
Try to fix
things
Spread
learnings
+
Measurements
Survey results
Survey results
Measurements
AUTONOMOUS
TEAMS
AUTONOMOUS
TEAMS
Fix things
AUTONOMOUS
TEAMS
Fix things
Dev
Progress
Dev
Quality
Dev
Value
Fix things
Dev
Progress
Dev
Quality
Dev
Value
DEVELOPER
JOY
Thank
you
DEVELOPER
Don’t forget to have fun.
JOY
Thank
you
bit.ly/developerjoy
@svenpet
DEVELOPER JOY

Mais conteúdo relacionado

Mais procurados

The Heart
The HeartThe Heart
The Heart
krismd
 
The Lymphatic System &amp; Lymphoid Organs And Tissues
The Lymphatic System &amp; Lymphoid Organs And TissuesThe Lymphatic System &amp; Lymphoid Organs And Tissues
The Lymphatic System &amp; Lymphoid Organs And Tissues
msu
 

Mais procurados (20)

Regulation of respiration
Regulation of respiration Regulation of respiration
Regulation of respiration
 
General physiology lecture 3
General physiology lecture 3General physiology lecture 3
General physiology lecture 3
 
Thermoregulation of Body
Thermoregulation of BodyThermoregulation of Body
Thermoregulation of Body
 
The Heart
The HeartThe Heart
The Heart
 
Respiratory system changes during exercises
Respiratory system changes during exercisesRespiratory system changes during exercises
Respiratory system changes during exercises
 
knee joint anatomy and clinical
knee joint anatomy and clinicalknee joint anatomy and clinical
knee joint anatomy and clinical
 
Joints and movements
Joints  and movementsJoints  and movements
Joints and movements
 
Upper limb bones
Upper limb bonesUpper limb bones
Upper limb bones
 
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
Anatomy of pubic symphysis and sacroiliac joint (www.Am-medicine.com)
 
Cardiac muscle tissue
Cardiac muscle tissueCardiac muscle tissue
Cardiac muscle tissue
 
Upperlimb joint (shoulder joint).pptx
Upperlimb joint (shoulder joint).pptxUpperlimb joint (shoulder joint).pptx
Upperlimb joint (shoulder joint).pptx
 
Tissue fluid formation & Edema slideshare
Tissue fluid formation & Edema slideshareTissue fluid formation & Edema slideshare
Tissue fluid formation & Edema slideshare
 
The Lymphatic System &amp; Lymphoid Organs And Tissues
The Lymphatic System &amp; Lymphoid Organs And TissuesThe Lymphatic System &amp; Lymphoid Organs And Tissues
The Lymphatic System &amp; Lymphoid Organs And Tissues
 
Properties of skeletal muscle
Properties of skeletal muscleProperties of skeletal muscle
Properties of skeletal muscle
 
Muscle physiology
Muscle physiologyMuscle physiology
Muscle physiology
 
Neuromuscular junction
Neuromuscular junctionNeuromuscular junction
Neuromuscular junction
 
Ankle joint & joints of foot pdf lecture notes by Dr.N.Mugunthan
Ankle joint & joints of foot pdf lecture notes by Dr.N.MugunthanAnkle joint & joints of foot pdf lecture notes by Dr.N.Mugunthan
Ankle joint & joints of foot pdf lecture notes by Dr.N.Mugunthan
 
Muscle Physiology.pdf
Muscle Physiology.pdfMuscle Physiology.pdf
Muscle Physiology.pdf
 
Anatomy of Radio ulnar joints
Anatomy of Radio  ulnar jointsAnatomy of Radio  ulnar joints
Anatomy of Radio ulnar joints
 
Ankle and Tibiofibular Joint.pptx
Ankle and Tibiofibular Joint.pptxAnkle and Tibiofibular Joint.pptx
Ankle and Tibiofibular Joint.pptx
 

Semelhante a Developer Joy - How great teams get s%*t done

Acceptance Testing With Selenium
Acceptance Testing With SeleniumAcceptance Testing With Selenium
Acceptance Testing With Selenium
elliando dias
 

Semelhante a Developer Joy - How great teams get s%*t done (20)

Acceptance Testing With Selenium
Acceptance Testing With SeleniumAcceptance Testing With Selenium
Acceptance Testing With Selenium
 
Unit tests & TDD
Unit tests & TDDUnit tests & TDD
Unit tests & TDD
 
Code Quality Practice and Tools
Code Quality Practice and ToolsCode Quality Practice and Tools
Code Quality Practice and Tools
 
Django for mobile applications
Django for mobile applicationsDjango for mobile applications
Django for mobile applications
 
Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Introduction to test_driven_development
Introduction to test_driven_developmentIntroduction to test_driven_development
Introduction to test_driven_development
 
1 aleksandr gritsevski - attd example using
1   aleksandr gritsevski - attd example using1   aleksandr gritsevski - attd example using
1 aleksandr gritsevski - attd example using
 
Boost delivery stream with code discipline engineering
Boost delivery stream with code discipline engineeringBoost delivery stream with code discipline engineering
Boost delivery stream with code discipline engineering
 
Web-First Design Patterns
Web-First Design PatternsWeb-First Design Patterns
Web-First Design Patterns
 
A Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOpsA Guide to Event-Driven SRE-inspired DevOps
A Guide to Event-Driven SRE-inspired DevOps
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NET
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
 
Tdd is not about testing (OOP)
Tdd is not about testing (OOP)Tdd is not about testing (OOP)
Tdd is not about testing (OOP)
 
Fundamentals of unit testing
Fundamentals of unit testingFundamentals of unit testing
Fundamentals of unit testing
 
The Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable DesignThe Art of Unit Testing - Towards a Testable Design
The Art of Unit Testing - Towards a Testable Design
 
Better Monitoring for Python: Inclusive Monitoring with Prometheus (Pycon Ire...
Better Monitoring for Python: Inclusive Monitoring with Prometheus (Pycon Ire...Better Monitoring for Python: Inclusive Monitoring with Prometheus (Pycon Ire...
Better Monitoring for Python: Inclusive Monitoring with Prometheus (Pycon Ire...
 
Stopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under TestStopping the Rot - Putting Legacy C++ Under Test
Stopping the Rot - Putting Legacy C++ Under Test
 
Agile testing
Agile testingAgile testing
Agile testing
 
Workshop quality assurance for php projects - phpdublin
Workshop quality assurance for php projects - phpdublinWorkshop quality assurance for php projects - phpdublin
Workshop quality assurance for php projects - phpdublin
 
Testing in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinTesting in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita Galkin
 

Mais de Sven Peters

Mais de Sven Peters (20)

✊ Join the DEV-olution: A culture of empowered developers
✊ Join the DEV-olution: A culture of empowered developers✊ Join the DEV-olution: A culture of empowered developers
✊ Join the DEV-olution: A culture of empowered developers
 
Team Shaping - Building a shared understanding
Team Shaping - Building a shared understandingTeam Shaping - Building a shared understanding
Team Shaping - Building a shared understanding
 
Teams Flow, Stay in sync, async
Teams Flow, Stay in sync, asyncTeams Flow, Stay in sync, async
Teams Flow, Stay in sync, async
 
The Hitchhiker's Guide to a Great Developer Career
The Hitchhiker's Guide to a Great Developer CareerThe Hitchhiker's Guide to a Great Developer Career
The Hitchhiker's Guide to a Great Developer Career
 
The Effective Developer - Work Smarter, not Harder
The Effective Developer - Work Smarter, not HarderThe Effective Developer - Work Smarter, not Harder
The Effective Developer - Work Smarter, not Harder
 
How to Become a Conference Speaker
How to Become a Conference SpeakerHow to Become a Conference Speaker
How to Become a Conference Speaker
 
The Effective Developer - Work Smarter, Not Harder
The Effective Developer - Work Smarter, Not HarderThe Effective Developer - Work Smarter, Not Harder
The Effective Developer - Work Smarter, Not Harder
 
5 Things: How to Rock Remote Work
5 Things: How to Rock Remote Work5 Things: How to Rock Remote Work
5 Things: How to Rock Remote Work
 
A Career Advice: Change is the Only Constant
A Career Advice: Change is the Only ConstantA Career Advice: Change is the Only Constant
A Career Advice: Change is the Only Constant
 
Be More Productive with Confluence
Be More Productive with ConfluenceBe More Productive with Confluence
Be More Productive with Confluence
 
Less Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team PlaybookLess Process, more Guidance with a Team Playbook
Less Process, more Guidance with a Team Playbook
 
The Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsThe Secret Sauce of Successful Teams
The Secret Sauce of Successful Teams
 
Rise of the Machines - Automate your Development
Rise of the Machines - Automate your DevelopmentRise of the Machines - Automate your Development
Rise of the Machines - Automate your Development
 
Kick-@$$ Sofware Development
Kick-@$$ Sofware DevelopmentKick-@$$ Sofware Development
Kick-@$$ Sofware Development
 
The 5 Hottest Atlassian News from Summit 2014
The 5 Hottest Atlassian News from Summit 2014The 5 Hottest Atlassian News from Summit 2014
The 5 Hottest Atlassian News from Summit 2014
 
Coding Culture
Coding CultureCoding Culture
Coding Culture
 
Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every Team
 
It's the culture, but not as you know it
It's the culture, but not as you know itIt's the culture, but not as you know it
It's the culture, but not as you know it
 
Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
 

Último

Último (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
[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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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
 
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...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

Developer Joy - How great teams get s%*t done