SlideShare a Scribd company logo
1 of 72
Download to read offline
Dependencies,
Distributed code
and engineering velocity
Mike McGarr
@SonOfGarr
© J. Michael McGarr, 2017
I have a problem...
© J. Michael McGarr, 2017
...that impacts every engineer at Netflix.
© J. Michael McGarr, 2017
Affects you too.
© J. Michael McGarr, 2017
I don't know the solution.
© J. Michael McGarr, 2017
direction
© J. Michael McGarr, 2017
So what is this problem?
© J. Michael McGarr, 2017
SHARED
CODE© J. Michael McGarr, 2017
cloud microservices
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
client libraries
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
transitive dependencies
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
consuming libraries
should be
easy© J. Michael McGarr, 2017
software isn't static
© J. Michael McGarr, 2017
semantic versions
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
(*) 3.1.13
3.1.14
3.1.15
3.1.16
3.2.0
3.2.1
3.2.2
3.2.3
4.0.0-RC1
© J. Michael McGarr, 2017
Which version is good?
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
(*) 3.1.13 ❌
3.1.14 ❌
3.1.15 ❌
3.1.16 ✔
3.2.0 ❌
3.2.1 ❌
3.2.2 ✔
3.2.3 ❌
4.0.0-RC1 ❓
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
Semantic versioning is insufficient
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
Which version of guava
will you get?
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
Pinning versions is
technical debt
© J. Michael McGarr, 2017
Just give me a
version that
works!© J. Michael McGarr, 2017
consuming libraries
is actually
hard© J. Michael McGarr, 2017
Well, at least
publishing
is the easy, right?
© J. Michael McGarr, 2017
Need to change foobar-client:3.2.2
→ Bug fix? 3.2.3
→ Behavior change? 3.2.0
→ API change? 4.0.0
© J. Michael McGarr, 2017
Who will I break?
© J. Michael McGarr, 2017
Who is consuming
my library?
© J. Michael McGarr, 2017
Who is using this
API
that I want to change?
© J. Michael McGarr, 2017
Publishers lack
organization-wide
visibility
© J. Michael McGarr, 2017
There are
solutions out
there...
© J. Michael McGarr, 2017
Option #1:
Just deal with pain
© J. Michael McGarr, 2017
Option #2:
Share nothing
© J. Michael McGarr, 2017
Option #2:
Share nothing little
© J. Michael McGarr, 2017
Option #3:
Monorepo
© J. Michael McGarr, 2017
→ all code in a single repository
→ source integration
→ head is production
→ no versions
→ atomic API changes
→ lock step deployments
© J. Michael McGarr, 2017
constraints
© J. Michael McGarr, 2017
monorepo depends on gates
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
Our approach...
© J. Michael McGarr, 2017
Can we get the benefits
of a monorepo,
without the constraints?
© J. Michael McGarr, 2017
Publisher feedback
Managed source
Distributed refactoring
© J. Michael McGarr, 2017
Publisher feedback
© J. Michael McGarr, 2017
Astrid
Niagara
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
I now know who I will
break!
© J. Michael McGarr, 2017
Managed source
© J. Michael McGarr, 2017
eliminate reduce
consumer pain
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
© J. Michael McGarr, 2017
Shorten adoption curve
© J. Michael McGarr, 2017
Give me a
version that
works!© J. Michael McGarr, 2017
Distributed refactoring
© J. Michael McGarr, 2017
Gradle Lint
© J. Michael McGarr, 2017
How do I
Change my API
across hundreds of
repos?
© J. Michael McGarr, 2017
1. Find all repositories
2. Find all API calls
3. Refactor all API calls
4. Issue pull requests en masse
© J. Michael McGarr, 2017
experimental
© J. Michael McGarr, 2017
Publisher feedback
Managed source
Distributed refactoring
© J. Michael McGarr, 2017
"Eventually consistent distributed monorepo"
-- Avi Bryant (Stripe)
© J. Michael McGarr, 2017
Will this work?
© J. Michael McGarr, 2017
Thank you
Mike McGarr
@SonOfGarr
mmcgarr@netflix.com
© J. Michael McGarr, 2017

More Related Content

Similar to Dependencies, distributed code and engineering velocity

Smoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two TeamsSmoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two TeamsEqual Experts
 
Joe Millward & Michael Gjere (3M): Bringing the New Reality to the Enterprise
Joe Millward & Michael Gjere (3M): Bringing the New Reality to the EnterpriseJoe Millward & Michael Gjere (3M): Bringing the New Reality to the Enterprise
Joe Millward & Michael Gjere (3M): Bringing the New Reality to the EnterpriseAugmentedWorldExpo
 
CHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and ExamplesCHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and ExamplesDawn Foster
 
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...Pedro Moreira da Silva
 
Mobile Security: 2016 Wrap-Up and 2017 Predictions
Mobile Security: 2016 Wrap-Up and 2017 PredictionsMobile Security: 2016 Wrap-Up and 2017 Predictions
Mobile Security: 2016 Wrap-Up and 2017 PredictionsSkycure
 
Building application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
Building application in a "Microfrontends" way - Matthias Lauf *XConf ManchesterBuilding application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
Building application in a "Microfrontends" way - Matthias Lauf *XConf ManchesterThoughtworks
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCésar Hernández
 
Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...
Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...
Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...AugmentedWorldExpo
 
How to Build a Social Network from the Ground Up
How to Build a Social Network from the Ground UpHow to Build a Social Network from the Ground Up
How to Build a Social Network from the Ground UpMichael Gold
 
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...Thoughtworks
 
Building Modular monliths that could scale to microservices (only if they nee...
Building Modular monliths that could scale to microservices (only if they nee...Building Modular monliths that could scale to microservices (only if they nee...
Building Modular monliths that could scale to microservices (only if they nee...David Gómez García
 

Similar to Dependencies, distributed code and engineering velocity (12)

Smoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two TeamsSmoothing the Continuous Delivery Path - A Tale of Two Teams
Smoothing the Continuous Delivery Path - A Tale of Two Teams
 
Joe Millward & Michael Gjere (3M): Bringing the New Reality to the Enterprise
Joe Millward & Michael Gjere (3M): Bringing the New Reality to the EnterpriseJoe Millward & Michael Gjere (3M): Bringing the New Reality to the Enterprise
Joe Millward & Michael Gjere (3M): Bringing the New Reality to the Enterprise
 
CHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and ExamplesCHAOSS Metrics Overview and Examples
CHAOSS Metrics Overview and Examples
 
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
GitLab: Remote and Open (2018-07-16 @ The New Digital School's Business Of Te...
 
2013-04-02-the_fog_of_spa
2013-04-02-the_fog_of_spa2013-04-02-the_fog_of_spa
2013-04-02-the_fog_of_spa
 
Mobile Security: 2016 Wrap-Up and 2017 Predictions
Mobile Security: 2016 Wrap-Up and 2017 PredictionsMobile Security: 2016 Wrap-Up and 2017 Predictions
Mobile Security: 2016 Wrap-Up and 2017 Predictions
 
Building application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
Building application in a "Microfrontends" way - Matthias Lauf *XConf ManchesterBuilding application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
Building application in a "Microfrontends" way - Matthias Lauf *XConf Manchester
 
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
 
Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...
Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...
Ulrike Dreyer (innovation.rocks): That’s How Sales Works Tomorrow At Volkswag...
 
How to Build a Social Network from the Ground Up
How to Build a Social Network from the Ground UpHow to Build a Social Network from the Ground Up
How to Build a Social Network from the Ground Up
 
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
Building application in a "Microfrontends" way - Prasanna N Venkatesen *XConf...
 
Building Modular monliths that could scale to microservices (only if they nee...
Building Modular monliths that could scale to microservices (only if they nee...Building Modular monliths that could scale to microservices (only if they nee...
Building Modular monliths that could scale to microservices (only if they nee...
 

More from Mike McGarr

Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformationMike McGarr
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondMike McGarr
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Mike McGarr
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationMike McGarr
 
Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSMike McGarr
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryMike McGarr
 
Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOpsMike McGarr
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Mike McGarr
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Mike McGarr
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Mike McGarr
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Mike McGarr
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Mike McGarr
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Mike McGarr
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniquesMike McGarr
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous DeliveryMike McGarr
 

More from Mike McGarr (16)

Engineering change: leading a transformation
Engineering change: leading a transformationEngineering change: leading a transformation
Engineering change: leading a transformation
 
Continuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyondContinuous Delivery at Netflix, and beyond
Continuous Delivery at Netflix, and beyond
 
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
 
Shepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformationShepherding change: leading your DevOps transformation
Shepherding change: leading your DevOps transformation
 
Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSS
 
Engineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous DeliveryEngineering Tools at Netflix: Enabling Continuous Delivery
Engineering Tools at Netflix: Enabling Continuous Delivery
 
Implementing DevOps
Implementing DevOpsImplementing DevOps
Implementing DevOps
 
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)Introduction to Continuous Delivery (BBWorld/DevCon 2013)
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
 
Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)Infrastructure as Code (BBWorld/DevCon13)
Infrastructure as Code (BBWorld/DevCon13)
 
Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)Continuous delivery applied (RJUG)
Continuous delivery applied (RJUG)
 
Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)Continuous Delivery Applied (Agile Richmond)
Continuous Delivery Applied (Agile Richmond)
 
Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)Continuous Delivery Applied (AgileDC)
Continuous Delivery Applied (AgileDC)
 
Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)Continuous delivery applied (DC CI User Group)
Continuous delivery applied (DC CI User Group)
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Continuous delivery - tools and techniques
Continuous delivery - tools and techniquesContinuous delivery - tools and techniques
Continuous delivery - tools and techniques
 
Continuous Delivery
Continuous DeliveryContinuous Delivery
Continuous Delivery
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"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
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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
 
"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...
 

Dependencies, distributed code and engineering velocity