Venkat Subramaniam
Central Iowa Software Symposium
Des Moines · August 4 - 5, 2017
Founder @ Agile Developer, Inc.
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.
Presentations
Functional Programming with Java 8
Java 8 is the most significant change to the language since it's introduction, surpassing changes seen in any of the previous versions. It is not merely syntactical change or addition of a few extra features, it's a paradigm shift. Come to this presentation to learn about the power and capabilities of functional programming using Java 8 and how to benefit from those when building Java applications.
Testing Functional Style Java 8 code using JUnit 5
Functional programming promotes immutability and using higher-order functions. Functional code is in general easier test, but lambdas and lazy evaluations pose some challenges from the tools point of view. That's where JUnit 5 comes in.
The Power and Perils of Parallel Streams
Turning a stream into a parallel stream is extremely easy, but is that the prudent thing to do? While flipping that switch is almost effortless there are some significant ramifications. In this presentation we will learn the power of parallel streams but also why, when, and where it makes sense to use parallel streams. Through a series of example we will learn about cases where it makes sense and some there it does not.
Exploring Java 9 Modularization
If Java 8 was all about how we code, Java 9 is all about how we will build. Modularization will have the biggest impact of any change that happened in Java since its inception. In this presentation we will learn about the need for modularization, how it impacts development, the rules to follow when creating modules, and the effect it has on legacy code.
JShell: The REPL for Java
JShell, introduced in Java 9, is a great experimentation tool, useful for micro-prototyping, and trying out code snippets. In this presentation we will learn the benefits of the tool, when to use it, and how to put that to real good use during development.
Putting a Spark in your Applications
Distributed and parallel computing have been around for a while. The problem is not new, but solutions have generally been complex. Over the years several solutions have come along to ease the pain. Spark is a wonderful programming API and a tool that can ease the pain of creating distributed, high concurrent, performing code.
Twelve Ways to Make Code Suck Less
We all have seen our share of bad code and some really good code as well. What are some of the common anti patterns that seem to be recurring over and over in code that sucks? By learning about these code smells and avoiding them, we can greatly help make our code better.