Venkat Subramaniam
ÜberConf
Denver · July 12 - 15, 2011

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
Fundamentals of iOS Apps Development (day long)
Come to this workshop for an in depth understanding of the fundamentals of developing applications on the iOS platform for iPhone and iPad devices.
Programming Concurrency (Full Day)
Starting threads is easy, benefiting from them without being burnt is hard. The multithreading API in Java has evolved quite a bit since the early stages. There are three options for concurrency in pure Java today: the modern JDK API, the Software Transaction Memory, and the actor based concurrency. In this workshop, using practical examples—all in pure Java, you will dive deep into all three of these options, learn how to use these, learn their pros and cons, and clearly understand which option to pick when.
Programming Concurrency (Full Day)
Starting threads is easy, benefiting from them without being burnt is hard. The multithreading API in Java has evolved quite a bit since the early stages. There are three options for concurrency in pure Java today: the modern JDK API, the Software Transaction Memory, and the actor based concurrency. In this workshop, using practical examples—all in pure Java, you will dive deep into all three of these options, learn how to use these, learn their pros and cons, and clearly understand which option to pick when.
Programming Concurrency (Full Day)
Starting threads is easy, benefiting from them without being burnt is hard. The multithreading API in Java has evolved quite a bit since the early stages. There are three options for concurrency in pure Java today: the modern JDK API, the Software Transaction Memory, and the actor based concurrency. In this workshop, using practical examples—all in pure Java, you will dive deep into all three of these options, learn how to use these, learn their pros and cons, and clearly understand which option to pick when.
Programming Concurrency (Full Day)
Starting threads is easy, benefiting from them without being burnt is hard. The multithreading API in Java has evolved quite a bit since the early stages. There are three options for concurrency in pure Java today: the modern JDK API, the Software Transaction Memory, and the actor based concurrency. In this workshop, using practical examples—all in pure Java, you will dive deep into all three of these options, learn how to use these, learn their pros and cons, and clearly understand which option to pick when.
Hands-on Scala 1/2 Day Workshop
In this workshop we will take some common everyday tasks and learn how to program it using Scala.
Hands-on Scala 1/2 Day Workshop
In this workshop we will take some common everyday tasks and learn how to program it using Scala.
Design Patterns in modern JVM Languages
The GOF design patterns were quite centered around OOP languages. Now that we have dynamic and functional languages on the JVM, there are quite a few other patterns that come in handy with these capabilities.
Programming with Monads
Monads are quite unheard of in imperative style of programming. Monads, however, play an interesting roll in a purely functional programming language.
Come to this session if you're heard of monads and wondered what in the world they were.
Towards a Humane Interface—Aesthetics and Usability
A successful application has to focus on three dimensions—value (business),
design (engineering) and usability. Usability is not only about the wow
factor. It is about making the application easier and intuitive to use.
In this presentation we will learn the fundamentals of creating a usable
application. We will look at some basic dos and don't. These will help you
move forward from being a programmer to a good application developer.