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.

node.js - why you should *really* care

Javascript on the server. OK, cool. 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.

If you're creating the next generation of interactive web and mobile applications which need to connect back to your server on a regular basis, node.js is a technology you can't afford to ignore.

Intro to the next generation of Javascript Frameworks

As our web applications become more interactive, frameworks like jQuery or dojo are "necessary but not sufficient".

In this session we'll do a whirlwind tour of the next generation of javascript frameworks - from backbone, sammy, and batman to Sencha touch and SproutCore. We'll look at the strengths and weaknesses of each and how you would choose between them for various desktop and mobile web applications.

Awesome Acceptance Testing with Cucumber

Awesome acceptance testing with Cucumber can make your projects run more smoothly, your website have less bugs and your development process run more efficiently.

What we will cover is how to use Cucumber to get a clear executable definition of done for each of your stories to ensure that done is really done. We'll look at how to write cucumber tests that are meaningful and not brittle and how to get "just enough" coverage at the acceptance test level by creating a "testing pyramid". Whether you've heard about cucumber but don't know how or why you'd add it to your projects or you've had problems using cucumber in the past, we'll look how highly functioning project teams are using Cucumber to deliver software more quickly, effectively and enjoyably.