193 symposiums and 30,000 attendees since 2001

Matthew Bass

Software Developer & Entrepreneur

Matthew Bass
Matthew Bass is an independent software developer, entrepreneur, speaker, and writer. He has over ten years of experience across a diverse set of technologies and has worked at places like SAS Institute, the world's largest privately held software company. An agilist from the very beginning, he continues evangelizing and experimenting with pair programming, test-first and behavior-driven development, and continuous integration. Matthew has spoken at several regional and national software conferences and regularly writes for publications like InfoQ.

Presentations

Pragmatic Pair Programming

Pair programming. It's nasty. It's evil. The only people who actually do it are those Extreme Programming zealots, and we all know what they're like. Pair programming deserves to be condemned to the trash heap of practices that failed, destined to go down in history as the black sheep of agility. Right? Well, maybe not. Maybe pair programming does have some value after all. Maybe it can be redeemed if done the right way, the pragmatic way.

Pair programming. It's nasty. It's evil. The only people who actually do it are those Extreme Programming zealots, and we all know what they're like. Pair programming deserves to be condemned to the trash heap of practices that failed, destined to go down in history as the black sheep of agility. Right? Well, maybe not. Maybe pair programming does have some value after all. Maybe it can be redeemed if done the right way, the pragmatic way.

Let's re-examine pair programming in a spirit of discovery. Let's learn how to avoid the many pitfalls inherent in it, and carefully refactor it to yield tangible, measurable benefits. Let's make sure we're not doing pair programming for its own sake, but only because it makes us more productive, increases code quality, and boosts team cohesion.

Unobtrusive JavaScript: Stop Cluttering Your HTML

Separation of concerns is important, especially when building web applications. Making JavaScript unobtrusive is a technique whereby the JavaScript is pulled out into a third layer alongside the HTML and CSS. Obtrusive JavaScript damages the readability of your markup and causes problems for browsers. JavaScript should always be unobtrusive. Come learn how to write it that way from the very beginning.

Separation of concerns is important, especially when building web applications. Making JavaScript unobtrusive is a technique whereby the JavaScript is pulled out into a third layer alongside the HTML and CSS. Obtrusive JavaScript damages the readability of your markup and causes problems for browsers. JavaScript should always be unobtrusive. Come learn how to write it that way from the very beginning. We'll also explore Low Pro, a popular extension to the Prototype library that makes writing unobtrusive code even easier, as well as JQuery, an alternative to Prototype that has support for unobtrusive JavaScript built-in.

Understanding Git: A Quick Start Guide

Git is a free source code management tool that's even more powerful than Subversion and CVS. It's lightning fast, supports extremely large projects, handles branching and merging with stunning ease, and offers the ability to check in even while offline. The development community is moving to Git and you should be too. Come learn how to get up and running fast. We'll also explore GitHub, a revolutionary new way to share and collaborate on software.

Git is a free source code management tool that's even more powerful than Subversion and CVS. It's lightning fast, supports extremely large projects, handles branching and merging with stunning ease, and offers the ability to check in even while offline. The development community is moving to Git and you should be too. Come learn how to get up and running fast. We'll also explore GitHub, a revolutionary new way to share and collaborate on software.

Kung Fu JavaScript Debugging

Are you stuck in the dark ages of JavaScript debugging? Do you immediately bang out an "alert()" when your code breaks? With AJAX here to stay and dynamic web sites quickly becoming the rule, it's critical that your debugging skills be top notch. Stop wasting time and start solving problems. We'll learn about some tools and techniques that can help you along the way, no matter which browser you're using.

Are you stuck in the dark ages of JavaScript debugging? Do you immediately bang out an "alert()" when your code breaks? With AJAX here to stay and dynamic web sites quickly becoming the rule, it's critical that your debugging skills be top notch. Stop wasting time and start solving problems. We'll learn about some tools and techniques that can help you along the way, no matter which browser you're using.

Homesteading for Fun and Profit

Have you ever thought about creating and selling your own software product? Nathaniel Talbott introduced the concept of software homesteading in 2006 and it's been gaining steam ever since. Join us as we examine how now as never before, developers have the opportunity and capability to build small, agile services that provide business value and generate passive income.

Have you ever thought about creating and selling your own software product? Nathaniel Talbott introduced the concept of software homesteading in 2006 and it's been gaining steam ever since. Join us as we examine how now as never before, developers have the opportunity and capability to build small, agile services that provide business value and generate passive income.

Power Ajax with JQuery

JQuery is a lightweight alternative to the Prototype JavaScript library. It offers a more concise syntax than Prototype as well as powerful built-in features that aren't available elsewhere. Come learn how to leverage JQuery to integrate powerful and visually entertaining Ajax functionality into your web applications.

JQuery is a lightweight alternative to the Prototype JavaScript library. It offers a more concise syntax than Prototype as well as powerful built-in features that aren't available elsewhere. Come learn how to leverage JQuery to integrate powerful and visually entertaining Ajax functionality into your web applications.

Chaotic Agility

Three quarters of all software projects fail. Why? Because we're still trying to manufacture software instead of create it. Software development is more art than science. As such, it can't be predicted accurately and is difficult to control. Yet how do managers typically respond to a failing software project? More control.

Three quarters of all software projects fail. Why? Because we're still trying to manufacture software instead of create it. Software development is more art than science. As such, it can't be predicted accurately and is difficult to control. Yet how do managers typically respond to a failing software project? More control.

Complexity science has a surprising amount of relevance to agile software development. Developers tend to behave like agents in a Complex Adaptive System (CAS). These agents must be allowed to self-organize to the edge of chaos, which is where remarkable things happen. Most of us agree that agile works. But why does it work? Examining the science behind agility can tell us why.

Once we understand why agility works best for software projects, we will stop trying to predict what can't be predicted and control what can't be controlled. We will allow software to emerge on its own instead of trying to manufacture and control it.


Books

by

  • Has your career been a product of random chance? Learn how to take control. These solid, repeatable steps show you how to chart the course you want, then how to follow it.

    The book is aimed primarily at a technical market, but the content is applicable to most professional fields.