Venkat Subramaniam

Venkat Subramaniam


Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., and an instructional professor at the University of Houston.

He has trained and mentored thousands of software developers in the US, Canada, Europe, and Asia, and is a regularly-invited speaker at several international conferences. Venkat helps his clients effectively apply and succeed with agile practices on their software projects.

Venkat is a (co)author of multiple books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. His latest book is Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions. You can reach him by email at venkats at agiledeveloper dot com or on twitter at @venkat_s.

What's "Loom"ing in Java: The Why and What of Project Loom
Multithreading has been in Java from day one. The multithreading API has gone through significant changes over the years. And yet, we have something major that's threading again. What's the reason for yet another implementation, yet another change? How is that different from what we already have. When will we use the new model and when will we stick to the existing APIs. Too many questions but we will not take them all in parallel. Instead we will give the questions serious thoughts and get a deeper understanding of the purpose of Project Loom, what problems it solves, and how and when we can benefit from it.
The New Excitement Around The Good Old Java
A new version of Java is being released every six months. The days of giant releases are gone, Java has truly embraced the spirit of agility. Some wonder, what impact will this frequent release have on Java, its quality, adoption, and future development? What intensives do developers and organizations have to keep pace with Java. Should they stay abreast or catch up once in a few years? All good questions and reasonable concerns. To address those we will take a look at the recent changes, the benefits these offer, what exciting things are around the corner, and why we should stay abreast.
Refactoring Code: An Incremental and Purpose Driven Approach
Continuous refactoring is critical to succeeding in projects and is an important part of sustainable agile development. In this workshop, we will start by discussing how to approach refactoring, the essential steps we need to take, and look into how to incrementally improve the internal design of code to make it extensible, maintainable, and cost-effective to change. In addition to discussing the concepts, we will take several code examples from real projects, discuss the code smells and explore the refactoring techniques. Along the way, we will also dive into refactoring short code samples and measure the quality of code before and after refactoring.
Software Design By Practice
We all are familiar with SOLID and other software design principles and have explored many design patterns. There is no better way to get a deeper understanding than to practice the concepts. Furthermore, some of the principles and patterns minifest themselves in what appear to be rather unconventional ways when applied under a set of constraints and requirements. In this hands-on intensive workshop we will take some problems and device elegant lightweight design, in code, and discuss the tradeoffs. Come experience the evolution of ideas into code and take shape by way of incremental development.