SlideShare a Scribd company logo
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

More Related Content

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

Introduction to test_driven_development
Introduction to test_driven_developmentIntroduction to test_driven_development
Introduction to test_driven_development
haochenglee
 
1 aleksandr gritsevski - attd example using
1   aleksandr gritsevski - attd example using1   aleksandr gritsevski - attd example using
1 aleksandr gritsevski - attd example using
Ievgenii Katsan
 
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
Miro Wengner
 
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
Andreas Grabner
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NET
Ben Hall
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
Fwdays
 
Tdd is not about testing (OOP)
Tdd is not about testing (OOP)Tdd is not about testing (OOP)
Tdd is not about testing (OOP)
Gianluca Padovani
 
Fundamentals of unit testing
Fundamentals of unit testingFundamentals of unit testing
Fundamentals of unit testing
Chamoda Pandithage
 
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
Victor Rentea
 
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...
Brian Brazil
 
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
Seb Rose
 
Agile testing
Agile testingAgile testing
Agile testing
Raj Indugula
 
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
Michelangelo van Dam
 
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
Sigma Software
 
High ROI Testing in Angular.pptx
High ROI Testing in Angular.pptxHigh ROI Testing in Angular.pptx
High ROI Testing in Angular.pptx
Christian Lüdemann
 
Сергей Больщиков "Protractor Tips & Tricks"
Сергей Больщиков "Protractor Tips & Tricks"Сергей Больщиков "Protractor Tips & Tricks"
Сергей Больщиков "Protractor Tips & Tricks"
Fwdays
 
Design for Testability
Design for TestabilityDesign for Testability
Design for Testability
Stefano Dalla Palma
 
Tdd for BT E2E test community
Tdd for BT E2E test communityTdd for BT E2E test community
Tdd for BT E2E test communityKerry Buckley
 
How to perform debounce in react
How to perform debounce in reactHow to perform debounce in react
How to perform debounce in react
BOSC Tech Labs
 

Similar to Developer Joy - How great teams get s%*t done (20)

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
 
High ROI Testing in Angular.pptx
High ROI Testing in Angular.pptxHigh ROI Testing in Angular.pptx
High ROI Testing in Angular.pptx
 
Сергей Больщиков "Protractor Tips & Tricks"
Сергей Больщиков "Protractor Tips & Tricks"Сергей Больщиков "Protractor Tips & Tricks"
Сергей Больщиков "Protractor Tips & Tricks"
 
Design for Testability
Design for TestabilityDesign for Testability
Design for Testability
 
Tdd for BT E2E test community
Tdd for BT E2E test communityTdd for BT E2E test community
Tdd for BT E2E test community
 
How to perform debounce in react
How to perform debounce in reactHow to perform debounce in react
How to perform debounce in react
 

More from Sven Peters

✊ 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
Sven Peters
 
Team Shaping - Building a shared understanding
Team Shaping - Building a shared understandingTeam Shaping - Building a shared understanding
Team Shaping - Building a shared understanding
Sven Peters
 
Teams Flow, Stay in sync, async
Teams Flow, Stay in sync, asyncTeams Flow, Stay in sync, async
Teams Flow, Stay in sync, async
Sven Peters
 
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
Sven Peters
 
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
Sven Peters
 
How to Become a Conference Speaker
How to Become a Conference SpeakerHow to Become a Conference Speaker
How to Become a Conference Speaker
Sven Peters
 
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
Sven Peters
 
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
Sven Peters
 
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
Sven Peters
 
Be More Productive with Confluence
Be More Productive with ConfluenceBe More Productive with Confluence
Be More Productive with Confluence
Sven Peters
 
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
Sven Peters
 
The Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsThe Secret Sauce of Successful Teams
The Secret Sauce of Successful Teams
Sven Peters
 
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
Sven Peters
 
Kick-@$$ Sofware Development
Kick-@$$ Sofware DevelopmentKick-@$$ Sofware Development
Kick-@$$ Sofware Development
Sven Peters
 
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
Sven Peters
 
Coding Culture
Coding CultureCoding Culture
Coding Culture
Sven Peters
 
Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every Team
Sven Peters
 
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
Sven Peters
 
Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014
Sven Peters
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
Sven Peters
 

More from 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
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
ViralQR
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.Welocme to ViralQR, your best QR code generator.
Welocme to ViralQR, your best QR code generator.
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 

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