Speakers
- Dan Allen
- Aaron Bedra
- Tim Berglund
- Rohit Bhardwaj
- David Bock
- Stevie Borne
- Jeff Brown
- James Carr
- Scott Davis
- Jeremy Deane
- Keith Donald
- Michael Easter
- Robert Fischer
- Neal Ford
- Brian Gilstrap
- Andrew Glover
- Brian Goetz
- Stuart Halloway
- David Hussman
- Mark Johnson
- Dave Klein
- Scott Leberknight
- Tiffany Lentz
- Howard Lewis Ship
- Chris Maki
- Matthew McCullough
- Alex Miller
- Ted Neward
- Michael Nygard
- Pratik Patel
- Mark Richards
- Brian Sam-Bodden
- Srivaths Sankaran
- Nathaniel Schutta
- Aleksandar Seovic
- Ken Sipe
- Brian Sletten
- Matt Stine
- Venkat Subramaniam
- Burr Sutter
- Vladimir Vivien
- Mark Volkmann
- Craig Walls
- Richard Worth
Bruce Tate
Author of 3 JavaOne best sellers
Presentations
Where Agile meets Argyle: New processes in established companies
Agile programming is a collection of core principles and techniques that allow software developers to create lighter, more responsive applications, and to have fun doing it. Many established organizations are either openly or sub-conciously hostile to many of the principles of Agile development.
We'll explore the intersection of these new practices and old-world sensibilities, relying on real-world case studies to illustrate some of the compromises that are necessary to bridge the gap. In addition to technical and process aspects, we'll also spend some time talking about the business aspects, such as how Agile development affects contracts.
Java/Ruby Integration with JRuby and ReST
You can have rapid web development with Rails without losing access to your critical Java code. With the explosion of the Ruby programming language, more developers will need a strategy for letting Java and Ruby interoperate. This session explores two strategies: JRuby and Rails-based web services.
Both Java and Ruby do certain things well. Ruby tends to build web based user interfaces, complete with AJAX integration, very quickly. Java has thousands of libraries and millions of lines of legacy code. How can you combine the two? We'll explore three approaches.
An ambitious integration framework is also under development. The JRuby project recognizes the value of the best possible integration between Java and Ruby. As of today, 90% of the test cases for the Ruby language are passing for JRuby. How much is possible, and what's missing?
Finally, closures and a fantastic XML API make Ruby a fantastic framework for doing integration work with web services. Often, coarse grained integration is enough.
Come learn how to have your cake and eat it too.
Effective Teams
Most conferences will try to tell you that the secret to good software development lies with a process, or a technology, or an architecture. Here's a dirty little secret. You can build working software with an outdated two tier archtiecture, a waterfall process and COBOL. How? By building a great team. These techniques were used to build one of the most unique and complex up and coming Ruby on Rails sites.
By far, the biggest factor in the success or failure of a software project is the quality of your team. Build a great team first, and great software will follow. In this session, we'll explore ways to build effective teams for modern software development. Whether you're a project manager or a technical lead, you need to know how to build the most effective team possible. In this session, we'll look at all aspects of team building, including
- What team sizes are optimal for software projects?
- What tools can help your team communicate?
- How does development process come into play?
- How do you build better software faster?
Ruby for Java programmers
With the explosion of Ruby on Rails and the Java community interest in features like closures and continuations, the Ruby programming language is an excellent one for all developers to know. As the JRuby virtual machine picks up steam, Ruby becomes a must language to understand. The best way to learn Ruby is to see it in action.
In this session, you'll learn the basics of the Ruby language, from a Java developer's perspective from a CTO who has taught and used both languages for production applications. You'll learn:
- The basics of the Ruby programming language, including the object model, collections, and closures.
- Basic metaprogramming techniques that allow Ruby programs to build domain specific languages
- JRuby characteristics that enable you to access Java classes from a Ruby interpreter
When this session is over, you'll have a stronger understanding of Ruby, and where you might put it into practice in your day to day job.
Building ChangingThePresent: Agility in Action
ChangingThePresent is the increasingly popular charity donations portal that lets you give donation gifts instead of another pair of fuzzy slippers. The site is built and maintained under unusual circumstances. The team is distributed, with no more than two developers in any one place. The team uses agile techniques such as automated testing, heavy customer involvement, and a SCRUM-like release plan to deliver the core features.
ChangingThePresent was built with extraordinary speed, with a very effective development process. In this session, learn how to use agile techniques and common sense to build great software under high-pressure conditions. You'll learn how a typical day, or week, flows in a team with several high-powered developers. Learn about our core practices:
- How do we do tests?
- How do we manage requirements?
- How do we maintain tight communications with our customer?
- How do we manage the tension between junior and senior developers?
When the session is done, you'll have a better understanding of real techniques used to build a real-world site, and how you can apply them to many development jobs.
Rails for Java Programmers
The productivity of Ruby on Rails cannot be denied, but the explosion of Ruby on Rails left many developers, with hard commitments to Java deployment platforms, out in the cold. The continued evolution of JRuby can change that. JRuby is a Ruby implementation on the Java virtual machine. And yes, it runs Rails. In this session, you will learn Rails as it was meant to be learned, within the context of building a live site, from scratch.
We'll take the first hour or so to learn the basics behind Ruby on Rails. You'll see the basics behind each of the model, view, and controller layers. You'll see testing and debugging techniques, as well as the basic mechanics of building a basic web application. Then, learn how you can deploy those applications on Java environments with JRuby. Finally, you'll see some production code used to build a working web site.