A few years ago, Brent Sanders was a professional trombone player. He was getting regular gigs in Chicago and playing frequently with well-known jam band Umphrey's McGee. There was only one real problem. He was working hard, looking at an arduous career path, and seeing over the horizon a group of choices, none of which left him feeling particuarly happy.
Then he found coding.
In a telephone interview, Sanders -- who ended up founding the software development company that became Fulton Works -- told InformationWeek, "I went into my undergrad studies fully intending to be a musician or work at a label. Then Napster flattened the labels and practicing was hard to stay diligent about." For professional musicians, the general rule of thumb is to practice your craft for two- to three-hours hours a day to avoid losing skill. If you want to improve, you plan on spending four or more hours every day in the practice room.
[ If your projects include IoT, do you know how to build a framework for success? Read 10 Tips For Successful IoT Projects. ]
Looking for a way to make his local profile more prominent, Sanders began working on a website. He said he soon "...found myself coding more and more and finally found myself coding more than practicing."
Around the time that coding took over his working hours, he made another discovery. "I found out you could make money at it. Around 2002, I was charging beer money to build websites," he said. "It was a time in our society when people were beginning to adopt the web, and it was then I found I could earn a living at it."
Sanders decided making a career in development meant committing to the work, so he left Chicago and moved to New York City, where 10 years ago he founded the company now known as Fulton Works. "I was there for a couple of years and found that I couldn't scale the business because it was just too expensive," he said. So, he moved back to Chicago and hired the first programmers for his burgeoning firm. He also began to move his company toward the specialty for which it would become known. "At first we would do anything in web or mobile that people would pay us for," Sanders said. "Now we're focusing on new initiatives -- we don't want to take on anything old."
Along the way, Sanders found many of the lessons he had learned working in a band were transferrable to his work as a programmer and manager. "Be on time. Work on your reputation," he said. "If you're not a good hang, a good player, or just don't get along with the group, you won't get the call back." The bottom line for both careers is the same. Sander said. "I treated coding as a reputation business, just like being a musician is."
As for the hands-on skills needed in the company, Sanders again falls back on his music experience as guidance for himself and his team. "Number one is that you have to practice. Even if you know your stuff you have to be practicing," he said. "We look for people who are practicing on the weekends or at night -- not working, but progressing, not leaning on the same old licks again and again."
When it comes to the team, Sanders also looks for the magic of chemistry. For him, being a good team member isn't optional. It's a critical ingredient for success. "Working in a group is another thing. I'm not the best manager in the world, but I've gotten better at pulling a team together and shipping a product," he said. The need for improvement, he said, is simple. "You're not going to stop halfway through and not ship the product: The show must go on."
The "show" Fulton Works specializes in tends to be high speed and high pressure. Sanders said the development discipline used by the group has been adapted to fit that environment. "We call it 'scrum-fall,'" he said. "We work for clients and we need approvals, so it's hard to go fully agile."
The modifications to agile aren't because Sanders doesn't trust the methodology. It's a question of customer comfort level. "We do have some clients that let us do that, and we get good results," he said. The specific methodology chosen for a particular project is a result of experience with development and the client, said Sanders. Fulton Works spends time working on the methodology from the beginning of a client engagement. He likened it to a musician's ongoing practice, even when days are filled with performance. You must, he said, have faith the time invested will pay off in improved performance.
As for the tools Sanders' firm uses, he said they reflect the nature of the work to be done. "We work in dynamic situations. There's almost [always] some complexity around what we're doing that helps make it interesting," he said. "We're a big open source shop. We like Python, Ruby. We're getting into React. It expresses things in a really clean and beautiful way. We also do a lot of iOS development in Swift and Object C. We're also getting into Go for simple, repeatable tasks."
As with the methodology, Fulton Works' choice of tools is project-based. "Our projects don't really require high speed, high scale right off the bat," he said, "That's our sweet spot. We're the people you bring in when you want to get something up in three weeks, not when you want to re-platform a 4-year-old product."