At Code for Boston I keep a backlog of projects that are ideas for the organization. Many of these tasks are not exciting or interesting to a large group of people, but they are valuable ways to move the organization forward. Usually I try and delegate these tasks to folks with varying degrees of success. Recently I delegated a task and it worked better than I expected.
The project is still in progress so I am not going to share what it is. However I do want to share the surprise of how it is happening. The first step was to let Code for Boston know what I was planning to do. Then to say I was going to start doing it. When I did this, people offered to help. I asked some questions about their background and it sounded like they were skilled at things, so instead of continuing the project I offered to give them control. I told them the major idea behind what I wanted to do, and then asked them to guide me.
Recently I saw a rough draft of their work and it was of much higher quality than what I was likely able to produce. This made me both proud and excited. Suddenly I found a new non-project way to engage my members in helping the organization. They are doing something they enjoy and are good at. As a result Code for Boston will be better off.
This is a story about converting potential into kinetic energy. Despite the fact a giant backlog of important things exists in Code for Boston world, people do not often seem interested in the backlog. The key catalyst was telling folks that a project was happening. At that point is when they became excited to contribute.
In building organizations two of the toughest activities are raising capital and user acquisition. Since this is not a fun activity I have often tried to delegate it (up or down or left or right) but this usually does not work for me. In some cases I have found successful partnerships like working with CTNewsJunkie to build my voter guide app. Nobody would care about my voter guide if I just put it on my own site, but with a news organization behind it the voter guide gets much more use and it provides a useful tool for readers. The partnership works because in the end both sides win.
In my years of working in politics and non-profits raising money has been one of the most avoided activities. Raising money is a grind and I think most people do not wish to do it. It is especially hard to do with cold contacts. The rejection rate is high. So to effectively fundraise you need to get to know people with money and tell your story to them. So you go to lots of social events to get to better know people. Then you are able to ask folks for money when the time is right. It especially helps if you can show your traction or impact. People want to support things that are making a difference.
The result of this is that people who are good at these activities are worth a lot to organizations. I have found it especially challenging to find and recruit people who are good at these things. Even people who seem to have a bit of a knack for it, often prefer to do other work. I can empathize because I often feel the same way. When I have to choose between raising funds and building things, I would prefer to build things. But sometimes other activities have a bigger impact, especially when an organization is starved for talent in those areas.
Over the weekend I continued updating vote.ctnewsjunkie.com which is the voter information site that I launched it with CTNewsJunkie two years ago. The site began with the idea that we wanted to provide a utility for people to find the candidates running for office and then read surveys that these candidates would fill out. No other media outlet has attempted to compile information about all the candidates running for office in the state, nor interview them all. We have learned a lot from doing this over two years.
The first is that getting candidates to fill out surveys is challenging. Our main tool is an email list we have of all the candidates. We send them information including a login and links to the surveys. From their feedback we learned our login flow was a bit confusing. So over the weekend in addition to providing links to the candidate profile we added a link to the survey itself. Now as long as a candidate manages to login (whether from our email or a password reset email) they will be able to access the resources we need. We also removed some confusing elements of the login page that were causing people to try and sign up for a new account.
The second is that there is a lot of back end work in making an app flexible for future elections before one time use. Our two years of experience uncovered abstractions that we did not see when we first started. However I do not regret waiting this long to implement them. While it was a bunch of work, we learned so much more from implementing the basic case and putting it out there than we would have from over-engineering the first version.
Yesterday I went for my last long practice run before the B.A.A. Half Marathon. It was an entirely different experience from the first practice run a week before then. The difference in that experience translated into a material improvement in my pace. I went from an 8’34” pace feeling miserable to an 8’04” pace ending feeling comfortable. I learned an important lesson: fuel matters.
Before the first practice run I consumed waffles which did not at all sit well in my stomach. I ran the whole run feeling as if I wanted to vomit. I was in pain and it weighed me down. The second practice run I scrambled some eggs, ate some nuts, and had a Clif gel before and then during the run. My stomach was fine. I think the magnesium in the nuts aided in warding off cramping. It was an entirely different and enjoyable experience.
Fuel matters off the race course as well. As I have scaled back my caffeine consumption I learned how different my energy level can be throughout the day. My mornings are highly productive. Late afternoon is low energy so I try to sequence my work to match it. I like to dig into big programming problems of writing tasks during my morning hours and then reserve meetings and testing for afternoons. The less energy I feel the more important it is to have things clearly enumerated in our issue tracker, so if things are not enumerated in there then I will spend time re-syncing it. Sticking with activities that align with my mental state makes me more effective.
One of the biggest challenges I have seen in the development of technical projects is finding good product management talent. Product managers can have different roles and responsibilities depending on the organization. However they are generally responsible for helping the team build the right product. They typically do the translation of user needs into tasks for software developers. They often also serve as product owner and manage the work of the development team as well. Good product managers have technical and people skills, which is why they are hard to find.
Many product managers come into it in the crucible of projects. A software developer with people skills is nudged by management into becoming a product manager. Developers are product manager adjacent and work with them almost daily so it makes sense that at least some would acquire these skills. In an organization without product managers a general manager often discovers they are a product manager but have not been given training in this discipline. These are both imperfect paths.
The challenge is that many organizations lack junior or entry level product management roles. In an ideal world an organization would hire people with expertise in product management and then have them teach other people how to do it so that those people can take the lessons and best practices into other projects. There is clear demand for this sort of role. At Code for Boston I have seen an increase in the number of non-developers that have expressed interest in being a product manager but a strong aversion to being thrown into the crucible to do it.
Solving this problem is important because product managers play an important role in the development of digital products. Forcing developers to be product managers leads to its own pile of problems and sending folks without product manager experience into the crucible is an expensive way to train people in this discipline. The tech industry needs to cut a better path.