SlideShare a Scribd company logo
1 of 9
Download to read offline
TECH TALK
TOPICS
Ganesh Samarthyam
Co-Founder
CodeOps Technologies, Bangalore
www.codeops.tech
ganesh@codeops.tech
GANESH SAMARTHYAM’S TECH TALKS
➤ This presentation provides list of topics for my tech talks
➤ Have given invited talks (tech talks) in numerous
companies including: Aconex, Avaya, BloomReach,
Euromonitor, Fidelity Investments, Microsemi, Oracle,
Prowareness, Rockwell Collins, TechJini, Torry Harris, …
➤ These talks are for knowledge sharing - so there is no cost
associated with it
➤ I usually share the presentation & supporting material to the
participants after the tech talk
A QUICK OVERVIEW OF SOFTWARE ARCHITECTURE
➤ Are you a developer or designer aspiring to become an architect? Are you looking for getting
promoted to an architect or jump-starting your career as a software architect? Have you
always wondered what it takes for a developer to become an architect? If you have answered
"yes" to any of these questions, this tutorial is certainly for you. Like the "Shangai Maglev”
bullet train that crosses 7+ kilometres in a minute, this tutorial will take you on a blazing fast
trip from the developer city to the architecture city in just 90 minutes. So buckle up your
seats: you’re going get exposed to architectural principles, constraints, non-functional
requirements (NFRs), architectural styles and design patterns, viewpoints and perspectives,
and architecture tools (oh, yes all of this in just a few hours!).
➤ Duration: 90 minutes (1.5 hours)
➤ Contents overview:
➤ Introduction to SA
➤ Design principles, patterns and architectural styles
➤ Creating an architecture
➤ Evolving architectures
➤ Living as an architect
REFACTORING FOR SOFTWARE ARCHITECTURE SMELLS
➤ Smells are certain structures in the design that indicate violation of fundamental design principles
and negatively impact design quality. Depending on the granularity, smells could be at the level of
implementation, design, or architecture. In the last two decades, refactoring for code and design
smells have received considerable focus from both academia and industry. This talk covers large
scale refactoring for architectural smells which is gaining considerable attention from the software
engineering community in the last few years. The main focus is on real-world case-studies and
experiences in performing large scale refactoring for architectural smells from both industrial and
open source projects. This talk will provide useful pointers to the participants on how to deal with
refactoring for architectural smells in real-world contexts; further, it will also suggest research
questions for the software engineering community to explore.
➤ Duration: 60 minutes (1 hour)
➤ Contents overview:
➤ Why care about architecture refactoring?
➤ What is architectural refactoring?
➤ Case studies in architectural refactoring
➤ Challenges in architecture refactoring
➤ Key take-aways
REFACTORING FOR SOFTWARE DESIGN SMELLS
➤ Awareness of design smells - indicators of common design problems - helps
developers or software engineers understand mistakes made while designing and
apply design principles for creating high-quality designs. This talk provides insights
gained from performing refactoring in real-world projects to improve refactoring and
reduce the time and costs of managing software projects. The talk also presents
insightful anecdotes and case studies drawn from the trenches of real-world projects.
By attending this talk, you will know pragmatic techniques for refactoring design
smells to manage technical debt and to create and maintain high-quality software in
practice.
➤ Duration: 60 minutes (1 hour)
➤ Contents overview:
➤ Why care about design principles, design quality, or design smells?
➤ Refactoring as the primary means for repaying technical debt
➤ Smells that violate abstraction, encapsulation, modularisation, or hierarchy
➤ Tools and techniques for refactoring
APPLYING ‘SOLID PRINCIPLES’ & ‘DESIGN PATTERNS’ IN PRACTICE
➤ How to develop high quality software? What are the key/fundamental principles for
software design? What is the relationship between principles and design patterns?
Based on 3 years of research on applying software design principles, this talk shares
key insights on developing high-quality software in industrial contexts. By
attending this session, you’ll get a clear understanding of the key role that design
principles and patterns play in developing software in practice. So, don’t miss it!
➤ Duration: 60 minutes (1 hour)
➤ Contents overview:
➤ Why care about SOLID principles or design patterns?
➤ Design principles as application of design principles!
➤ What exactly is the relationship between principles, smells, refactoring, and
patterns?
➤ What are the effective ways to apply the fundamental principles and patterns in
practice (in day-to-day work)?
LEGACY TO MODERN JAVA: REFACTORING TO JAVA 8
➤ The Java 8 release has some of the most important feature additions to the Java language and
the library. Key features added in Java 8 include lambda functions, stream API and date and
time API. The main benefit of Java 8 features is productive programming: getting work done
more efficiently and effectively. This session introduces all the important concepts and
features important for leveraging Java 8 features for regular work and improve productivity.
Special feature: Live demo of refactoring open source legacy code base to show how lambdas
and streams can result in shorter and effective code.
➤ Duration: 1 hour (including Q & A)
➤ Target audience: Developers (especially Java developers) interested in functional
programming
➤ Contents overview:
➤ Introduction to lambdas and streams API
➤ Refactoring to lambda functions and functional interfaces
➤ Into the rapids: Refactoring loops to streams API
➤ Live demo: Refactoring legacy code to modern Java 8 code
➤ Wrap-up and Q & A
SPEAKER PROFILE
➤ Ganesh Samarthyam has 14+ years of working experience in IT industry.
➤ He is a co-founder of CodeOps Technologies, a start-up based in Bangalore.
Earlier, he worked for Siemens (Corporate Research and Technologies, Bangalore)
in "Software Architecture and Development" team for the last 6+ years. Before
Siemens, he worked in Hewlett-Packard’s C++ compiler team, Bangalore for 4.5
years. He also served as member of ANSI/ISO C++ standardization committee
(JTC1/SC22/WG21) from 2005 to 2007 representing HP.
➤ He has authored/co-authored many articles, research papers, and books. His
recent book is “Refactoring for Software Design Smells: Managing Technical
Debt” (Morgan Kaufmann/Elsevier; November 2014); with translation to Korean.
➤ He has Software Engineering Certified Instructor (SECI) and Professional
Software Engineering Master (PSEM) certifications from IEEE.
➤ For more information, visit his websites: www.codeops.tech,
www.designsmells.com or his LinkedIn page: http://bit.ly/sgganesh.
ganesh@codeops.tech @GSamarthyam
www.codeops.tech slideshare.net/sgganesh
+91 98801 64463 bit.ly/sgganesh

More Related Content

Viewers also liked

Code Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationCode Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationLemi Orhan Ergin
 
Tarea 6 la ira maria ortiz
Tarea 6 la ira maria ortizTarea 6 la ira maria ortiz
Tarea 6 la ira maria ortizMaria Ortiz
 
Night vision technology ppt
Night vision technology pptNight vision technology ppt
Night vision technology pptEkta Singh
 
Docker introduction
Docker introductionDocker introduction
Docker introductiondotCloud
 
1 jesus hacia el bienn (1)
1 jesus hacia el bienn (1)1 jesus hacia el bienn (1)
1 jesus hacia el bienn (1)viviana alvarez
 

Viewers also liked (9)

Code Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationCode Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
 
Tarea 6 la ira maria ortiz
Tarea 6 la ira maria ortizTarea 6 la ira maria ortiz
Tarea 6 la ira maria ortiz
 
Welding safety hazard
Welding safety hazardWelding safety hazard
Welding safety hazard
 
Memristor ppt
Memristor pptMemristor ppt
Memristor ppt
 
Night vision technology ppt
Night vision technology pptNight vision technology ppt
Night vision technology ppt
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Paper battery
Paper batteryPaper battery
Paper battery
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
1 jesus hacia el bienn (1)
1 jesus hacia el bienn (1)1 jesus hacia el bienn (1)
1 jesus hacia el bienn (1)
 

More from Ganesh Samarthyam

Applying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeApplying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeGanesh Samarthyam
 
CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”Ganesh Samarthyam
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGanesh Samarthyam
 
College Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionCollege Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionGanesh Samarthyam
 
Coding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeCoding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeGanesh Samarthyam
 
Design Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesDesign Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesGanesh Samarthyam
 
Bangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationBangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationGanesh Samarthyam
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterGanesh Samarthyam
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Ganesh Samarthyam
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ Ganesh Samarthyam
 
Bangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckBangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckGanesh Samarthyam
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageGanesh Samarthyam
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Ganesh Samarthyam
 
Java Generics - Quiz Questions
Java Generics - Quiz QuestionsJava Generics - Quiz Questions
Java Generics - Quiz QuestionsGanesh Samarthyam
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz QuestionsGanesh Samarthyam
 
Core Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizCore Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizGanesh Samarthyam
 

More from Ganesh Samarthyam (20)

Wonders of the Sea
Wonders of the SeaWonders of the Sea
Wonders of the Sea
 
Animals - for kids
Animals - for kids Animals - for kids
Animals - for kids
 
Applying Refactoring Tools in Practice
Applying Refactoring Tools in PracticeApplying Refactoring Tools in Practice
Applying Refactoring Tools in Practice
 
CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”CFP - 1st Workshop on “AI Meets Blockchain”
CFP - 1st Workshop on “AI Meets Blockchain”
 
Great Coding Skills Aren't Enough
Great Coding Skills Aren't EnoughGreat Coding Skills Aren't Enough
Great Coding Skills Aren't Enough
 
College Project - Java Disassembler - Description
College Project - Java Disassembler - DescriptionCollege Project - Java Disassembler - Description
College Project - Java Disassembler - Description
 
Coding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean CodeCoding Guidelines - Crafting Clean Code
Coding Guidelines - Crafting Clean Code
 
Design Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on ExamplesDesign Patterns - Compiler Case Study - Hands-on Examples
Design Patterns - Compiler Case Study - Hands-on Examples
 
Bangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief PresentationBangalore Container Conference 2017 - Brief Presentation
Bangalore Container Conference 2017 - Brief Presentation
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - Poster
 
Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)Software Design in Practice (with Java examples)
Software Design in Practice (with Java examples)
 
OO Design and Design Patterns in C++
OO Design and Design Patterns in C++ OO Design and Design Patterns in C++
OO Design and Design Patterns in C++
 
Bangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship DeckBangalore Container Conference 2017 - Sponsorship Deck
Bangalore Container Conference 2017 - Sponsorship Deck
 
Let's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming LanguageLet's Go: Introduction to Google's Go Programming Language
Let's Go: Introduction to Google's Go Programming Language
 
Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction Google's Go Programming Language - Introduction
Google's Go Programming Language - Introduction
 
Java Generics - Quiz Questions
Java Generics - Quiz QuestionsJava Generics - Quiz Questions
Java Generics - Quiz Questions
 
Java Generics - by Example
Java Generics - by ExampleJava Generics - by Example
Java Generics - by Example
 
Software Architecture - Quiz Questions
Software Architecture - Quiz QuestionsSoftware Architecture - Quiz Questions
Software Architecture - Quiz Questions
 
Docker by Example - Quiz
Docker by Example - QuizDocker by Example - Quiz
Docker by Example - Quiz
 
Core Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quizCore Java: Best practices and bytecodes quiz
Core Java: Best practices and bytecodes quiz
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 

Ganesh Samarthyam - Tech Talk Topics

  • 1. TECH TALK TOPICS Ganesh Samarthyam Co-Founder CodeOps Technologies, Bangalore www.codeops.tech ganesh@codeops.tech
  • 2. GANESH SAMARTHYAM’S TECH TALKS ➤ This presentation provides list of topics for my tech talks ➤ Have given invited talks (tech talks) in numerous companies including: Aconex, Avaya, BloomReach, Euromonitor, Fidelity Investments, Microsemi, Oracle, Prowareness, Rockwell Collins, TechJini, Torry Harris, … ➤ These talks are for knowledge sharing - so there is no cost associated with it ➤ I usually share the presentation & supporting material to the participants after the tech talk
  • 3. A QUICK OVERVIEW OF SOFTWARE ARCHITECTURE ➤ Are you a developer or designer aspiring to become an architect? Are you looking for getting promoted to an architect or jump-starting your career as a software architect? Have you always wondered what it takes for a developer to become an architect? If you have answered "yes" to any of these questions, this tutorial is certainly for you. Like the "Shangai Maglev” bullet train that crosses 7+ kilometres in a minute, this tutorial will take you on a blazing fast trip from the developer city to the architecture city in just 90 minutes. So buckle up your seats: you’re going get exposed to architectural principles, constraints, non-functional requirements (NFRs), architectural styles and design patterns, viewpoints and perspectives, and architecture tools (oh, yes all of this in just a few hours!). ➤ Duration: 90 minutes (1.5 hours) ➤ Contents overview: ➤ Introduction to SA ➤ Design principles, patterns and architectural styles ➤ Creating an architecture ➤ Evolving architectures ➤ Living as an architect
  • 4. REFACTORING FOR SOFTWARE ARCHITECTURE SMELLS ➤ Smells are certain structures in the design that indicate violation of fundamental design principles and negatively impact design quality. Depending on the granularity, smells could be at the level of implementation, design, or architecture. In the last two decades, refactoring for code and design smells have received considerable focus from both academia and industry. This talk covers large scale refactoring for architectural smells which is gaining considerable attention from the software engineering community in the last few years. The main focus is on real-world case-studies and experiences in performing large scale refactoring for architectural smells from both industrial and open source projects. This talk will provide useful pointers to the participants on how to deal with refactoring for architectural smells in real-world contexts; further, it will also suggest research questions for the software engineering community to explore. ➤ Duration: 60 minutes (1 hour) ➤ Contents overview: ➤ Why care about architecture refactoring? ➤ What is architectural refactoring? ➤ Case studies in architectural refactoring ➤ Challenges in architecture refactoring ➤ Key take-aways
  • 5. REFACTORING FOR SOFTWARE DESIGN SMELLS ➤ Awareness of design smells - indicators of common design problems - helps developers or software engineers understand mistakes made while designing and apply design principles for creating high-quality designs. This talk provides insights gained from performing refactoring in real-world projects to improve refactoring and reduce the time and costs of managing software projects. The talk also presents insightful anecdotes and case studies drawn from the trenches of real-world projects. By attending this talk, you will know pragmatic techniques for refactoring design smells to manage technical debt and to create and maintain high-quality software in practice. ➤ Duration: 60 minutes (1 hour) ➤ Contents overview: ➤ Why care about design principles, design quality, or design smells? ➤ Refactoring as the primary means for repaying technical debt ➤ Smells that violate abstraction, encapsulation, modularisation, or hierarchy ➤ Tools and techniques for refactoring
  • 6. APPLYING ‘SOLID PRINCIPLES’ & ‘DESIGN PATTERNS’ IN PRACTICE ➤ How to develop high quality software? What are the key/fundamental principles for software design? What is the relationship between principles and design patterns? Based on 3 years of research on applying software design principles, this talk shares key insights on developing high-quality software in industrial contexts. By attending this session, you’ll get a clear understanding of the key role that design principles and patterns play in developing software in practice. So, don’t miss it! ➤ Duration: 60 minutes (1 hour) ➤ Contents overview: ➤ Why care about SOLID principles or design patterns? ➤ Design principles as application of design principles! ➤ What exactly is the relationship between principles, smells, refactoring, and patterns? ➤ What are the effective ways to apply the fundamental principles and patterns in practice (in day-to-day work)?
  • 7. LEGACY TO MODERN JAVA: REFACTORING TO JAVA 8 ➤ The Java 8 release has some of the most important feature additions to the Java language and the library. Key features added in Java 8 include lambda functions, stream API and date and time API. The main benefit of Java 8 features is productive programming: getting work done more efficiently and effectively. This session introduces all the important concepts and features important for leveraging Java 8 features for regular work and improve productivity. Special feature: Live demo of refactoring open source legacy code base to show how lambdas and streams can result in shorter and effective code. ➤ Duration: 1 hour (including Q & A) ➤ Target audience: Developers (especially Java developers) interested in functional programming ➤ Contents overview: ➤ Introduction to lambdas and streams API ➤ Refactoring to lambda functions and functional interfaces ➤ Into the rapids: Refactoring loops to streams API ➤ Live demo: Refactoring legacy code to modern Java 8 code ➤ Wrap-up and Q & A
  • 8. SPEAKER PROFILE ➤ Ganesh Samarthyam has 14+ years of working experience in IT industry. ➤ He is a co-founder of CodeOps Technologies, a start-up based in Bangalore. Earlier, he worked for Siemens (Corporate Research and Technologies, Bangalore) in "Software Architecture and Development" team for the last 6+ years. Before Siemens, he worked in Hewlett-Packard’s C++ compiler team, Bangalore for 4.5 years. He also served as member of ANSI/ISO C++ standardization committee (JTC1/SC22/WG21) from 2005 to 2007 representing HP. ➤ He has authored/co-authored many articles, research papers, and books. His recent book is “Refactoring for Software Design Smells: Managing Technical Debt” (Morgan Kaufmann/Elsevier; November 2014); with translation to Korean. ➤ He has Software Engineering Certified Instructor (SECI) and Professional Software Engineering Master (PSEM) certifications from IEEE. ➤ For more information, visit his websites: www.codeops.tech, www.designsmells.com or his LinkedIn page: http://bit.ly/sgganesh.