Back in 2014 I worked at the XPRIZE Foundation. One of the major reasons I joined was to help launch the Global Learning XPRIZE. This was a $15 million competition, largely funded by Elon Musk, that challenged teams to build an Android app that teaches kids basic reading, writing, and arithmetic, without the aid of a teacher, within 18 months.
When we launched this prize we were astonished by the response. At the time I launched our Global Learning XPRIZE crowdfunding campaign (which raised just under $1 million with a $500k goal) and the new XPRIZE community, and the excitement was palatable. Over 180 teams submitted entries.
These teams were narrowed down to five finalists and extensive field testing trials happened in Tanzania. This in itself was a behemoth task to get tablets and electricity out to such remote areas. This video provides a good overview of this work:
Well, this week the competition came to a close. On Wednesday I flew to Los Angeles to join the awards ceremony at the Spruce Goose Hanger at Google. Peter Diamandis kicked the event off, Emily Church introduced the teams, Levar Burton (yep, the guy from Star Trek) did a short speech, and Elon Musk swung by to award the teams before jetting off (no pun intended) to do a rocket launch.
It was a fabulous evening and it was wonderful to meet all the teams and see the energy and passion from everyone there. Here are some pictures from the ceremony.
Also, here is the live stream of the event:
Just The Beginning
Now, while it was fantastic to see the awards being delivered, what was most interesting to me was the overall impact of these entries across reading, writing, and numeracy:
Clearly the teams have developed software that really does meet the goals of the challenge: to provide a marked improvement in education for kids who don’t have access to teachers. This is an incredibly encouraging start.
The good news is that all five finalist’s code has now been uploaded to GitHub. You can find the repos by clicking here. All the technology that is driving these educational gains is built for Android is now available under an Apache open source license and the general open source community is welcome to participate.
In addition to this, the XPRIZE team have set up a discussion forum. This is brand new, but I would encourage those of you who are interested in this project to go and check it out.
Now, as you can imagine, these are five pretty significant codebases, and each has unique attributes. For example, Team CCI has built an authoring platform where you can produce content without coding (similar to Flash). RoboTutor have built an AI-powered voice recognition platform so kids can read the words on the screen, it will listen, and then read back the correct word.
I really want to see this code as the beginning of a new era of educational software that can impact the 250 million+ kids that need access to high quality education delivered via tablets. I can’t think of a better opportunity to built a community around a more meaningful mission
For these projects to succeed though I believe we need to focus on the following key areas, all of which need volunteers (wink wink!):
#1. Get more people involved
With the code now available, I want to encourage you all to go and download these projects, play with them, and start participating.
File issues with bugs and feature ideas, submit pull requests, and reach out to the teams. Feel free to share your ideas and offers of help on the community forum.
#2. Modularize the best elements of the different codebase
I don’t think it is realistic to expect all five of these projects to converge under a single initiative, they are likely too different. I do though think we should try to modularize some of the key tech (such as the examples I gave above) into individual projects.
I am going to reach out to the teams to see what kind of appetite they have for this: from my discussions yesterday, it seems like there is interest in doing this. This will make it easier to collaborate and expand the contributor base.
If we can modularize these pieces and get more of the projects using the same common pieces, it will grow those foundational elements faster as more devs can contribute. As an example, TeamCCI has already offered to fund $100,000 worth of educational content development for the other teams if they use their core Pubbly platform (which is now open source in GitHub.)
#3. Increase localization
Each of these projects is available in English and Swahili, with some of the teams also being localized into Hindi.
There is an enormous opportunity to expand the translations base for these projects. When I was at Canonical, one my proudest memories was how localized Ubuntu was and continues to be: we should do the same for these projects.
These projects should be available in multiple languages, not just the strings, but the content too. With every new language there is the possibility of this software impacting kids in those regions too.
#4. Create documentation for the community and project
With five big new codebases, we could benefit from docs writers to build and maintain a wiki for the project. How to build the projects, join the community, submit pull requests, submit art/design assets…this all needs documenting. Do you want to make an impact on education around the world and do you like writing? Roll them sleeves up and get involved!
So, if you are interested in getting involved, head to the community forum, sign up, and weigh in. There is enormous opportunity here to have an impact: let’s make it happen.
When I am working with clients with community management, one of the first things I want to understand is how they, not me, define success. What metrics are they tracking?
One of the common metrics for success in communities is people who register, sign up, or otherwise provide some kind of identity to a community
Now, this is important, but we need to look at what it really means. For most public communities, I generally recommend they make their community platform open for reading and consuming without requiring an account. This provides an opportunity for people to “try before they buy”. It also means though, that these faceless strangers may get significant value out of the community (such as finding answers to their questions), without ever needing to sign up.
Now, as part of their community management dashboard (see my other pieces on ‘How To Track Community Growth In Forums‘ and ‘Measuring Community Health‘), I still want to track sign-ups, and here is an example of a client I am working with (they gave me permission to share this, anonymously):
What this graph tells me is that their community management is offering more and more personalized value to their members. Given that their forum is open to the public to read, people need a reason to sign up for an account. Most people don’t sign up for a community unless (a) they are required to, or (b) they want to feed in in some way, such as asking a question or voting in a poll. Sadly, they won’t sign up just because they like you.
As such, when we see a growth in sign ups, it tells me that more and more people are consuming value in the community and they are inspired to feed in and participate, which is a good sign. If this graph was flatlined, it wouldn’t merely just suck, it would tell me the opposite: we need to provide a clearer way for them to understand the value of participating and how they see their reflection in the community.
Now, many communities will track sign-ups as a key metric and often ignore the anonymous views of the community. But, let’s look at the same community’s data when it comes to people browsing the forum without being logged in:
Yeah, baby! This is looking almost like a hockey stick curve. What this tells me is that the value encompassed in their community forum is seeping out more broadly and pulling people in to browse the value there.
This is a critical metric. If we don’t see this graph growing, it means that either (a) the community is boring and doesn’t offer enough value, (b) people don’t know about it, or (c) both. :-/
As such, always focus on getting this anonymous traffic graph up. Here are a few recommendations:
#1. Optimize your SEO
Sure, I get it. A lot of people who waffle on about SEO seem to be talking bollocks, but it is essential. There are bags of tutorials, books, and videos about how to do SEO well. As part of your community management, focus on how you can optimize how your community web pages perform publicly and how they are indexed.
#2. Integrate into your other infrastructure
Far too many communities are not accessible from the other trappings of a project or product. Ensure people can know about your community and link to it easily from:
- Your website (ideally in the top-level nav.)
- Social media accounts.
- Blogs and other publishing mediums.
- GitHub/GitLab repositories, and
- Email messaging, newsletters, and other outreach.
- Event presentation slides, handouts, and other materials.
Don’t just do this once: keep your community in the consciousness of your users and customers week in, week out.
#3. Regularly feature community management work on social media
If you have rich, interesting content in your community, you need to post about it every week on your social media networks. Social media is a significant driver of traffic to websites, so ensure you are utilizing it as a tool to get people to your community.
Don’t just broadcast, invite participation in your community. Have calls for feedback, input, and other engagement: it all drives participation.
#4. Regularly think about how to pull people in
There always needs to be a reason for people to go to your community. What is it?
Sure, providing support is useful, but that will only bring people in when they have questions. As such, think of other ways to get them in your clubhouse.
Publish tutorials, guides, demos, and feature/release updates to your community. Promote these on social media and beyond. Give people a reason to check the community every day.
As such, many people (myself included) regularly check the community to discover these new features, learn how to use them, and more.
These are just a few suggestions scratching the surface of how you build this anonymous traffic. What recommendations do you have to grow it? I am always eager to learn new approaches and methods, so get them in the comments – thanks!
Open source community can be a tricky business, but today I want to share a quick example of the kind of open source community engagement I try to encourage more generally, and with clients. This one comes from a client of mine, Zeppelin, who builds tools for decentralized systems and smart contracts.
Well, a few days back this post appeared in their community:
@martriay works for the company and is my primary point of contact for leading their community development. Clearly the company is busy with other projects but wants Ethernaut to keep moving forward, and the community expressed an interest in helping.
When @martriay asked if people would be interested, a number of hands went up:
Given the community interest, he followed through on his promise and kicked off a new topic:
Here he tagged the individual people who had expressed interest (so it appears in their forum notifications), and provided some pragmatic next steps for ways in which the community can play a practical role.
Importantly, @martriay also made it clear that the community are welcome to come up with their own creative ideas for how to participate (instead of forcing them into a specific box of tasks). This is critical: communities thrive when they are a creative meeting of minds, but with a clear method for how people practically work together.
What followed was a discussion for different ideas for tasks and where people would like to participate:
Here @martriay continued to be responsive, playing a supporting role to help those interested community members get started (such as opening up and adding to the project’s board in GitHub.)
This is another subtle, but important point: here @martriay is working to encourage participation but to try to consolidate these contributions into the same “view”, and provide an opportunity for some community members (namely, @scammi and @paulinablaszk) to play a key role as contributors:
As things stand right now, a clear list of work assignments is forming, all based on this creative discussion and input:
Part of why I think this is a good example is that it demonstrates (a) what is possible when a company is open to contributions, (b) how the community can play a key role in adding additional value to a shared project, (c) the importance of facilitation, and (d) how this energy can be consolidated into a central way of working.
If we peel away the covers, there are 5 key principles operating here.
#1. Be Open to Contributions
When companies are building open source projects, there is typically a line drawn in the sand between where the community can contribute and influence a project and where they can’t. Some companies will be reluctant for contributions, even for projects that are unmaintained, often due to various fears (liability, trademark issues, losing control, etc.)
Ethernaut is a great candidate for community contribution: the company has other pressing priorities, and the community loves Ethernaut. Being open to contributions demonstrates (a) the maturity of the company, and (b) that the community is a valuable relationship to the company.
#2. Foster Creativity
Community members don’t want to be walled into a box. They don’t want to be given a limited set of tasks. They are not task-rabbits.
Community members want to use their creativity to explore ways to make a project better. They want to express ideas, and have an open dialog about which of those ideas have legs and which don’t.
The very best open source projects have an open, creative environment, but a clear method in which work gets done, reviewed, and integrated. As you try to build a simple, clear workflow, don’t gut this creative input.
#3. Openly Facilitate Contributor Success
Few open source communities with a primary single commercial sponsor operate entirely autonomously. You will always need someone from the company to help facilitate the overall success of your community contributors.
Doing this well requires open engagement in the community, helping to foster their creativity, and working to zone in on specific tasks that are assigned to specific individuals. If you don’t have this you will likely get a lot of, “Wouldn’t it be cool if…” ideas, but no pragmatic results.
#4. Simplify and Centralize Team Workflow
While you want to foster creativity, the way in which the team works should be as clear, simple, and as accessible as possible.
For many projects, they have an online repo (e.g. GitHub), an online issue tracker, and code contributions are made via pull requests. They will also have a central place where the project is discussed, such as a forum.
#5. Be Accessible and Engaging
Finally, the tone and way in which you engage with your contributors is enormously important. Your community members are not robots, and don’t want to be treated like robots.
They are human beings, so be human with them: be loose, engaging, and fun. Validate great contributions, provide friendly constructive criticism, make jokes, and smile both in-person and online. It sounds simple, but this is critical: build an environment people want to be a part of.
This is really important for two reasons:
- People like working in more social, fun, and engaging environments.
- Human beings mimic each other and especially their leaders. As such, if you are fun and engaging, they are likely to be so too.
So, that’s it. I just wanted to share this little example, primarily so it can illustrate what I mean when I talk about what good, collaborative, open source engagement looks like. If you have other examples, be sure to share them!
Bonus points for those of you who can guess where the main image for this post is from.
One of the interesting elements of working with a range of different companies is being able to better understand the dynamics that influence how well a community will succeed or fail. These dynamics are many and broad, and include having a solid strategy, the right balance of transparency, executive and frontline and support, simple and sensible tooling, and more. Sadly, the availability of gin plays no concrete role in this success. Bah humbug.
Within the context of companies building a community around a product, one of the most critical influences of this success, frankly, is having a product that (a) people actually want, and (b) that they can wrap their heads around it.
This may seem obvious, but it is more complex than it may seem. If you look at the rich tapestry of open source, you have some very popular projects that serve broad needs such as Kubernetes, Node.js, Git, Docker, Angular, and others. But then, you have projects that serve very niche needs such as OpenMRS, SymPy, Astropy, and eht-imaging. All of these projects are thriving open source communities.
Now, for some companies watching these projects growing in adoption and market recognition, it can generate a seemingly logical conclusion:
“Surely if we open source our struggling project on GitHub or GitLab we will attract an audience of users and developers, and therefore help our broader market success, right?”
Well, Danger, Will Robinson.
A Balanced View
While there is little doubt that open source can have a heck of an impact on projects, products, and companies, the way in which you accomplish this impact needs to pull together four key components:
- Product – firstly, you need to have a product that the market wants, that can add value for your target audience, and maps well to your chosen open source model.
- Product/Engineering Workflow – secondly, if you are going to run a public open source project, you need to ensure your product and engineering teams can operate with an open, asynchronous workflow and can interface with public contributors.
- Community Strategy – thirdly, you are going to need a clear, unambiguous strategy for how you structure your community, hire the right team members, target the right audiences, build growth, and more.
- Internal Capabilities – finally, you are going to need to develop the skills in your company to accomplish all of the above. This will require staff training, support, mentoring, and leadership.
Now, often when I am brought into a company, the client is typically very interested in focusing on points 2 – 4. After all, this is what a lot of people associate with the work I do.
My first questions though almost always focus on (1). Is the product you have suitable for open sourcing, and will open sourcing it bring you and your prospective community the value you and they want?
Open source is not a panacea. It is not a solution that will revive an uninteresting or poorly built product. I never recommend anyone goes down the open source road until they have assessed this important product suitability consideration first. Otherwise, they risk doing a lot of work for very limited benefit for anyone.
Essential Questions To Ask
Here’s the deal: open source requires a careful balance of open workflow, community/contributor management, and a clear delineation of where the lines are drawn between your open source and non-open source projects (and which teams work on what.)
To put it rather glibly, open source is not as simple as chucking some code into a public repository and blogging about it. It requires a careful balance of internal and public workflow, and needs a significant investment of time and energy to do well. As such, you want to be sure that this time and energy is not just worth it, but has a realistic chance of success for both you and your community.
When you are considering this, I recommend asking yourself 4 key questions:
#1. Is there a market need/fit for your product?
Open source has become increasingly interesting to companies who want to get developers using their product or platform. Developers are increasingly influential decision-makers in modern tech firms, and often prefer open source platforms.
Put the open source element to one side though and ask yourself the objective question, “Does your project serve a clear need and deliver enough value for your target audience?”
The #1 thing your audience are looking for is clear, valuable functionality. Does the software do something that pragmatically make your audience’s lives better? If it doesn’t deliver this, no amount of open source will save it.
So, try to understand what your core audience want and ensure your project can deliver it. If this is a new project, publish a roadmap for these key target features and focus on staffing the delivery of them. A compelling 1.0 is essential to interest both users and potential contributors.
#2. What is the on-boarding experience like for new users?
On a related note, how easy is it to get started using your project? Can a new user get up and running and experience tangible value within 10 minutes? No? Then you you need optimize your on-boarding experience.
I have seen some bloody horror stories here: projects that make users jump through endless hoops, require complicated configuration (with little to no documentation), have dependencies on obscure or unavailable services, and other dents in the experience.
This is the model I have developed over the years for thinking about building a clear onramp:
Your audience should be able to proceed simply and logically from one step to the next ultimately getting to the star, which is a piece of tangible value for them (e.g. completing a task, solving a problem, etc.).
Now, while every project will use a slightly different set of steps, an onramp generally breaks down into understanding value, setting up tools, learning skills, and using the tools and skills to produce something valuable. (1) and (6) are highlighted in the above graph because they should be on every onramp: you always need to communicate the value of your project (such as via websites, social media, etc) and validate the people who use it successfully (such as with rewards, engagement, and opportunities). The latter is especially important for building lasting relationships with your community.
Think about how to simplify the overall onramp (you should explore how muntzing can help here). Then, ensure that each transition from one step to the next step is logical and try to understand and resolve where people get stuck.
If you don’t do this, you will struggle to build a userbase for your project, which is a critical requirement before you can consider developing a contributor-base.
#3. What are your primary goals for open sourcing it?
The next question is why are you are open sourcing your project in the first place? From a company perspective this can vary and will often include one or more of the following:
- We want to increase market awareness and adoption.
- We want to increase engineering contributions to the project.
- We want people to build on top of the project (e.g. plugins or modules.)
- We want to increase the company’s brand recognition.
- . . .
This is where things can get complex: open source projects can often lead to many of the benefits listed above, but it is not just the nature of being open source that will drive these benefits, it is the focused strategy efforts you put in place that will.
For example, if your goal is “increasing engineering contributions”, putting code in a repo will not merely lead to this. Clear developer on-boarding, solid documentation, building meaningful community relationships with developers, developer focused content and outreach, and other efforts will help drive this growth.
The risk some companies face here is that they think of the value of open source primarily from their own perspective, but don’t focus enough on what value their users want to experience too. How can you build an open source community that gives your users greater information, flexibility, and communication with the project and your team? How can your users play a more meaningful role in the project? If you build an environment with your users’ needs in mind, you will build a a far more engaging and valuable community in general.
#4. What new skills and resources do you need to build in your company to do this work well?
It took me far too long to realize that a significant determining factor of community success is not just making the right strategic choices, but also baking those skills effectively into an organization.
For many companies, switching to an open source model is a significant change of workflow, policy, and how you incentivize your team. Aside from picking the right set of open source strategic steps (such as how you publish code, manage issues, build community engagement and growth etc.), you should also plan for how to bake these skills and expertise into your teams.
An an example, one key element of being an open source project is receiving and responding to pull requests with new features and fixes. This requires your team members to be able to review those PRs, test them, provide constructive feedback, and approve or reject the contribution based on merit. It requires calm and constructive feedback, often with people you don’t know and trust yet. It requires the overall code review process to happen end-to-end out in the open. Overall this needs a nuanced set of skills such as peer review, technical collaboration, open build management, and other pieces.
For companies less familiar with open source, this is all going to seem a bit weird and uncomfortable. Your team members are going to hesitant to engage, not only because it is new, but they also don’t want to put a foot wrong and get in trouble. This is entirely normal.
As such, think about how to break these skills down into simple pieces, provide the right level of training and support, and how to mentor and support people through this transition. Help them to build a habit around participation, and develop incentives, rewards, and other mechanisms to help them naturally orient to an open workflow and enjoy engaging in it.
Open source is an enormously powerful model, but focusing on these core product questions is an important part of the process. What other considerations should companies be making? Share them in the comments…
Last month I was invited to go and speak at a school careers event. My audience was a collection of young people stuck at that tough intersection between being at school and starting to think about what they want to do for a career. I don’t envy them.
While I was asked to talk about my career and the various trappings of consulting, speaking, and writing, I told them I didn’t think this was the most important thing for us to talk about. Instead, I wanted to share how the path we often take to our careers is important, but there are so many things outside that path that can play a critical role in our broader success and overall happiness.
When I was 16 myself, I had a vague idea about what I wanted to do, but had no concrete idea of where I was going, and how I would get wherever I needed to be. Today I want to share my own path and how some critical things outside of my education played a formative role in the career I have today. My hope is that some young people may read this and find it both informative and reassuring.
Somewhat amusingly, I found my National Record Of Achievement, which includes reports from my teachers around the time I was 16-years-old. I found it pretty amusing, so I am some including a few samples for you to poke fun at me over.
When I was growing up in England, the map to your career was pretty consistently shared by parents and teachers alike. You go to school, work hard, and get good GCSEs. Then, you do your A-Levels for two years, work hard, and get more good grades. This earns you enough points to get into a decent university. You then slog through your degree over the next four years (while drinking copious amounts of cheap lager), and then go out and get a job. If you are a glutton for punishment, you bolt on a masters degree.
This path posed a small problem for me. While I was a well-behaved, attentive, courteous student at school, I wasn’t particularly motivated by the subjects there. Some topics, such as English, IT, and Physics captured my interest, but I was bored to tears by hours of dreary Geography, German, Biology, and Maths. Oh, and don’t even get me started on PE. Weirdly, for someone about as religious as a small chicken, I was fascinated with religious studies, less about the mystical stories effused in biblical tales, but more for the anthropology of how human societies form.
The outcome here was somewhat unsurprising. I got pretty average grades, mainly Cs, for the subjects I studied. For the ones I was interested in, I got a smattering of Bs, and for the ones I didn’t care about I got Ds and Es. I don’t think I got a single A in my entire school career.
Now, this is not to suggest I didn’t understand the importance of school or that I didn’t enjoy it. I took school seriously and I generally had a good time going. Similarly, for any young people reading this, school is really important and you should give it your best. My parents were, and have always been, unbelievable supportive. They echoed this mantra, “All we want you to do is to try your best and put as much effort in as you can”.
Now, while all this was happening, I had two significant things going on outside of school.
Firstly, I was delving more and more into the music rabbit-hole. I was discovering different styles of music, grabbing anything I could, from the Rolling Stones, to Iron Maiden, to Metallica, and beyond. I was learning and playing guitar, and I started my own band at school. My mind was obsessed with music, discovering new bands, learning how to be a better player, and playing with other musicians.
Secondly, I was fascinated by technology, and I was lucky enough to have access to the Internet at home. Back in the dark ages in the UK, we had to pay 10p/minute to connect online. I had a genius idea: for every minute I spend online, I will pop one crisp 10p piece into a box next to the computer. My parents agreed to this optimistic arrangement, fully supporting their son discovering and exploring this new technology landscape. The bill came in: £280 of charges, six quid in the box. My 16-year-old self was in for a throaty bollocking, and rightly so.
As I descended into A-Levels, which are a notable step up in work and complexity from GCSEs, my interest in music and tech outside of school also escalated. My evenings were dominated by rehearsing and playing gigs in my first metal band, Conspiracy, and twice a week I attended night school to learn C programming with my brother, Simon.
When I completed my A-Levels, my grades were…well, nothing to boast about. Two Cs, a D, and an N. Curious what an N is? I think it means I spelled my bloody name wrong on the exam paper. I was disappointed. I genuinely worked hard, but I struggled to get the results I wanted.
Interestingly though, my IT teacher took me aside one day and told me he saw a lot of potential in me. He offered to teach me some more advanced topics after school, which I eagerly jumped at. Slowly I was starting to see where my interest and potential was coalescing.
My A-Levels performance limited my options for University. Given my interest in tech, I ended up picking Interactive Multimedia Communication at Wolverhampton University. While a relatively bog-standard university, the course was founded by a well respected professor in the field. It focused on the (at the time) new era of multimedia, incorporating digital video, audio, and optical media.
The Game Changer
Shortly before I packed up and went to university, my brother Simon introduced me to Linux and open source. It might sound hyperbolic, but it completely flipped my world upside down. Here was a technology, produced and powered by people who work together openly to improve it, and anyone could roll their sleeves up and get involved. This didn’t just fascinate me, it gave me a real sense of purpose.
The next four years were a blur. I started a website to bring the UK Linux community together, went to university, and started the Wolverhampton Linux Users Group. I met new and interesting people, and started contributing to projects such as KDE and GNOME. I wrote little bits of code and put them online. I organized conference booths, wrote documentation, and started speaking at events. I was fueled by this work because it had meaning, and that meaning was bolstered by a global community all wired up with the same vision.
At a conference in London, I had a non-zero number of beers with two editors who were launching a new Linux magazine called Linux Format. I plucked up the courage to ask if I could write an article and they said, “Yes, but if it is shit, we won’t publish it”. This seemed like a fair arrangement.
The article passed muster and it went into the magazine. I started writing more and more and when I completed university, I decided to be a full time writer. It didn’t pay much, but I loved what I did, and it earned enough money to support the relatively frugal life my girlfriend and I lived. This is when I got the first taste of being able to devote my career to something I loved, and it was an amazing feeling.
One of the articles I wrote was about a newly minted organization in Birmingham called OpenAdvantage. They were focused on training people in the West Midlands in Open Source; especially focused on manual laborers re-skilling in technology as more and more factories moved out of the area. After the article was published I was invited to lunch by one of the founders, Paul Cooper, where he somewhat surprisingly offered me a job to be a consultant there.
I took the job and spent two years doing a range of things I had never done: consulting, training, learning new technologies, and more. While nerve-wracking at first, it gave me a taste for jumping in the deep end and figuring things out as I went. What followed were careers at Canonical, XPRIZE, GitHub, and then onto my current consulting business.
When I reflect back on my career, it had the key elements of the ascribed career path from GCSEs to university, but what I didn’t know was that so much of what we do outside of that path plays such a key role in our forward momentum. I am thankful that my parents were so supportive in both these interests inside and outside of school.
This made me realize that a career is really a series of fortuitous events glued together and the more events you can introduce, the more opportunities can manifest. If my brother had not introduced me to Linux, I would have never have started participating in open source, and would have never been at the conference where I met the editors. This means I would have never have written the article about OpenAdvantage, and never led to meeting Paul Cooper and taking the role there.
When I shared this story to the kids at the career day, I summarized much of this hindsight as five key patterns that I wish I had known about at their age.
1. Do what you love
It may seem obvious, but our motivation is fueled by what we love. If we focus on building a career out of the things that interest and motivate us, we can chart an ultimately fulfilling and happy life.
For example, I have always loved working with people, writing, and speaking. I love technology and how it can enable people to work together. I am passionate about the power of communities and figuring out the blueprint for how we build and sustain them.
Now, figuring out what you love is easier said than done when you are 16. Take some time to really think about what you enjoy, what motivates you, and what you look forward to doing. While your career will never be a total bed of roses, if you can wire it up to focus on the things you love, you will be much more fulfilled in your work.
2. Always push yourself, and find room to grow and improve
I think one of the challenges so many young people face is that they assess their capabilities on a binary scale: either I am good or bad at that skill or activity. Life doesn’t really work that way: our capabilities are more a sliding scale, and when we learn, practice, and evolve, the scale slides in the right direction.
This happens with everything. Whether you are learning how to code, play the guitar, how to collaborate in teams, be a manager, manage your finances, get fit, or anything else. When we see every new activity as a sliding scale where we start near the bottom and gradually push ourselves further and further up the scale as we practice, it gives us a sense of confidence and accomplish. To do this we need to know that the journey starts at the beginning and progress as we invest more time and practice into it.
Fitness instructors like to get their students into a state of feeling “comfortably uncomfortable”. Being on the edge of what you can accomplish and what is new and different is where this growth tends to happen. Always be proud of your accomplishments while also seeing how much further you can go.
3. Don’t get beaten down by yourself or others
It is easy to dwell on our failures. We all get it wrong sometimes. What’s more, elements such as Imposter Syndrome (see my article about it and how to manage it) can further exacerbate our self-criticism.
Take it easy on yourself. We are all eternal students and it doesn’t matter whether you have been in your career for 50 minutes or 50 years, we are all learning. Similarly, you see all those CEOs, COOs, CTOs, VPs, Founders, Presidents, and Board Members? They are all still learning and self-conscious about their performance too.
See every day as an opportunity for learning and growth, and an opportunity for an objective view of your progress. Acknowledge your capabilities and flaws, and then explore ways to keep growing. Letting yourself or others get your down doesn’t help anyone.
4. Your life is dictated by your vision of the future
When you are younger there are a lot of questions about, “What do you want to be?”
Sometimes it can be difficult to see a vision of your future while also figuring out what is realistically possible. You can probably easily see a vision of a restaurant waiter, but what about an actor, a founder, a professional musician, or a writer? Those can often seem like much further away realities.
Here’s my take: go big or go home. If you shoot for the moon and don’t quite make it, you will (a) get further than you thought you would, and (b) you will stretch yourself and your potential further too. It sounds like a cliche, but dream big, and it will give you the excitement and potential to get there.
5. The world is full of mentors, if you look for them
I learned this too late in life. We are surrounded by people who have enormous expertise and experience and who are often quite happy to share it.
Just look at your friends, families, teachers, and parents. Just look at the huge array of books, YouTube videos, training courses, and articles online. Just look at online communities, forums, and message boards.
There is so much insight out there. If you don’t have the answers to something you can find it quicker and more easily than ever before. Similarly, if you don’t know how to get started or want a gut check on your thinking, there are so many people who can help.
Here’s the key: we need to open our minds to always learning, always striving to grow and evolve, and being comfortable asking questions. When I was younger I didn’t ask enough questions and I think it inhibited my progress. Asking questions isn’t a sign of weakness or incapabilities, it is a sign of growth, and that is awesome.
So, good look on your journey. When I met these young people at the school careers day, I was inspired by their enthusiasm, interest, and questions. It can be a scary time figuring out what your career is going to be, but the good news is that there is enormous opportunity out there.
What guidance would you give to a young person evaluating their career choices? Share your tips in the comments!
When I work with clients, one of the key things they want to understand is how they track community growth and react to the data they are seeing. This can be a complex business: community platforms provide bazillions of metrics. Which ones should you track? Or, should you track them all?
Definitely don’t track everything. That is a fast-track to driving yourself bonkers.
Much to the chagrin of metrics nerds, tracking too many things can be a distraction. A better approach is to decide on a key set of dimensions and track those things effectively. Focus less on the number of graphs and more what you want to learn from the data.
Today I want to recommend what some of these metrics should be. For the purpose of this article, I am using Discourse as an example; they are a platform I commonly I use with clients.
The graphs you will see below are from a client of mine who are running a fairly specialist niche technical community that pre-launched late last year (who gave me permission to anonymously share the graphs). This are early stages for the community, but I think they are making great traction and these these graphs are illustrative of what you might want to measure and how you evaluate the data.
#1. Consolidated Page Views
The first thing you should track is general activity. How many people are coming to your forum, and what kind of traffic are you seeing?
In Discourse, Consolidated Page Views are helpful here. It shows the breakdown between logged in members (dark blue), anonymous non-logged-in users (light blue), and crawlers (red).
Most community members are window shoppers at first. They start browsing a forum (often to find answers to their questions or researching a product before they use it) before ever signing up. Your forum will likely crop up when they search for this information on Google.
As such, you want to track general traffic to the forum (to see how much utility the forum provides more generally), as well as track logged-in users to determine if your contributor base is regularly showing up.
If your general traffic is flatlining, you need to raise better awareness of your community: integrate it into your website, promote it on social media, mention it in content, etc.
In the early stages of a community the most critical thing is to ensure that every member has a great experience. Don’t worry too much about growth: focus on delivering a great community experience. We will discuss this a little later.
It is though important to track sign-ups as they give us a good sense of people coming into the community:
As a general rule, you want to see this at least consistent, but preferably growing. Bear in mind that sign-ups do not exist in a vacuum: people need a reason to sign up, otherwise they will just browse anonymously.
As such, brainstorm how you incentivize people to join. How are you pulling them in? How are you engaging and rewarding them? Try new ways of incentivizing people and track your impact with the above graph: if you see spikes, you know you are doing something right.
While we are on the subject of tracking activity, a useful metric to track how much people are posting. While least critical, it gives us a general sense of the growth (or lack thereof) of discussion:
Just like the stock market, this is a graph that can be spiky depending on a given week or month, so don’t take it too literally.
What you want to look for is a general community growth pattern in discussion. If you have lots of people registering signing-up and logging in (our previous two graphs) but your posts are flatlined, your forum is simply not interesting/engaging enough. If you have a growth in posts and flatlined member sign-ups, it means you have a very engaging forum that no-one knows about or where many people struggle to find a way to participate.
One of the hardest but most critical metrics to track is member “stickiness”. That is, how many of your members are sticking around, participating, and actively engaging. We don’t just want lots of members, we want them having an awesome experience.
The most critical metric here is the Daily Active Users/Monthly Active Users graph:
The formula here is simple: the graph presents a percentage score calculated by the number of members that logged in in the last day divided by the number of members that logged in in the last month. It gives us a good sense of overall repeated engagement and as a general rule, you want to shoot for over 30% stickiness.
As you can see in the above example, we had a bump around initial pre-launch, and then the engagement has flattened and is growing gradually. This is a pretty common pattern.
Our goal is to get this consistently up above 30% (which requires a combination of a diverse range of discussions to pull people in, constant encouragement of member participation, incentivizing and rewarding great contributions, and always adding more and more value for members to justify their time and participation.)
A common tool to get this figure up is rewarding active contributors. Just remember the The Risks Of Over-Rewarding Communities.
#5. Daily Engaged Users
While DAU/MAU is useful, it also fights crime with the the Daily Engaged Users graph, which is the number of members who have liked or posted in the last day:
This gives us a useful community growth curve for general member engagement. For a small early-stage community like this, the above graph is where I want to see it: consistent growth.
This graph is useful for determining the general growth curve for overall engagement. If you see this graph flattening out, it typically means there is not enough value for members (or a nervousness to engage.)
#6. Trust Level Growth
Finally, Discourse has the concept of Trust Levels. This is a powerful way to score members based on their active participation. It provides a great way to see which members are most active and then be able to reach out and engage with them. For example, with many communities I work on, we will work with the higher trust level members to provide mentoring and training.
This is enormously powerful. In this community I am referencing in this post, we have 92 people in Trust Level 0 (which means they haven’t done very much), 92 people in Trust Level 1, and 11 people in Trust Level 2. I am working with the client to start working with those 11 people in Trust Level 2 to engage as much as possible, give them additional opportunities and responsibilities, and make them feel part of the team.
The answers to how we build great communities live in the heads of your members. Identifying these people via trust levels is a great way to build real community and team spirit.
If you found this interesting, you may also want to check out my video on Measuring Community Health and The Importance of Validation and Decay In Community Reputation Metrics.
Of course, these graphs are just scratching the surface, but they are a place to get started. What other metrics do you track? What am I missing out here? Let me know in the comments….
On Tuesday last week I drove down to Half Moon Bay with Jeremy and Ilan for the Open Source Leadership Summit. I always enjoy this event: it is smaller and more focused than the bigger conferences, which helps facilitate some great discussion. Angela’s team at the Linux Foundation do a fabulous job running it.
As those of you who follow me on social media may have picked up, I was knocked down by some kind of weaponized fully-automatic navy-strength flu. I spent the entire event holed up in my room feeling thoroughly sorry for myself and living off room service. Over a week later, I am finally about to shake it. I am not quite sure how this happened, but I blame Stuart while he was at SCALE: he must be patient zero.
Anyway, before this all kicked in, I sat in the CommunityBridge announcement by Jim Zemlin after lunch on the Tuesday. I wanted to sketch some thoughts about CommunityBridge, what it is, and what I think of it but because of the flu-related downtime, I have been delayed in writing up some thoughts.
Now, a caveat: I have a close relationship with the Linux Foundation. They are a client of mine, and I consider Jim a good friend. As is always the case though, I formulate my own opinions, and my opinions here are my own and not that of the Linux Foundation.
For those who didn’t see the news, the Linux Foundation announced a new platform called CommunityBridge. In a nutshell, this is a platform that provides a set of services designed to serve open source projects and developers. The first set of services announced include:
- Funding – provides a place where people can donate to projects, and policies can be defined about how the money is used. For example, what proportion of donations can go to hardware, events, travel, etc.
- Security – provides an overview of vulnerabilities that relate to a project, links directly with the CVE database, and is able to identify vulnerabilities across the dependency chain.
- People – provides a dashboard to connect together mentors and mentees to streamline how mentoring initiatives are structured and run.
The Linux Foundation just took the wraps off this, so it is early days, but they are eager for people to start using it and provide feedback. They have also been providing donations matching to help build up the available funds in the platform.
For a number of years now, I have been talking about how code is one artifact of a strong community. Successful communities don’t just forge great code: they are able to build healthy teams with workflow and tools that are simple and tightly integrated.
As one such example, GitHub have over 96 million repositories that serve over 31 million developers. The most successful projects that live in GitHub integrate their engineering workflow (such as issue management and pull requests) with a raft of other elements, including but not limited to:
- Open communication, code, build services, and planning.
- Efficient code review and release management.
- Simple onboarding to get new developers from piqued interest to pull request in next to no time.
- Designing security policy, managing bugs, and maintaining security across binary distributions and dependencies.
- Regular meetings to review plans, discuss architectural decisions, resolve problems, and more.
- Soliciting donations and managing how that money is distributed, as well as the tax paperwork that is associated with it.
- Measuring contributions to the project and optimizing and improving developer workflow based on this data.
- Effective incentives and rewards for great work contributed in the community.
- Building growth and participation to keep the community growing.
- Building awareness of the project via a website, social media, campaigns, and more.
- Providing support to users, managing feature requests, and setting expectations.
- Speaking at conferences and events, building out a network, and opening up new opportunities for the project.
These are an amalgamation of workflow, policy, engagement, and growth. The problem is that weaving together this diverse range of ingredients in a successful open source project requires having people with the skills and experience to put them in place. Sadly, there are relatively few people who actually have this experience.
This puts notable pressure on the sustainability of open source. To keep open source growing, we need to be able to systematize and integrate these components into platforms more efficiently while also continuing to grow skills and expertise in these areas.
The platform piece is critical. We should have platforms that tell us what are the most effective dimensions for tracking projects, and have those metrics integrated. We should have platforms that represent an optimal fundraising workflow, and connect together donors and projects who use the money. We should have platforms that help people book and coordinate meetings, track meeting notes, and more.
From what I can tell, this is the sandbox in which CommunityBridge is playing: to provide a simple and extensible set of tools that help to fill in these gaps for a broader range of open source projects.
There is enormous potential if the Linux Foundation get this right. Sourceforge had a transformative impact on open source by making free, simple, and ubiquitous tools available to developers. GitHub took this to a radical new level. CommunityBridge has the potential to augment tools such as GitHub in a way that layers on functionality needed for these projects to be successful.
I also think the Linux Foundation is a good home for this work. They have quite a heritage in forging an ecosystem that invests in open source, bringing in many companies who historically would have been reluctant to throw their resources into the open source hat. We shouldn’t underestimate this accomplishment: open source is culturally alien to many different companies, and the Linux Foundation helped to forge a path forward in which these firms could dip their toes in, safely and securely, and build up their understanding and capabilities of how open source works. Now many of these companies are not just participating, but paying thousands of developers to work on open source and maintaining hundreds of projects.
As such, the Linux Foundation has produced an environment across their projects and events in which independent discussion and development can happen. Is it perfect, no, but nothing is. What I do know is that we wouldn’t be where we are today with open source if the Linux Foundation hadn’t helped facilitate a lot of this.
As such, CommunityBridge seems like an entirely logical next step. The only way we can grow to serve the broader ecosystem is to not just help the big-ticket projects like Kubernetes, but also the long-tail of projects too. A clear, featureful platform will pay dividends here in the broader success of open source.
Now, this isn’t going to be a walk in the park. For CommunityBridge to succeed, it needs to be informed and guided by the broader community. The Linux Foundation can’t possibly have all the answers, none of us do. They are have been open in expressing their receptiveness to feedback, and it is important that projects provide it. This will ensure that CommunityBridge shapes the most critical needs in the open source ecosystem.
Across my career I have met countless people who have struggled with Imposter Syndrome.
For those of you not up on the lingo, Imposter Syndrome is when people feel they are not experienced, qualified, or talented enough to be in the position they are in (such as a new role in a company). Typically the sensation is a feeling of “well, it is only a matter of time until people find out that I suck at this and then I will be out on my ear”. Hence the “Imposter” in Imposter syndrome.
For a long time people far smarter than me thought this to be a condition that primarily affected high-performing women, but since then it has been connected to men, women, trans, and other demographics. It is unsurprisingly a condition that can especially affect those in minorities and people of color.
Here’s the deal: Imposter Syndrome is really common, but a lot of people simply don’t talk about it. Why? Well, it takes a strong person to climb up the ladder in their career and openly show signs of weakness. Many a presentation slide has been peppered with inspirational blatherings of “true leaders share their vulnerabilities”, but few leaders actually have the confidence to do this. I promise you that many of the C-level execs, SVPs and VPs in your company struggle with Imposter Syndrome, particularly those who are new in their positions or first-timers at that level.
Imposter Syndrome is not just common, but it is entirely normal.
Firstly, our brains are hard wired to look for threats in our environment and to actively perform loss prevention. We are also wired to care about status and our social standing in our groups. This milieu of status, social positioning, and risk can generate this unstable “imposter” feeling many people often report.
I sympathize with people who experience Imposter Syndrome because I have experienced myself too.
When I think back to many of the key milestones in my life…my first published piece, my first real job, my first book, my first time as a manager, getting married, having a kid, playing my first shows in my band, starting my business…there was always an element of Imposter Syndrome gift-wrapped within these moments. It took me some time to understand that this was entirely normal and I needed to turn it from a negative into a net positive.
So, how do you kick it?
OK, hold your horses. We need to get two things straight:
- I am not a doctor. If you take medical or psychological advice from me, you need to stop doing that.
- You will never 100% get rid of it. You need to focus on managing it.
Imposter Syndrome is similar to anxiety in many ways. People who experience anxiety often want to figure out a way to completely eradicate that awful feeling from their lives. As many therapists and mindfulness professionals will attest though: you can’t really get rid of it, you just need to change your relationship with it.
I am not an expert here, and I will naturally have a very different relationship to Imposter Syndrome than many underrepresented groups, but here are five ways I have found to be effective in not just me, but many others too.
1. Measure yourself and your performance
The root cause of Imposter Syndrome is usually a feeling. It is typically a sensation of not measuring up as opposed to a concrete data-driven conclusion. Here’s the thing: feelings are noxiously bollocks in terms of reliability.
So, become more data-driven. How would you define success in your career? Is it how much product you sell? Is it engagement on social media and your blog? Is it managing a team well? Is it shipping reliable code? Is it writing great documentation? Define an objective set of metrics for how you define success and get a sanity check on them from friends and colleagues.
Pick five to seven of these metrics and start measuring your work. Don’t set unrealistic goals, but focus on growth and development. Can you keep growing in those areas?
For example, if you are marketer, you may consider traffic growth to a website as a key metric for your profession. Are you generally seeing the trend moving forward? Yes? Great! No? No problem, what new approaches can you explore to move the needle? There are always a wealth of ideas and approaches available online…go and explore and try some new things.
Being great at your job is not just about delivering results, but it is about always learning and growing, and being humble that we are eternal students. Track your progress: it will help to show in black and white that you are growing and developing.
2. Get objective validation from your peers
It is astonishing how poor some managers are at providing validation to their teams. Some people seem to think that their teams should “know” when they are doing a great job or that managers don’t need to provide validation.
I don’t care whether you are the CEO of a Fortune 500 company or Thomas from my local bar: everyone needs to know they are on the right track. We all seek validation from our friends, family, colleagues, associates, and more. Not getting the right level of validation can be a critical source of Imposter Syndrome issues.
I remember I once had a manager who was terrible at providing validation and I had no idea whether he thought I was any good or not.
My colleague (and good friend) said, “don’t go down that dark alleyway, it is pit of self-doubt”. He suggested I raise my concern with our manager, which I did, and he had no idea this was an issue. He did a much better job providing feedback for both great work and areas of improvement, and my concerns were abated significantly.
Talk it through with your manager and colleagues. Tell them you are not needy, but you need to ensure your perception of your work is calibrated with theirs. This is part of getting good at what you do, and good managers need to provide good validation.
3. Build a team of mentors around you
I remember when I first moved to America, my wife Erica always stunned me. If she wasn’t sure of a given strategic or tactical move in her business, she would call other people in the industry to ask for their input and guidance.
I was amazed. Back then, rather embarrassingly, I almost never asked for advice. It wasn’t that I wasn’t receptive, but I just didn’t think to reach out. It never struck me that this was an option. She helped change that into a healthy habit.
Many of the worlds problems have been figured out by other people. These solutions live in (a) their heads, and (b) the books they write. Why on earth wouldn’t we tap this experience and learn from it?
Mentoring is enormously powerful. It doesn’t just grow our skills, but it is a valuable feedback mechanism for ensuring we are on the right path. Try to find people you know and respect and ask them for a few calls here and there. Don’t just limit yourself to one mentor: build a team that can mentor you in different skills.
I absolutely love mentoring people: it is part of the reason I starting consulting and being an advisor. It is awesome to help shape and watch people grow and affirm their progress as they do it. We all need mentors.
4. Set yourself some more realistic expectations
Many of you reading this will be really driven about being successful in your career and doing a good job. This is admirable, but there is a risk: becoming a ludicrously unrealistic perfectionist. This is a sure-fire way to get a dose of heartburn.
Life isn’t perfect. You are going to screw up. You are going to make mistakes. You are going to develop new ideas you wish you had years back. You are going to use approaches and methods that are a distraction or don’t work.
This is normal. You weren’t born perfect at what you do. No-one was. Every one of us is learning and growing, but as I said earlier, many people simply don’t talk about it. There is not a single person, even well known hot shots such as Elon Musk, Sheryl Sandberg, George Clooney, and Neil Degrasse Tyson, who hasn’t made significant errors of judgement or mistakes over the course of their career. Why should you be any different?
Take a step back and re-evaluate your position. Do you think your colleagues are really expecting perfection from you? Do you think they are expecting you to be rock solid at your job all the time? Do they have the same expectations for themselves? Probably not.
We should focus on always growing and evolving, but on a foundation that we are all imperfect human beings.
5. Don’t take yourself so seriously
This is for me personally, the most critical of these suggestions, but again something we all struggle with.
I don’t believe life should be one-dimensional. I absolutely love my job, but I love being a dad and husband. I love playing music and going to gigs. I love going for a few beers with my buddies at my local. I love laughing at stand-up comedy, movies, and TV shows.
I get enormous enjoyment from my career, but it is one component in my life, not the only one. Are some people going to think I am imperfect? Sure, that’s fine. I am imperfect.
I am fairly convinced a big chunk of figuring out the right balance in life is knowing when to give a shit or not to. Focus on doing great work, building great relationships, and being an honorable and civil person: those are the most important things. Don’t focus on a 100% success rate in everything in your career: it not only isn’t possible, but it will take important mental energy from other elements of your life too.
Well, I hope some of this was useful. If you thought this was interesting, you may also want to check out 10 Avoidable Career Mistakes (and How to Conquer Them) and my Remote Working Survival Guide.
I wanted to drop a quick note to you all that I have written a new Forbes article called Six Hallmarks of Successful Crowdfunding Campaigns.
From the piece:
While the newness of crowdfunding may have worn off, this popular way to raise funds has continued to spark interest, especially to entrepreneurs and startups. For some, it is a panacea; a way to raise funds quickly and easily, with an extra dose of marketing and awareness thrown in. Sadly, the reality of what is needed to make a crowdfunding campaign a success is often missing in all the excitement.
I have some experience with crowdfunding in a few different campaigns. Back in 2013 I helped shape one of the largest crowdfunding campaigns at the time, the Ubuntu Edge, which had a $32million goal and ended up raising $12,814,216. While it didn’t hit the mark, the campaign set records for the funds raised. My second campaign was for the Global Learning XPRIZE, which had a $500,000 goal and we raised $942,223. Finally, I helped advise ZBiotics with their $25,000 campaign, and they raised $52,732.
Today I want to share some lessons learned along the way with each of these campaigns. Here are six considerations you should weave into your crowdfunding strategy…
In it I cover these six key principles:
- Your campaign is a cycle: plan it out
- Your pitch needs to be short, sharp, and clear on the value
- Focus on perks people want (and try to limit shipping)
- Testimonials and validation builds confidence
- Content is king (and marketing is queen)
- Incentivize your audience to help
You can read the piece by clicking here.
You may also want to see some of my other articles that relate to the different elements of doing crowdfunding well:
- Social Media: 10 Ways To Not Screw It Up
- Don’t Use Bots to Engage With People on Social Media
- Video: ‘Smart Incentives’ Keynote Available
- The Risks of Unsolicited and Automated Engagement
- Video: Effective Project Management (Without Sucking)
Good luck with your crowdfunding initiatives and let me know how you get on!
OK, folks, little personal post here. If you are not interested in gin, or are not old enough to drink it, you can safely ignore this.
I am an enormous gin fan. I love it. Yes, I know it divides people and many of you can’t stand the stuff, but hey, our differences make the world go around, right?
Well, I have set myself a fun little challenge. I want to try a gin from EVERY country in the world.
Now, I know what you are thinking. Some countries probably don’t produce gin. Well, I am not sure how much I believe you: if there is water, juniper, and a bowl, someone somewhere is producing gin. I am going to find it.
I will be tracking this on the Bacon Gin Map. I won’t add anything to the map unless I have a picture of the bottle, so many gins I have tried are not on there yet due to this picture requirement. I will also add short reviews or comments (again, some of the gins I have already tried that are there will get their reviews updated when I can try them again.)
I have my bar at home, and if you want to contribute a new bottle to the collection, I will snap a photo of us with it and add it to the map with a credit to you. Yes, this is a shameful attempt to solicit bottles of gin from you all.
Know of a gin from a country I have not covered yet? Great! Let me know in the comments below, or use the hashtag #baconginmap on Twitter.
I will be updating the map regularly. So, for you gin aficionados, feel free to check out the map if you want to try a gin from somewhere a little different.