Jono Bacon is a writer and software engineer, originally from the United Kingdom, but now based in California. He works as the GitHub Director of Community Development and Growth and authored The Art of Community by O'Reilly.
• Dan Harmon (Dan Harmon is an American writer and producer. Harmon is best known for creating and producing NB...)
• Suki Kim (Suki Kim is a Korean American writer, a Guggenheim fellow and the author of the award-winning nov...)
• Gary Shteyngart (Gary Shteyngart is an American writer born in Leningrad, USSR. Much of his work is satirical.)» All Writer Interviews
Excited to be back for another AMA!
For you lucky souls not familiar with my work, I have spent my career working to understand how we can build the most productive, engaging, and collaborative communities. I used to be director of community at Canonical (leading the Ubuntu community team), GitHub, and XPRIZE. Now I run my own consultancy practice (http://www.jonobacon.org/consulting) and clients include Hacker One, data.world, Sony Mobile, Deutsche Bank, OpenIO, Open Compute Project, Open Networking Foundation, and others.
I wrote The Art of Community (O'Reilly) and founded the Community Leadership Summit, which has been running for over 7 years. I am also an advisor to various organizations, including AlienVault, Open Cloud Consortium, Mycroft AI, Mod Duo. I am a fairly active writer, writing columns for Forbes, opensource.com, and my blog at jonobacon.org, and I have been involved in various open source projects including GNOME, KDE, Jokosher, Lernid, and others.
I also co-founded the LugRadio, Bad Voltage, and Shot Of Jaq podcasts, and I have been playing music for years in various bands (e.g. Seraphidian, Severed Fifth, and Solo), and have released everything under Creative Commons licenses.
Feel free to ask me anything you like - community management, open source, places I have worked, projects I have been involved in, politics, music...all questions welcome!
My Proof: http://www.jonobacon.org/2016/08/17/join-reddit-ama-30th-august-2016-9am-pacific/
NOTE: Ignore the HACKERONE flair - that was from an AMA we did last week. :-)
Can I entice you to give a personal comparison of working under Mark Shuttleworth, Peter Diamandis, Chris Wanstrath, and Mårten Mickos?
What a great question!
Interestingly, they are all very different, but have very similar traits. Now to be fair, I have worked with each in varying levels (the most with Mark Shuttleworth, then with Peter Diamandis, then Mårten Mickos, and then Chris Wanstrath).
A few observations:
Mark - always had a great time working with Mark. When I joined Canonical it was a rather different beast, and Mark was a bit different too. He has always been hugely passionate, with a glint of mischief, but he was a little looser back then. Today the stakes are higher and I think he has upped his game strategically and particularly on the business side. As a boss, he was fun to work with and we always had a mutual respect for each other.
Peter - he is an enigma. I have not met many Peter's in the world. He is a really nice guy, doggedly devoted to his cause, and loves connecting people together. When I worked with him he wasn't around as much as Mark as he is so plugged into so many things. Peter was also less involved in the tactical pieces - he set bigger strategic goals, but then left the team to focus on tactics. Mark, for example, was also very interested in the technical/governance delivery.
Mårten - I have an endless amount of respect for Mårten. He is as close to the ideal CEO as I could describe. Very focused on delivery, but has a remarkable way of working with people - he is warm, engaging, and always creative. It has been a pleasure to work with him.
Chris - to be honest, when I was at GitHub I had very little 1-on-1 time with Chris. I saw most of his work from his broader broadcasts within the company. He seems like a great guy but in a tough position - few people in the world make something that turns into the GitHub phenomenon, and I think he is trying to adapt and lead this big ship. I have massive respect for how challenging this must be.
You know open source hackers and the open source communities inside out. Now you are getting to know white hat hackers and the security communities. What similarities and differences are you observing?
Working with HackerOne has been a blast, and it has been wonderful to learn more about security and white hat hackers.
I see a lot of commonalities between the earlier days of open source. Back in the earlier days the challenge was not just about building technology that could solve problems and bring value, but it was also about convincing the world that this weird new open source methodology makes sense.
"So let me get this right, a bunch of random people on the Internet make the software you want me to run in my data center?"
People though a lot of open source people were nuts.
I think the same is happening with security. This hollywood stereotype of hoodie-clad hackers breaking into your bank is something of an illusion. There are thousands of hackers around the world who care about security, making the Internet safer, and doing interesting and rewarding work. This isn't all that different from those early days of open source.
The other aspect here is that this is the only really scalable solution. Open source has thrived because projects can define clear levels of acceptable contribution and scale among those levels. I think the same thing applies to security - harnessing a community of hackers is always going to scale better than a small security team.
More personally, the more I get to know hackers I also see similarities to open source too. These people are warm, smart, curious and fun to be around.
What's one lesson that fledgling online communities can learn from the open source community? Anything that community managers should try to encourage or avoid?
Awesome questions, lovely_strangeness!
A few recommendations I would make:
Understand your audience - you need to understand how they think, what they want, how they work, their insecurities, and how they consume. This helps you to build systems that work well for them.
Make everything hackable - at the core of what makes open source tick is that people can hack. Make things easier to hack on - simplify the toolchain set up, testing infrastructure, encourage people to hack on their tools, and more. This is how you solicit practical contributions.
Make code review simple and efficient - the most critical piece in open source projects is code review. You want to refine this so it is quick, easy, and rewarding. Avoid situations where people submit PRs that around for days, or reviewers who are grumpy bastards that demotivate the submitter. Interview your newest devs to find the pain points and then resolve them.
Build personal relationships - the most rewarding communities feel personal. Get a forum and Slack/IRC set up and start building relationships. Get to know people, send them personal thanks emails when they do great work, ask for their guidance/tutelage
Finally, always be open to learning and refining. Build a culture where everyone can refine and improve the community - the finest wisdom for making a great community will come from your community contributors in the form of raw material - you want to be able to refine that raw materials into practical improvements.
Let me know if I can ever help!
What's the main challenge you face when building community for an Open Source project? How do you overcome conflicts and disputes between community members?
I think there is boundless potential when building communities, but there are always challenges. I would characterize the following as the main challenges:
Authentic Workflow - some projects struggle to mentally put themselves in the position as their audience and build on-ramps, cyclical workflow, and infrastructure that matches the experience and norms of this audience. As such, you then get over-complicated processes, tools, and workflow.
Incentive Paths - as humans we can be incentivized with intrinsic/extrinsic rewards. The best communities create a delicate journey of interconnected rewards and getting this right is tough.
Community/Company Relations - when there is a commercial stakeholder involved, there is always a delicate balance to be found. At the core of great communities is openness and transparency, but these are fundamentally ideals. The implementation of them various hugely and getting that right requires some delicate coordination with different teams in an organization.
In terms of conflict and disputes, this varies dependent on the scenario. Fundamentally, there are always agendas and history behind conflict. My goal as a mediator is to (a) build trust with each party, no matter what my personal view is, (b) gather the facts and decode the driving forces, (c) propose outcomes that both parties can see themselves in, and (d) foster an on-going dialog to keep the peace.
What do you miss most/least about working at Canonical?
I miss a few things.
Firstly, and I know it sounds cheesy, the people. I loved working with pretty much everyone there - my incredible team, the engineering management team, the senior leaders, the other different groups.
There is also a pretty unique Canonical vibe. Many of the people I worked with went through some challenging times (Unity, etc), and I think challenging moments builds family. So, we ended up becoming a really close knit group.
Even though I left a while back I am still very closely in touch with a number of Canonical employees - some relationships just become lifers.
I also miss the mission. Some of the greatest memories I have are from the potential to build a mainstream open source OS and platform. That was such a thrill, and in my position as community manager I felt the weight of the responsibility but also the thrill of the potential. That was something so unique to the time and era.
As for what I miss least, there isn't much. Sometimes I felt ideas and potential would not be pushed far enough into the market before moving onto the next new thing. This though, is something that dogs many startups, so nothing new there.
I have nothing but fond memories of Canonical.
What are the best ways of increasing GitHub repo stars?
I think the main way is to simply build awesome projects that people really like using. This is not just about writing great code (that is obviously important!), but also ensuring to present a genuine community. A few tips:
Be sure to set up your README.md and CONTRIBUTING.md and make it clear how people can setup their toolchain, develop skills to participate, find something to work on, get help, and feel good about contributions.
Have a clear issues list and tag some bugs as 'bitesize' - these should be easy bugs you can point new devs to.
Set up a GitHub Pages site with news and updates about the project.
Actively grow the community, help people get up and running, solve problems, and constantly thank people for their great work.
Finally, I wouldn't read to much into stars...they are basically Internet points. ;-) Focus more on participation - that is the real metric for success.
Apart from the Art of Community, what books and articles would you say are essential reading for a community manager? What are you reading now?
I haven't found many books that have played a direct role in my community management work, but I have found many books that influence lower level pieces of the work, and particularly in taking an opinionated, directed approach to my work. These include:
As for articles, I love stuff on opensource.com. My primary approach is to follow interesting people on Twitter and read what they post too. :-)
Whats it like having to talk to Bryan Lunduke all most every week for bad voltage?
Bryan is a special snowflake. :-)
I always enjoy spending time with him. He is a funny, smart, and creative guy. He is absolutely wrong about most things, but don't let that detract from the good bits.
I miss shot of jaq, I tried to watch Bad Voltage but it's just too long. Would you ever think about returning to the format, or doing a highlight reel or something for BV? It just is hard to hold the concentration for that long. It was a bloody shame when shot of jaq ended, I never really replaced it for just random content.
Yeah, Shot Of Jaq was a fun experiment. At the time we couldn't sustain the twice a week schedule, and I think it would be even harder now Stuart and I run our own businesses.
I agree that BV is too long and we have been exploring ways to trim it down. I think doing a SOJ style episode from time to time on BV could be fun - I will share with the team.
During your career, you've had a fair number of controversy and crises's which exploded under your feet when people have done things and people have been upset.
What approach did you take to try and resolve these smoothly? Did you try to get senior decision makers to communicate in a way that resolve things? Did you try and do it for them?
p.s. Many thanks for all the shouts to /u/bytemark in your book, and on a personal note, for being somewhat of a role model for me for sometime.
Yeah, there have been some...fun...times over the years. ;-)
I am a big fan of stoic philosophy, and I think this played a helpful role in me learning how to manage these situations. Some controversies were easier to manage (the storm in the teacup variety), and some were much more complicated, either due to the level of fighting, personal attacks, or in particular....when I felt torn between both sides of the debate.
This was a huge learning lesson for me. As part of the stoic philosophy, it is important to see learning lessons in obstacles, and I tried to turn every negative situation into something I could learn and grow from.
My approach here was to always remind myself of a few things. Firstly, controversies were almost always about setting expectations and openness - this was something within my control. Secondly, there was always an immediate shelf-life for controversy - this was a helpful coping mechanism when everyone was yelling at me invariably because of a decision someone else made. Thirdly, I always reminded myself that people are people and shitstorms often happen because people care. I always tried to remind myself that frustration is an involuntary response for most people so I should always treat it as a phenomenon but not have it define the person - otherwise I would judge everyone on their frustration and burn out.
A large chunk of my work here was personal conversations and discussions. I remember when I was at Canonical many evenings on phone calls at 2am, 4am, 8am to talk with community members around the world and start building bridges to reduce the conflict and issues. I was not always successful, but I gave it my best shot, and I learned a bunch.
A good mutual friend of ours, and fellow community organizer talks about not just building and organizing user groups but rather building communities. He may even give you credit for the original notion. ;) In your opinion, what are the main differences? Or rather, what approach do you take to build a "community" (out of an existing user group)?
You touch on an important point - there is a big difference (at least in my mind) between a community, a user group, and a userbase.
Communities are formed from clear social groups, teams, and relationships, and clearly defined contribution mechanisms and rewards structures.
User groups are like communities, but invariably in the moment. They last for an evening and few groups have significant community engagement outside meetings.
A userbase is a big collection of people who share the usage of a platform but don't necessarily have the relationships, communication, contributor mechanisms, and rewards in a community.
The way in which we build each of these is very different. I think building communities is the most intensive piece because the primary goal should be significant and sustained contributions. User groups are easier because they are anchored around meetings. A user base is the easiest as it is about finding users, and not necessarily about glueing those users together in a community.
I enjoyed your book about dealing with conflict. how would you recommend dealing with a CTO boss who is a megalomaniac narcissist (nobody you know) ?
This is always tough, and it is going to require some patience on your part. Firstly - never lose your temper. Go home, crack open a beer, and vent, but never lose your temper to them.
The first step is building trust. You want your boss to know you are a trusted member of his/her team. This is not just about doing great work, being responsive and responsible, etc, but also building a social rapport. Find some time to grab lunch/dinner, have a few drinks etc.
When you have built this trust you can then have a conversation about the narcissism and the megalomania. This is the only way I have found to tend to this in a way that can deliver results.
In the short-term, your influence will be directly related to how much respect and dependency your boss has with you. If you are always doing great work, you can push back gently on things or question decisions before you get to that meeting where you are open about the narcissism and megalomania.
So much of this is about tone. Always be calm, professional, and constructive, even in short-term pushbacks. Most people respect that and it will build the trust that leads to these deeper conversations.
question: "...working under..."
answer: "...worked with..."
Is there a difference? They were all my bosses. :-)
Happy to clarify if you feel I didn't answer the question.
Just wanted to chime in after seeing this on Twitter. I'm a big fan of a lot of your work, from The Art of Community to Bad Voltage.
I'm also from Wolverhampton, having also graduated from University there too (this year, literally a month ago) and it's nice to see how much you've achieved and it's very inspiring, especially with the lack of many relevant role models from the area.
A friend and I are currently working ridiculous hours trying to get our tiny startup off the ground in Birmingham, whilst also getting involved in any scraps of local tech community and having bumped into Stuart (sil) a few times too.
Keep up the good work.
University got a bit bleak in the final year, so seeing what you'd achieved definitely helped pull me through.
For the question: When's the christmas album coming out?
Thanks, gregjw, for the kind words!
Great to see another Wolverhamptonite here.
It can be tough with a lack of role models, and this is why I looked online initially and then build a local community (the Wolves Linux User Group). There are lots of other people nearby, you invariably just have to figure out how to get them together.
Good luck with the startup - Stuart knows a bunch of people in Brum who can help, I am sure. Always let me know if I can help!
As for a christmas album, ironically, I have written a full album of acoustic music somewhat accidentally (I play the guitar to our toddler when he is in the bath), and I scheduling some time to record. Doubt it will be out for Christmas though, sadly!
Thanks for doing this. If you had the ability to fund your own personal XPRIZE idea, what would it be and why?
Great question, phd_dude!
From a human impact perspective, I would love to see an alzheimer's focused prize.
If I could wave a magic want though and lead XPRIZE for a few years I would focus the organization more on kids and teenagers. I would come up with ways to incentivize kids who are interested in legos, minecraft, and the maker movement to solve problems.
> Without being allowed to choose any books you've written yourself, which book(s) and/or resources would you recommend to any budding community managers?
my question is along the same lines:
Without being allowed to choose any books you've written yourself, which book(s) and/or resources would you recommend to any budding community managers?
My major recommendation would be to find a great mentor. Every day I learn so much from different people by putting myself in a position to learn from others.
For example, I had a call yesterday with Anna, who is one of the organizers of the Abstractions conference I was at a few weeks ago. We discussed some of her work in open source and I learned so much in that 30 minutes.
I think mastering anything (not that I am a master!) is about always challenging your assumptions and perspectives and being open to being wrong. This is how we learn and grow, and the best way to do this is to get to know people, learn from them, and explore how their work impacts or refines your own mental models.
How did you begin programming, and with what language? How long after that were you hired by Canonical?
I started programming as a kid in BASIC and was really never good. I went to nightschool when I was 14 to learn C.
I then learned Python, which I love. I am still not a great developer - I code occasionally, but rarely have the time for it.
I primarily learned to program by just writing programs I would like to see. As an example, at Canonical we used to run tutorial sessions on IRC and I wanted a richer environment, so I wrote Lernid which adding a bunch of features on IRC (such as simple connectivity, triggering slides, taking questions etc).
Just come up with an idea and then try to hack it together.
In terms of timelines, I had started writing some code about 7 years before I joined Canonical.
Is 2016 the year of the Linux Desktop?
LOL. I certainly hope so!
I still think the desktop has so much promise, but I worry that the challenge is steeper than before, not because the desktop is less good, but because everyone is moving to mobile so the desktop is less relevant. Sadly, there are few open source mobile options that have the weight to compete in the market.
LOL - I had not seen that web page. :-)
Who has been your favorite boss over the years and why is it yourself? Also, hope you are doing well!
Being your own boss is fun, although it still means your boss can be a pain. ;-)
My fave boss over the years was Rick Spencer, who now works at my wife's company, Bitnami.
no sry, your fine. I am super into little tells like this, and couldn't keep my fingers from pointing it out, no self control...
if your interested though it is likely not as simple as "your ego made you do it", likely it was subconsciously wanting to establish subtle respect ques. this doesn't mean that you felt disrespected by the "working under", just that "working with" allows your subconscious to establish a more 'respectable' pov.
edit: fyi: I'm no stranger to business structure and understand good and well that the best ideas don't usually come straight from the top, but it is the responsibility of the 'boss' to make sure those good ideas get to thrive in their org.
although the fact that you responded to my comment with anything other than "oh, sry my bad, I didn't catch that" is a bit more telling. instead you asserted that "they were all my bosses" seems to be a bit of power hunger laced into it...
and the difference is obvious, one denotes that you were a subject and the other denotes you as a peer. choosing to respond as peer instead of subject has easily implied meaning.
I think you might be a reading a little too much into my furious typing. ;-)
...or am I?
lol, just messin'; thanks for playing along, and thanks for the ama. I find the things you do to be very interesting!
At canonical, one of the thorns in your side must have been the fundamentalist free softwarists, who naysayed whilst you were trying to reach out to the wider community.
Does every community have a group like that who are slightly influential and very vocal but don't fit your growth profile, if so - how have you engaged with them in other communities?
Every community has a wide variety of different perspectives. At Canonical there were definitely people who were naysayers.
This is a good thing. We absolutely need people to disagree and be critical of decisions and direction. My view was pretty much always consistent: criticism is good, so long as it is constructive. What I don't like is moaning - moaning is a distraction.
What is important is to separate out those who have different perspectives from the moaners.
For example, RMS and I have our differences in perspectives, but I respect him for his position, and I support his work wholeheartedly. Just because I disagree with many of his views doesn't mean his work is not important. Some other people though, they just like to moan, and they are a pain to deal with.
Every community has this in some shape or form. The problem is that people with constructive criticism are sometimes lumped into the same bucket as the moaners - this is a terrible mistake. At every company I have worked at I have had to take a position at times defending our biggest critics, which is hard to grok for some folks less familiar with community.
Can you mention some great community managers?
A few people I respect:
...and many more. :-)
Hi Jono! Lauren here. How is community building changing and what does the future look like? Specifically, as people are dedicating more and more time to technology, does this make it easier or harder given all of the noise and competing digital priorities?
Great to see you here. :-) For those of you don't know Lauren, she does PR at HackerOne and is one of the best in the business. :-)
A friend of mine, Randall Ross, often talks about how humans have a limited amount of attention in the universe and by definition we are fighting for that attention. This is increasingly a challenge, particularly with how digital our lives are now.
What I love about community development is that the principles are hundreds of thousands of years old. We are animals, we are social creatures, we all want our lives to have meaning, and we want to live dignified lives where that meaning is executed upon.
What is changing are the methods, types, and themes in which people feel that meaning. When I started out open source was so new and such a core ways of doing that for technical folks, but now we have Wikipedia, Pokemon GO, No Man's Sky, and other outlets.
Speaking personally, what I am trying to evolve is getting people to think bigger about what community is. So many community managers only focus on outreach and social media, but I see it is as a truly end-to-end experience from inbound interest to on-ramps, workflow, engagement, incentive models, rewards, events, governance, and more.
The diversification of types of community is now resulting in the diversification of how we build communities, and this makes it a more fun time than ever to widen the picture as I just mentioned.
Philosophical question: Do you think the internet is changing the nature of what a community is? And if so, how, and is this a good thing?
I think it is, in a good way.
An important piece in helping communities to thrive is ensuring that people have access. Part of the reason why open source was so impactful is that people all over the world could access and deliver value in a shared community.
Now more and more people have access and the diversity of the tools and facilities is so much better. In the earlier days we had simple revision control, mailing lists, and IRC. Now we have video chat, collaborative editors, event management tools, rich real-time chat tools, and more.
So, the combination of better access, better tools, and a wider acknowledgement that regular people can have an impact is gearing up for a real golden age of community and collaboration - the future is going to be a pretty incredible place. :-)
Yo, Bacon! I know you community. But do you community?
I do indeed. :-)
A wise man once said, "Fight tall, fight proud. Sweat pours in the crowd now." What are your personal feelings on sweat pouring into the crowd?
Erm...not quite sure what that means. :-)
Hey Jono! Been a while; how's it going?
How's the GitHub suite at AT&T Park?
Any Salt Lake City recs?
I am not sure if GitHub still has the suite at AT&T Park. I never got a chance to go while I was there.
As for Salt City, a lot of folks at GitHub work remote, so I am sure there could be decent opportunities. :-)
> The Obstacle Is The Way
Just ordered the Obstacle Is The Way. Thanks.
Do you know the Five Dysfunctions of a Team? I've found that to be really useful for open-source teams.
I have not seen that. Will check it out!
On your Blog your mentioned the recent Controversy about a talk at the LinuxCon about the GPL and different views of it (Linus, Greg vs FSF, SFC).
Can you say what is your view on the ZFS issue in ubuntu shipping the prebuild module now?
Especially if one should or should not ship a technical Innovation if the legal state on the license is seen differently by many parties.
And to some degree it looks like its not about legal issues but about scratched egos by some prominent core developers. Do you think the linux/open source community is limiting itself due to fighting too much against each other instead of working together?
To be honest, I haven't really looked into this Canonical and ZFS issue very much. I don't feel particularly equipped to offer an opinion.
So, I will default to an entirely unfilling backup answer. :-)
My view is that organizations should always respect the license that software comes under, and that includes any and all open source source licenses.
Of course, there will always be different legal interpretations of licenses so I would recommend in these cases an organization solicits multiple opinions and then makes the most appropriate decision based on those choices.
As for the infighting part of your question, I do think this happens to much. I think sometimes we can be our own worst enemy. To be fair though, this is common in all communities - it is human nature.
As I wrote about in my blog post (http://www.jonobacon.org/2016/08/29/linux-linus-bradley-open-source-protection/ for those who haven't seen it) this is typically because we draw our ethics and pragmatism in different areas. I think we just need to have more empathy with people we disagree with.
Where did this all start for you? As in, where did your career in this start?
I had a bit of a weird journey.
When I was at school I was never very good. In my GCSEs I mainly got Cs. In my A Levels I got two Ds, an E, and an N (almost as bad as spelling your name wrong on your exam paper). I just didn't care about school that much because music was dominating my life (I had just joined a band).
My grades were so low that I basically had to talk my way into University. I got in and studied Interactive Multimedia (this is when CDROMs were a big deal).
Just before I went to university I got into Linux. My brother come home for a few weeks and installed Slackware on my computer. He wrote the login details on a post-it and then left. I had to figure it out. Bastard. :-)
I had bought a book about Linux and the first chapter talked about communities. I was absolutely captivated. The tech was cool, but this collaborative community all over the world kept me up at night thinking about it. I couldn't stop thinking of the potential.
So, I joined the community and I built a little UK website called Linux UK. Then, at a conference in London exhibiting the KDE project I ended up drinking with two guys who launched Linux Format magazine. I convinced them if I could write a piece for them. They said "sure, but if it is shit, won't publish it".
They published it. :-) I then started writing more and more, and widening out to more magazines.
Then, as university finished, everyone was scrambling for a job and I just decided to write more articles. I did this for a few years.
I then wrote an article about a local organization, OpenAdvantage, who were government funded and training people in open source. They read it and offered me a job. I took it and spent 2 years there. This is where I cut my teeth on community, working with businesses, and traveling.
This was a government funded project and the funding was coming to an end. I had met Mark Shuttleworth before (we invited him to a few LugRadio Lives) and I reached out to see there was anything at Canonical for me. He said "well, we have this Ubuntu Community Manager role, but I am not sure if it is for you". Fortunately I got it.
The rest is history. :-)
You have a gun and 1 bullet
RMS or AQ ?
Do you rid the world of a soleless ginger or an utter gob shite
Christ, this might be the most brutal question I have ever seen. :-)
If I was forced to make a decision, Aq would survive. I couldn't bring myself to shooting my best friend of 16 years.
What's your favorite song to karaoke?
Hah! Whiskey In The Jaaaaaaaaaaro! :-)
I have pretty similar story, except I'm still trying to get better at C/C++ as a HS sophomore! What would you recommend to someone my age with only experience from age 11-15?
I would recommend you keep learning and then join an open source project you care about. This way you will not only learn programming more, but also code review, working in teams, and more - these are invaluable skills.
Of course, this can be a bit nerve-wracking...but just do it...fortune favors the brave!
What does a day in the life of Jono Bacon look like?
Pretty hectic, most days. :-)
Most days I am typically retained by a client. Each week is a real mix - sometimes a client will have me for multiple days, and some a single day for multiple weeks. The types of companies also vary - security, data, hardware, cloud, robotics, etc.
So, depending on the client, the work I do will vary. This is usually a mixture of meetings, requirements gathering, strategic definition, building tactical plans, training teams, building out infrastructure/content, designing governance/processes, building out incentive models, and other pieces. This also involves a lot of travel - usually out for in-person meetings, speaking at conferences, or advisory board work.
Outside of my client work I get boatloads of email that I need to respond to as well as the usual social media is things.
Then on the side I wrote for Forbes, opensource.com, and my blog, so typically there is a bunch of writing (usually in the evenings). And there is Bad Voltage.