SlideShare a Scribd company logo
1 of 125
Download to read 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

More Related Content

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

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 engineeringMiro 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 DevOpsAndreas Grabner
 
Testing ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETTesting ASP.NET - Progressive.NET
Testing ASP.NET - Progressive.NETBen 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
 
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 DesignVictor 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 TestSeb Rose
 
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 - phpdublinMichelangelo 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 GalkinSigma Software
 
High ROI Testing in Angular.pptx
High ROI Testing in Angular.pptxHigh ROI Testing in Angular.pptx
High ROI Testing in Angular.pptxChristian Lüdemann
 
Сергей Больщиков "Protractor Tips & Tricks"
Сергей Больщиков "Protractor Tips & Tricks"Сергей Больщиков "Protractor Tips & Tricks"
Сергей Больщиков "Protractor Tips & Tricks"Fwdays
 
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 reactBOSC Tech Labs
 
Agile development practices - How do they really work ?
Agile development practices - How do they really work ?Agile development practices - How do they really work ?
Agile development practices - How do they really work ?anand003
 
Full Testing Experience - Visual Studio and TFS 2010
 Full Testing Experience - Visual Studio and TFS 2010 Full Testing Experience - Visual Studio and TFS 2010
Full Testing Experience - Visual Studio and TFS 2010Ed Blankenship
 

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

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
 
Agile development practices - How do they really work ?
Agile development practices - How do they really work ?Agile development practices - How do they really work ?
Agile development practices - How do they really work ?
 
Full Testing Experience - Visual Studio and TFS 2010
 Full Testing Experience - Visual Studio and TFS 2010 Full Testing Experience - Visual Studio and TFS 2010
Full Testing Experience - Visual Studio and TFS 2010
 

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 developersSven Peters
 
Team Shaping - Building a shared understanding
Team Shaping - Building a shared understandingTeam Shaping - Building a shared understanding
Team Shaping - Building a shared understandingSven Peters
 
Teams Flow, Stay in sync, async
Teams Flow, Stay in sync, asyncTeams Flow, Stay in sync, async
Teams Flow, Stay in sync, asyncSven 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 CareerSven 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 HarderSven Peters
 
How to Become a Conference Speaker
How to Become a Conference SpeakerHow to Become a Conference Speaker
How to Become a Conference SpeakerSven 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 HarderSven 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 WorkSven 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 ConstantSven Peters
 
Be More Productive with Confluence
Be More Productive with ConfluenceBe More Productive with Confluence
Be More Productive with ConfluenceSven 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 PlaybookSven Peters
 
The Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsThe Secret Sauce of Successful Teams
The Secret Sauce of Successful TeamsSven 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 DevelopmentSven Peters
 
Kick-@$$ Sofware Development
Kick-@$$ Sofware DevelopmentKick-@$$ Sofware Development
Kick-@$$ Sofware DevelopmentSven 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 2014Sven Peters
 
Atlassian - Software For Every Team
Atlassian - Software For Every TeamAtlassian - Software For Every Team
Atlassian - Software For Every TeamSven 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 itSven Peters
 
Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014Atlassian - The Latest & Greatest April 2014
Atlassian - The Latest & Greatest April 2014Sven Peters
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git RightSven 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

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 

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