Peter Bell

Agile Architect/CTO

Peter is the CTO of PowWow - a lean startup in NYC. He presents internationally and writes extensively on domain specific languages, agile architecture, NoSQL and requirements and estimating. He helps teams to develop great software quickly by improving the requirements gathering, estimating, project management processes, engineering practices and tools used.

He is on the program committee for Code Generation in Cambridge, England and the Domain Specific Modeling workshop at SPLASH (was ooPSLA). He has presented at a range of conferences including DLD Conference, ooPSLA, Code Generation, Practical Product Lines, the British Computer Society Software Practices Advancement conference, UberConf, the Rich Web Experience and the No Fluff Just Stuff tour. He has been published in IEEE Software, Dr. Dobbs, IBM developerWorks, Information Week, Methods & Tools, NFJS the Magazine, Mashed Code, JSMag and GroovyMag. He is also a regular instructor at General Assembly - a campus for technology, design, and entrepreneurship in New York.



Presentations

Software Craftsmanship: Positioning, Patterns and Practices

None of us want to think of ourselves as "cowboy coders", but what does it mean to be a software craftsman, and is it a useful distinction? If so, what are some of the best patterns for honing our craft?

Starting with both sides of the recent debate on software craftsmanship from leaders in the SC movement to David Harvey and Dan North, we'll look at what software craftsmanship is and isn't, and then we'll explore specific patterns and practices that can help us to be better coders - whether or not we want to adopt the craftmanship moniker.

How to Build a Mobile App

Native? Titanium? PhoneGap? How should you build a mobile app? What are the trade offs and the issues you run into? Does write one run anywhere really work, and when it doesn't, what do you have to do next?

In this session we'll look through the various alternatives for building mobile apps, providing a high level overview so you can then pick the sessions using technologies that will be most applicable to your use cases.

Getting started with NoSQL

You've heard about NoSQL data stores, but how and where should you introduce them into your projects?

This practical session will run you through case studies showing how companies have introduced key:value, document, column and graph databases to incrementally solve real world problems with their enterprise projects.

NoSQL data modeling with Mongo and Neo4j

With NoSQL data stores you need to completely rethink how to model your data.

In this session we'll look at the very different approaches to data modeling required for MongoDB and Neo4j.

Getting Started with Neo4j

Learn how to add Neo4j to your projects to add social, recommendation and other graph based capabilities to your applications.

We'll start by introducing the strengths, weaknesses and common use cases for neo4j. We'll then look at how to write effective graph based queries - directly or using Spring Data.

node.js - why you should *really* care

Javascript on the server - so what? Node.js isn't about javascript any more than the web is about http headers.

With node.js you can create asynchronous, non-blocking web servers than can easily handle thousands or even tens of thousands of connections - with a single thread. Learn why node.js will be important to your applications and how to get started with node.

Getting started with node.js

A hands on introduction to the one non-JVM framework you need to know.

If you need to scale large numbers of relatively lightweight requests, node.js is a technology you need to understand. We'll look at the use cases, the strengths and weaknesses, how to get started with node.js and how to test and deploy your node.js applications effectively.

Backbone.js - the future of web applications

Are you in jQuery hell yet? As your web applications mature and become more responsive, DOM manipulation frameworks soon reveal their limitations.

Learn how backbone provides MVC on the client side to manage complex UI requirements. Your web applications will never be the same again!

Professional Javascript development for the Java developer

Like it or not, with application servers like node.js and increasingly rich client MVC frameworks like backbone.js, Javascript is in your future.

In this session we'll look deeply at the fundamental strengths and weaknesses of the language and how to become a javascript professional. We'll include information on using Jasmine for testing your Javascript.

The Lean Startup - for Enterprise Software Developers

Intuit and even the US government want to be "lean startups".

Learn how businesses of any size can improve the effectiveness and efficiency of their software development processes using lean startup principles like Minimum Viable Product, Validated Learning and Metrics Driven Development.

Why Agile Works

Learn why key agile practices work.

We'll look at the underlying theory from fields as diverse as queueing theory and computer networking to show why popular agile approaches work.

Agile Recipes

You don't need to "do scrum" or "implement lean" to be agile.

This pragmatic session shows how specific agile software development techniques can be adopted individually to solve particular problems. If you've wondered how to get started with agile or are not getting the benefits you'd expected from agile, this session will show you a way of thinking to make agile work for your organization - along with plenty of proven patterns for improving the effectiveness of your agile initiatives.

Practical Technology Selection and Adoption

Through a series of case studies we will look at how other companies have successfully selected technologies like NoSQL data stores, distributed version control systems, new JVM languages and agile processes.

We will also examine how they have effectively driven adoption of the technologies and processes at a team level before distributing them across the enterprise.


Peter's NFJS Schedule

Madison, WI
Feb 24 - 25, 2012

St. Louis, MO
Apr 20 - 21, 2012

New York, NY
May 4 - 5, 2012