After losing the 2008 election for South Carolina’s second congressional district by just 26,000 votes with a largely self-funded campaign and a staff of mostly family and friends, Rob and I decided to invest in a professional second run in the 2010 cycle. We carefully selected a top tier campaign manager, and she spent months growing our strategy and team.
Despite our intentions and commitment to the campaign, we were barely raising enough money to pay our staff. By September, we knew we were not going to be competitive that cycle, and we didn’t want to run a campaign we couldn’t win. We decided to do one last, previously scheduled fundraiser before announcing our decision to end the campaign. On September 9th, 2009, we were hosting what we thought would be our final campaign event.
Held at a historic theater in our hometown of Charleston, South Carolina, the fundraiser was a “watch party” for President Obama’s address to a joint session of Congress on his health care reform plan. When the President said that health care benefits would not be available to people in our country illegally, Congressman Wilson yelled back at the President, “You lie!”
Wilson was the incumbent Rob was challenging, and within minutes of that outburst, my laptop started buzzing with campaign donation notifications. Rob sent me a message saying they were shutting off his phone and moving him to a consultant’s house outside of the city. For the next 24 hours, we received 100 donations every minute, and Rob and I were thrown into a master class on campaigning that forever changed how I think about influencing networks of people.
Software development at scale is more about people than technology, and I frequently borrow from the strategies I learned in the years that followed that night. Successful campaigns change people’s minds and move them to action – to donate, to show up on election day, and to vote for your candidate. Successful software development projects do that too. There are always competing projects, technologies, and personal interests that can slow or stop your progress, and it takes an active campaign to keep people engaged and rowing in the same direction.
The first urgent challenge Wilson’s outburst created was fundraising. While we quickly raised more than a million dollars, so did our opponent. Donations were pouring into Wilson’s campaign too, and we knew he’d be able to raise enough money to achieve media market saturation. What that meant is that his campaign would be able to blanket the congressional district with commercials leading up to election day. We had to triple our money to do the same, or we couldn’t win the election.
Our campaign manager worked quickly to ramp up the staff, leasing offices near our home, and packing more than a dozen specialists into them. A “call room” was set up, and Rob, supported by 2-3 staff members, made hundreds of calls every day to raise that money. They were calling our 100,000 new donors to ask for a second or third contribution.
In the call room, the staff worked the phones, and every time someone agreed to speak to Rob, he was handed a phone and a call sheet that summarized what we know about the person he’s talking to. These were all strangers though. We knew their names, addresses, phone numbers, and donation amounts. With just that information, Rob would launch into his campaign message and ask for a donation. “Thank you for the $10 contribution you made to my campaign. To be competitive in this race, I am going to need x dollars. Will you give $10 more today?”
The challenge is that people had given for all kinds of reasons. Rob is a Marine Corps officer and combat veteran, and he was running as a Democrat in South Carolina. Some people gave out of respect for our country, the office of our President, and our military. Some people gave out of disgust with Wilson. Some people gave to support a competitive Democrat in the deep south. Some people gave because their name was also “Rob Miller”. We had hundreds of donors named “Rob Miller”.
With no background on contributors, Rob was starting from scratch on each call, to understand the contributor’s values and connect his campaign message and values to theirs. It was time consuming, more time consuming than we could afford. Each call needed to be completed in a few minutes, and Rob’s conversations were 30 minute introductions. His asks weren’t targeted either. Billionaires who had given $10 were asked for another $10, and people living below the poverty line who had given $50 were asked for another $50. Rob didn’t know who he was talking to, and he had to invest the time in a longer call before he knew enough to set a more informed target for his donation request.
Interns were frantically searching for background on each person to improve the process, and the campaign staff were getting frustrated with our pace. Whole days of calls ended with just a few thousand dollars in contributions, and it was clear that our system would not succeed. Out of necessity, a new product was born.
After several days of watching everyone’s frustration, I built a scrappy utility to programmatically do the research on our contributors. My little piece of software accomplished more in a few hours than our interns could manually complete in a year. I worked out a system for uploading and appending my data to existing contributor records, and I developed a simple algorithm for recommending the best target for Rob’s donation requests.
We were immediately successful. Rob’s targeted messages resonated with those contributors. With updated call sheets that told him something about their interests, he was able to connect with each contributor quickly. Human attention spans are super short, and we’re not willing to sit through a laundry list of candidate values to find one we connect with. The candidate has to come to the conversation with the message that matters.
This is true for all products. Targeting our messages to our audience is a necessity for effective communication, and effective communication at scale requires mechanisms for understanding the target – the audience – the listeners. It’s old fashioned market segmentation, and we can apply it effectively at every stage of our software development process.
Software engineers are usually motivated by one or more of the same set of drivers. They want to learn something new, build an important product, prove a new technology, get promoted, make lots of money, or have reasonable work/life balance. The ranking of these drivers changes over the course of our careers, but the message that will resonate with each individual depends on their current prioritization, or their market segment.
Running a successful software development organization is an exercise in understanding which segment each key stakeholder falls into, creating a narrative that motivates that segment, and connecting each ask, or milestone back to that narrative. Creating that great narrative is hard, but it’s critical to invest the time to own it.
The media attention that followed Wilson’s outburst gave us access to a national stage. Tier one news outlets like CNN were contacting us for interviews. We had our 15 minutes of fame, and we could use it to literally step onto a national stage. Our campaign manager refused every interview request. Rob had not yet been through media training, and the media wanted us to be part of the healthcare reform story. That was the context of the outburst, but it wasn’t the platform we wanted back home in South Carolina, where our campaign was actually happening.
It can be tempting to let external factors decide the time, place, and context for our messages, but curating the narrative and timing the delivery is critical to success. Our media firm recorded the footage for this video introducing Rob about a week after Wilson’s outburst.
Effective modern leaders are creating these narratives and actively campaigning for them. In business, we refer to those narratives as visions, or missions. I use a simple process of experimenting and iterating to create mine. I start with a rough story, and I tell it to individuals that represent every kind of market segment. I might schedule time to pitch the story, but I prefer to casually toss it into existing conversations. I make notes about the reactions I get, and I iterate on the story.
I’ve written a lot about improving the sustainability of our industry with adoption of the Rust programming language. I’m just as excited about the idea of reducing our industry’s infrastructure costs with Rust adoption, but no one else is excited by that story. The work, the target, and the impact are the same, but the sustainability narrative resonates much more strongly with both c-suite executives and entry level engineers.
The reason for doing something matters. The narrative we choose, the story, changes our likelihood to act – to donate, to show up on election day, and to vote for our candidate. Getting your stakeholders to act on your behalf consistently over the life of a project, product, or organization requires a campaign that connects contributors’ personal values to your vision as their leader.