Tech talk topics

9
TECH TALK TOPICS Ganesh Samarthyam Co-Founder CodeOps Technologies, Bangalore www.codeops.tech [email protected]

Transcript of Tech talk topics

Page 1: Tech talk topics

TECH TALK TOPICS

Ganesh Samarthyam Co-Founder

CodeOps Technologies, Bangalore www.codeops.tech

[email protected]

Page 2: Tech talk topics

GANESH SAMARTHYAM’S TECH TALKS

➤ This presentation provides list of topics for my tech talks

➤ Have given invited talks (tech talks or expert talks) in numerous companies including: Aconex, Avaya, BloomReach, Cerner, Continental, Euromonitor, Fidelity Investments, GIEEE, Mahindra Comviva, 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

Page 3: Tech talk topics

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

Page 4: Tech talk topics

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

Page 5: Tech talk topics

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

Page 6: Tech talk topics

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)?

Page 7: Tech talk topics

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

Page 8: Tech talk topics

SPEAKER PROFILE

➤ Ganesh Samarthyam has 15 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.