← ALL SPEAKERS
Venkat Subramaniam
SPEAKER 13 SESSIONS 7 BOOKS

VenkatSubramaniam

FOUNDER @ AGILE DEVELOPER, INC.
01 / BIOGRAPHY

Dr. Venkat Subramaniam is an award-winning author, founder of Agile Developer, Inc., creator of agilelearner.com, 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 sustainable agile practices on their software projects.

Venkat is a (co)author of multiple technical books, including the 2007 Jolt Productivity award winning book Practices of an Agile Developer. You can find a list of his books at agiledeveloper.com. You can reach him by email at venkats@agiledeveloper.com or on twitter at @venkat_s.

02 / PRESENTATIONS AT ARCHCONF'23
Tue Dec 12 · 1:00 PM
Creating Architectural Fitness Functions using ArchUnit

In this workshop, take a practical approach to creating fitness functions that assess the architectural soundness of your systems.

Tue Dec 12 · 3:00 PM
Creating Architectural Fitness Functions using ArchUnit

In this workshop, take a practical approach to creating fitness functions that assess the architectural soundness of your systems.

Wed Dec 13 · 3:15 PM
Creating Evolutionary Architecture

Big up front design is discouraged in agile development. However, we know that architecture plays a significant part in software systems. Evolving architecture during the development of an application seems to be a risky business.

Thu Dec 14 · 11:00 AM
Creating and maintaining Architectural Fitness Functions

We have measures for health of a person, a process plant, an aircraft, etc. How do we measure the health of your applications, from the architecture point of view. Fitness functions are intended to provide a health status and can be useful to keep an eye on the system as the architecture evolves.

Thu Dec 14 · 9:00 AM
Design Patterns Revisited in Modern Java

Design Patterns are common ways to solve problems that developers have discovered over time. They often fill the gaps between the language capabilities and the design goals. When languages mature, sometimes patterns become natural features of languages and blend in to the natural way of writing code instead of a special effort. Java has evolved significantly over the years.

Tue Dec 12 · 5:00 PM
Design Trade offs in Modern Architectures

Over the years we have learned and applied several software design principles. Many of these principles have been very useful and have served as guiding principles and, at times, as guard rails to develop better software. However, the principles do not work in isolation. They interplay with each other and sometimes even against each other.

Wed Dec 13 · 5:00 PM
Designing Applications with the Functional Paradigm

Functional programming has been around for a long time, but in recent years almost all mainstream languages have eagerly embraced it. Developers are no longer thinking it it is a good idea, but are building systems with the constructs of functional programming. In reality, we are building systems with hybrid models, imperative, object-oriented, and functional paradigms.

Tue Dec 12 · 8:30 AM
Designing Microservices

How does designing microservices differ from designing more traditional applications? What is a better way to learn than to take a problem, analyzing the requirements, exploring the design options, applying the concepts of bounded context, and arrive at the architecture and design of Microservices to realize the requirements?

Wed Dec 13 · 1:30 PM
Designing for Resilience and Scale

Why talk about resilience when thinking of scale? It turns out all the effort we put in to achieve great performance may be lost if we are not careful with failures. Failure is not only about unavailability of parts of an application to some users, it may result in overall poor performance for everyone else as well.

Tue Dec 12 · 10:30 AM
Multithreading vs. Asynchronous Programming: The Architectural Shift

Most mainstream languages started out with support for multithreading. Threads were considered lightweight but that term is relative. Threads were not ideal from the point of view of resource utilization and they often lead to higher cost of deployment. There has been a greater emphasis on asynchronous programming in recent times, due to the nature of applications and the architectural patterns they tend to favor.

Wed Dec 13 · 11:00 AM
Evaluating Architectural Patterns

There are many architectural patterns, from monoliths to distributed architectures. It can be daunting to choose between them.

Wed Dec 13 · 9:00 AM
Evaluating Architectural Patterns

There are many architectural patterns, from monoliths to distributed architectures. It can be daunting to choose between them.

Mon Dec 11 · 9:00 AM
Measuring Quality of Design

Creating good design take effort and is an incremental process. Red-green-refactor is the mantra of TDD. As we continue to evolve the design, how do we know if the design needs some tweaking, or a lot, or is in a pretty good shape... from the extensibility and maintainability point of view. This is where measuring the quality of design comes in.

All signal.
Zero fluff.
DECEMBER 11 - 14, 2023 · OPAL SANDS RESORT · CLEARWATER, FL