Neal Ford, Software Architect and Meme Wrangler at ThoughtWorks

Neal Ford

Biography: Neal Ford

Neal is Software Architect and Meme Wrangler at ThoughtWorks, a global IT consultancy with an exclusive focus on end-to-end software development and delivery. Before joining ThoughtWorks, Neal was the Chief Technology Officer at The DSW Group, Ltd., a nationally recognized training and development firm. Neal has a degree in Computer Science from Georgia State University specializing in languages and compilers and a minor in mathematics specializing in statistical analysis. He is also the designer and developer of applications, instructional materials, magazine articles, video presentations, and author of 6 books, including the most recent The Productive Programmer.

His language proficiencies include Java, C#/.NET, Ruby, Groovy, functional languages, Scheme, Object Pascal, C++, and C. His primary consulting focus is the design and construction of large-scale enterprise applications. Neal has taught on-site classes nationally and internationally to all phases of the military and to many Fortune 500 companies. He is also an internationally acclaimed speaker, having spoken at over 100 developer conferences worldwide, delivering more than 600 talks. 

Software Passion: To revolutionize IT, leaving the profession in better shape than I found it.

Web site: He welcomes feedback and can be reached at

Presentation: "Rails in the Large: How Agility Allows Us to Build One of the Largest Rails Projects in the World"

Track: AGILE CASE STUDIES / Time: Tuesday 13:30 - 14:30 / Location: Rytmisk Sal, Musikhuset

While others have been debating whether Rails can scale to enterprise levels, we've been demonstrating it. ThoughtWorks is running one of the largest Rails projects in the world, for an Enterprise. This session discusses tactics, techniques, best practices, and other things we've learned from scaling rails development. I discuss infrastructure, testing, messaging, optimization, performance, and the results of lots of lessons learned, including killer rock-scissors-paper tricks to help you avoid babysitting the view tests!
Keywords: Ruby, Rails, architecture, emergent design, Web 2.0
Target Audience: Anyone interested in applied agility, Ruby and/or Ruby on Rails, open source infrastructure

Workshop: "Domain Specific Languages"

Track: TRAINING: LANGUAGES AND PLATFORMS / Time: Thursday 09:00 - 16:00 / Location: Musikhuset: C103

Domain Specific Languages (DSLs) are an old technique in software development that's getting a recent resurgence in interest. Most developers run into them regularly - as XML configuration files, regular expressions, query languages or build scripts. However they haven't been given the attention they deserve and there is very little information out there to help developers build them effectively. We find that few people have done much to build their own DSLs and even fewer have a broad appreciation of the various techniques involved.
With this tutorial we'll give you a broad introduction to ways in which you can build DSLs yourself, using tools that go back to the ancient egyptians (or at least their software equivalents). We'll explain the two main varieties of DSL today: internal and external, providing patterns to help you build them in order to give you enough understanding about which of the two you might want to use on your future projects. We'll also indoctrinate you on the importance of building an underlying Semantic Model, thus explaining why DSLs are less important than you might think. By the end of the tutorial you should have a good picture of where DSLs fit into the software development ecosystem and a map of first steps you'd take in building them yourself.
Our material is based heavily on Martin Fowler's upcoming book on DSLs, which we hope will actually be physically available by the time we speak.
Keywords: DSL, Domain Specific Language, Java, Groovy, Ruby, Intentional Software, MPS, C#, Languages, Hot topic, Patterns

Target audience: Any developer interested in the current thinking and state of the art in Domain Specific Languages. This tutorial encourages thinking beyond frameworks and API's, starting to think about fluency in computer languages, from both theoretical and practical standpoints.

See training location on a map