Welcome to the online home of Pat Maddox

I am Pat Maddox

Do you want to take responsibility for your learning?

Do you want to take action now, confident that you will achieve your long-term goals?

Take the next step with my free shu-ha-ri problem solving course.

 


What does it mean to “deliver value”?

It should be as simple as building what users want, right? Why do some projects fail to pay for themselves even though developers are cranking out features? Are you punching your users in the face?

The hidden value of the Agile Manifesto

The Agile Manifesto provides a clear set of values to guide software teams. One un-named value underscores the whole thing.

Read to Learn

If you want something to keep you busy, I’ve got a list of books that you might want to check out. I’m not calling this an exhaustive or a necessary list of books to read, just ones that I’ve found helpful in my studies as a programmer. See my books for software-oriented humans.

Amplify learning with focused habits

My father’s educational habits greatly influenced mine. Learn more about them in One doctor’s model for continuing education.

Taking on testing lore

I make a framework vanish with a dozen lines of code in *poof* … and then Rails was gone. DHH’s counter-argument is nowhere to be found, either.

Ending the debate on private methods

…once and for all! Testing protected and private methods in Ruby

Do I need to be a craftsman? What do they mean by “passion”?

What is software craftsmanship?

Sometimes you’re $stdout, sometimes you’re $stderr

Any success comes after overcoming countless challenges. I reflect on some of my own in Fear of Failure

I done messed up. Where is the love?

I’ll just say it… I’m not sure what it is that I’ll say, but I know I’ll say it. I think we need to understand that people mess up and that what’s important is how we respond. How I’d like to handle my future public fuck up.

How to get 10x better at programming with 1/2 the effort

I love pair programming. Or do I? It’s up to you to figure out :)

When things get tangled, it’s time to decouple

Let’s get nerdy for a bit. You can simplify your testing practices by tweaking one configuration in Rails. Better Rails Testing – Decoupling Observers

When you just can’t keep DRY

You might think duplication is evil, but you can use it to your advantage. Learn how in When Duplication in Tests Informs Design

What’s the verdict on law of demeter?

Demeter is for encapsulation

Breaking down encapsulation

The Aggregate pattern & encapsulation

Oozing OOP

Highly objectionable! Let’s go deep on design in To Be an Object, or Not to Be, That Is the Question

Speaking of deep design…

Want to save time and money, and expose risk points early? Design Deep, Not Wide

Behavior and persistence, sitting in a tree

They say not to mix concerns. How could something so wrong feel so right? Behavioral Methods in ActiveRecord.

Test-driven javascript interfaces using a simple testing pattern

Write your first rich interface using TDD. It’s all downhill from there…kinda :) Backbone.js Testing Pattern – Describe a View’s First Render.

Better than the weather. Getting good at Smalltalk

There’s a lot to love about this language. If you want to get started with it here’s a good set of resources.