If you’re out on a weekend along the famously blue Deschutes River in central Oregon, you might catch Columbia Sportswear development lead Dave Harrison hip-deep in the water, flicking a line from his fly fishing rod through the air.
“I love being outside,” he says, “I guess it’s a west coast lifestyle thing.”
His five-person development team would agree. True to their company’s sporty reputation, they all hike. They bike. And when they have time, they all take a break and play volleyball on the court that sits right outside their offices. They’re not a group you’ll see hunched over their terminals on any given Sunday.
And perhaps that makes sense. In spite of its laid-back brand, Columbia Sportswear is still a multi-billion dollar clothing company with a global supply chain. Practically every week some change in sourcing or manufacturing can impact the business—and when it does, that usually means more work for Harrison’s team.
When asked about it, he gives an answer a lot of developers can relate to. “Our business makes coats, and it has every right to change what it wants to do from month to month or season to season,” he says. “That’s why we started doing Scrum and Agile. My programming team needs some stability to do their work and not go crazy, but we have to prove to the business every day that we can be flexible and change our priorities every two weeks to meet what the company thinks is important.”
The team’s workflows reflect trends that have taken over the .NET world. The first is the manager as coder. Harrison is one of those development leads who actually likes to develop. But even a few years ago, he found himself spending many hours checking in with his team.
“It wasn’t the language that was getting in the way, it was the workflow,” he explains. “Even in Visual Studio 2010, to mark off progress and plan out a sprint—well, to be kind, we could say it was a good start. But they’ve made huge advances. We especially like the online version of Team Foundation Server.”
Nowadays his workload has been greatly streamlined. “I ask my team to drag their tasks on the current spreads, and they’re adults, so I trust that over those two weeks they’ll get their stuff done,” he says.” That frees up 30 to 35 hours a week for doing what I like doing, which is coding. It’s a huge win for me personally.”
The second is the developer as creative problem solver. With .NET, Harrison likes to say most of the action occurs below the surface, which allows you to work on devising solutions, not writing what he calls “plumbing.” As an example, he points to a sales tool he built that united several disparate databases and allowed Columbia’s business team to find all the information about every product in a single place. The core code was only a few dozen lines, with the hard lifting done elsewhere.
“These days I’m finding I’m writing less code,” he says. “The most successful apps in .NET have only a small amount of code, while all the logic happens in the database layer, where it should.”
To keep his team sharp, Harrison fosters a continuous-learning environment. Developers are all given time to research new topics and technologies. He advises they spend this time at home. The only catch is that if they take the time to learn something new, they must make a presentation—even if the project they attempted was a failure. They then post the findings either on internal wikis or on publically available blogs. Needless to say, taking part in the larger community is an important part of their research.
However when the code is all done and the research laid aside, Harrison believes time should be taken out for other things. For him, that’s being in nature, but even then, he admits that going outdoors has certain parallels with his day job. At the very least, it requires thinking through all the potential issues before starting out.
“Last year, we took a three day camping trip, and it rained the whole time,” he says. “It was the worst camping trip of all time. My girls still talk about it.” True to form, that hasn’t stopped him. “We’re going to do it again this year,” he says. “I just have to get better at planning.”
While planning may be easy with .NET, it’s a little different with the weather—and how children react to life’s adventures. Good luck with both of those, Dave.
- Manager, Microsoft Application Development Team
- Columbia Sportswear