I grew up on a rural farm in Virginia’s Blue Ridge Mountains. We had calves, chickens, geese, all kinds of animals. They had to have pens to forage and play in. And if you leave animals on one tract of land for too long, they trample the ground and turn it into a dirt lot. So we practiced pasture rotation: one part of the pasture would stay fenced off until it had recovered enough, until it was ready for grazing again.

Now, the odd thing was that these animals always wanted to get at the sweet, new grass and vegetation on the fallow side of the fence. They’d reach their necks through whenever they could, nibbling on the greens, leaving a strip of grass cropped so neatly you’d think we were trimming the fenceline with a pair of nail clippers.

When the time came to let them into the fresh field, we’d take down the dividing fence or open the pasture gate wide. But so often the animals didn’t understand that they were free to roam in this promised land they’d yearned for so long. They would act as though the fence or gate were still there, invisible, holding them back.

We’re all guilty of this. I’ve had clients come to me and say, “build this so it works on everything!” In response, I ask, “What browsers do your analytics say your users are visiting with?” If analytics have been gathering data properly, we can then see which pastures are open to us. But all too often we operate on defaults, mentally blocking out tools that could help us because we’ve gotten used to rejecting them out of hand for so long. “I can’t implement this because it doesn’t work in this browser well/at all. I’ll do what always works.” Sometimes we still implement polyfills long after the need for them is gone, like calves reaching under a fence to nibble grass while the gate hangs wide.

To get the geese and calves to go into the new pasture, I’d have to herd (and sometimes carry!) them into the fresh pasture several times until it “stuck.” How often I would try to herd a calf through an open gate only to have the poor thing dig in her heels as though I were trying to force her against a wall!

Often we’re slow to discard our mental blocks. When we don’t push the envelope, we need to do less researching, less arguing for our cause during meetings. We have fewer promises to live up to. We can stay in the familiar, the pasture we know well, and look dolefully at the pasture we wish we had. “If only it weren’t for those barriers.”

We wait until we see many other companies implementing what we thought were “experimental and unreliable” over and over before we start imitating them. We wait to follow the leaders instead of being leaders. And there are often good reasons for that. There’s no point in building something no one can use yet. But if we don’t try to push the envelope, browsers won’t prioritize those features we yearn for.

pastry-geese

We had a pair of white Chinese geese, the domesticated relatives of the Chinese Swan Goose. (The Swan Goose, it should be mentioned, is imperiled by the intermingling of domestic and wild genes.) They were tall and elegant, shrill, and they knew that Geese Were Not Humans. The other geese were somewhat dubious of this belief, but followed them around as the de facto leaders because they were also the smartest geese. Or at least the most motivated! Aidan and Aida could find a way out of any pasture we put the flock into. My mother and I would run around, plugging gaps in the fence a goose could only squeeze through if it thought like a cat. But the miniature velociraptors would show up a few hours later, parading the entire band of geese down the road in triumph. Eventually we managed to plug all their escape hatches, but the pair still caused us so much grief that we sold them. The flock was much more friendly and content without their promises of goose Valhalla just outside the grasp of Man.

There are people, and I fall in with this lot, who just cannot stop shooting for the moon. They want to do all the things now, and if one browser doesn’t support it, the bug tickets start flying. Do we get the flock in trouble? Yes. But if it weren’t for our misadventures, everyone would still be moping around in that boring old pen.

This year I went on a marathon of interviews. I was surprised when I bombed some because I just wasn’t strong enough in JavaScript, yet the team members really loved what I was doing in my side projects with experimental CSS and APIs. But I understood. While the farmer needs her geese to stay in the pen, her geese appreciate a goose that can wiggle out of the pen and lead them to green pastures. In the same way, companies need front end developers that slot in and pull equally with the team, but individual developers can appreciate the cleverness of one another’s work.

Browsers are capable of some amazing things these days, yet so many developers remain staunchly in their pens, either detained by their handlers or by their own blindness to the open gate. My advice? Be a wiggly goose, and sneak out when you get the chance. You and your flock will be glad you did.