SlideShare a Scribd company logo
1 of 49
Download to read offline
1CONFIDENTIAL
Where refactoring meets
Big $$$
First steps
2CONFIDENTIAL
JUGMEISTER
3CONFIDENTIAL
RULES ;)
REFACTORING
4CONFIDENTIAL
By	The	U.S.	Army
5CONFIDENTIAL
Contact information
@michalgruca
michal.gruca@gmail.com
www.rits.pl
6CONFIDENTIAL
WHO REFACTORS CODE
QUESTION
7CONFIDENTIAL
ON A DAILY BASIS J
8CONFIDENTIAL
WHO PLANS REFACTORINGS?
QUESTION
9CONFIDENTIAL
ACADEMIA TIME
REFACTORING
10CONFIDENTIAL
What is refactoring
11CONFIDENTIAL
==
Meanwhile in perfect world
12CONFIDENTIAL
•  It’s	hard	to	maintain	
•  Changes	in	domain	are	coming	
–  New	requirements	are	impossible	to	implement	
	
•  There	are	no	tests	(sic!)	
•  Development	of	new	features	is	so	slow	
•  System	is	slow	
•  You	just	don’t	want	to	go	to	work	anymore		
–  (nor		your	colleagues)	
Why to refactor
13CONFIDENTIAL
EVERYDAY REFACTORINGS
REFACTORING	TYPES
14CONFIDENTIAL
Everyday refactoring :: Definition
•  Rename	variable	/	method	/	class	names	
•  Extract	class	/	method	/	variable	/	parameter	
•  Move	code	around	
•  Removing	duplicaTon	(DRY)	
•  Removing	dead	code	
•  Cleaning	up	comments	
•  Improving	encapsulaTon	
•  etc	
hUp://www.infoq.com/arTcles/natural-course-refactoring
15CONFIDENTIAL
•  Increases	readability	of	code	
•  Enables	understanding	of	code	
•  Introduces	paUerns	
•  Simplifies/allows	tesTng	
•  Cleans	up	potenTal,	simple,	programming	mistakes	
•  Fully	supported	by	IDE	in	any	language	
•  Is	fast,	does	not	need	to	be	planned	
•  Does	not	require	process,	can	be	done	on	a	go	
•  Is	safe	and	non-intrusive	
–  But	not	always!	
Everyday refactoring :: Pros
By	MazeNL77
16CONFIDENTIAL
•  In	big	ball	of	mud	is	not	always	safe!	
–  Watch	out	for	reflecTon!	
•  Without	tests	and	tools	(IDE)	can	be	very	dangerous	
•  May	be	source	of	funky	bugs	
•  No	process,	not	all	developers	will	adapt	
•  If	backed	with	restricTve	tools,	can	be	counterproducTve	
–  Pre-hooks	anyone?	
Everyday refactoring :: Cons
By	Indi	Samarajiva
17CONFIDENTIAL
BIG BANG
REFACTORING	TYPES
18CONFIDENTIAL
Big Bang :: Definition
By	Xtraterestrial
19CONFIDENTIAL
•  Allows	for	a	fresh	start	
–  New	technology	stack	
–  Clean	architecture	
–  BeUer	domain	model	
•  Can	be	a	serious	contributor	for	finding	a	new	job	;)	
Pros
By	MazeNL77
20CONFIDENTIAL
Cons
By	Indi	Samarajiva
21CONFIDENTIAL
Cons
•  We	don’t	deliver	anything	for	many,	many	sprints	
•  World	moves	forward,	our	applicaTon	does	not	
•  Business	is	unhappy	
•  Success	of	the	new	project	is	not	guaranteed	
By	Indi	Samarajiva
22CONFIDENTIAL
Cons
By	Indi	Samarajiva
23CONFIDENTIAL
Big Bang :: When to do it
By	Wayne	Ray
24CONFIDENTIAL
SPROUTING
REFACTORING	TYPES
25CONFIDENTIAL
•  Proposed	by	Michael	Feathers	in		
	“Working	EffecTvely	with	Legacy	Code”	
–  To	refactor	methods	
–  And	classes	
•  Can	be	used	with	whole	packages,	modules,	
components,	applicaTons	
Sprouting :: Definition
26CONFIDENTIAL
•  Introducing	new	code	in	testable	manner	
•  Separate	abstracTons	
•  Prevents	rooTng	of	new	funcTonaliTes	
•  Enables	change	of	architecture	
•  Allows	to	update	technology	stack	
•  Allows	to	build	independent	modules	and	applicaTons	
Pros
By	MazeNL77
27CONFIDENTIAL
•  Requires	much	more	work,	people	and	resources	than	
standard	feature	release	
•  May	add	serious	latency	to	funcTons	and	slow	down	the	
whole	system	
•  Adds	more	abstracTon	layers	to	the	project	
	
Cons
By	Indi	Samarajiva
28CONFIDENTIAL
GET PERMISSION
REFACTORING
29CONFIDENTIAL
Decide what to measure
•  How	many	commits	/	sprint	
•  How	many	commits	/	file	(how	ofen	it	changes)	
–  By	different	users/	In	one	sprint	
•  CyclomaTc	complexity	
•  Code	coverage	
•  LOC	per	sprint	
•  Findbugs	issues	
•  Requests	/	second	
•  Resource	(Memory/CPU)	usage	
•  Lead	Tme	(how	long	its	on	board)	
	
By	MarTnvl
30CONFIDENTIAL
Measure!
•  Velocity	
•  Build	Tme	
•  Number	of	failing	builds	
•  Number	of	merges	
–  +Tme	of	each	merge	
•  ROI	/	sprint	
•  Code	quality	
•  Freeze	Tme	
•  Response	Tme	
•  Maximum	load
31CONFIDENTIAL
HOW TO MEASURE
REFACTORING
32CONFIDENTIAL
33CONFIDENTIAL
34CONFIDENTIAL
QA and Support
35CONFIDENTIAL
36CONFIDENTIAL
Show & discuss
•  Business	like	numbers	
–  Even	if	they	don’t	understand	them	
•  Setup	goals	/	milestones	
•  Try	to	use	work	Tme	
•  Setup	day	/	sprint		of	excellence	
•  Organize	hackathon	/	code	retreat	
•  Share	knowledge	and	train	colleagues	
•  Set	standards	
–  And	enforce	them	with	pre-commit	hooks	;)
37CONFIDENTIAL
38CONFIDENTIAL
Read list :: Build a book club
39CONFIDENTIAL
EXAMPLES
40CONFIDENTIAL
•  Quarter	of	development	followed	by	phase	2	with	up	to	6	months	of	work	for	team	
–  And	short	break	between	them	
•  Funky	structure	of	domain	model	
–  TreeMap<Integer,	Map<TabelType,	Map<RecordType,	List<TableId>>>>	
•  Only	creator	understood	the	design	
Everyday refactoring :: Example -> Planned refactorings
41CONFIDENTIAL
•  ~5	year	old	system	
•  Build	on	top	of	5+	year	old	code	base	
•  Sudden	plan	to	change	business	model	without	consulTng	with	developers	
–  Business	seen	that	as	a	simple	change	(we	have	everything)	
–  Development	seen	a	lot	of	dependencies	
–  Unable	to	do	as	a	simple	change	request	
Big Bang :: Real world example -> Domain change
42CONFIDENTIAL
Sprouting :: Real world example
43CONFIDENTIAL
Sprouting :: Real world example
By	Crochetbug
44CONFIDENTIAL
Sprouting :: Real world example
45CONFIDENTIAL
QA Support
Case:	
Releases	are	done	each	week,	a	lot	of	DB	changes	are	tangled	in,	QA	has	to	support	each	release.	
	
Developers	get	ofen	issues	with	not	building	app,	due	to	DB	schema	differences.	They	ask	QA	for	support	to	get	new	
schema	afer	each	release.	A	lot	of	people	Tme	is	being	wasted.
46CONFIDENTIAL
Case:	
Product	did	not	have	versioning	in	first	place.	It	was	build	
by	ant	only	with	some	hacks	to	introduce	new	build	tool:	
Maven.	Whole	thing	was	in	one	version,	always.	
One	of	hacks	involved	adding	qualifier	to	allow	tesTng	on	
different	environments.	
versioning
47CONFIDENTIAL
•  Don’t	allow	that	to	happen	
•  Refactoring	is	everyone	business	
•  Small	group	of	experts	
•  Not	everyone	care	about	code	quality	
•  You	may	end	up	with	huge	rotaTon	
•  Ideas	are	not	evenly	distributed	between	teams	
Antipattern – refactoring team
48CONFIDENTIAL
49CONFIDENTIAL
I love your feedback! J
@michalgruca
michal.gruca@gmail.com
www.rits.pl

More Related Content

Recently uploaded

Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Jaydeep Chhasatia
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024Mind IT Systems
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesShyamsundar Das
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIIvo Andreev
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLAlluxio, Inc.
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilVICTOR MAESTRE RAMIREZ
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyRaymond Okyere-Forson
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 

Recently uploaded (20)

Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
Optimizing Business Potential: A Guide to Outsourcing Engineering Services in...
 
Top Software Development Trends in 2024
Top Software Development Trends in  2024Top Software Development Trends in  2024
Top Software Development Trends in 2024
 
Watermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security ChallengesWatermarking in Source Code: Applications and Security Challenges
Watermarking in Source Code: Applications and Security Challenges
 
JS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AIJS-Experts - Cybersecurity for Generative AI
JS-Experts - Cybersecurity for Generative AI
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/MLBig Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
Big Data Bellevue Meetup | Enhancing Python Data Loading in the Cloud for AI/ML
 
Generative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-CouncilGenerative AI for Cybersecurity - EC-Council
Generative AI for Cybersecurity - EC-Council
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
AI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human BeautyAI Embracing Every Shade of Human Beauty
AI Embracing Every Shade of Human Beauty
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 

Featured

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

JDD2015: Refactoring meets big money - Michał Gruca