“The work I do as an issue tracker specialist and also as an advocate, means that it is super important for me not only to understand how the release is built, but how it will be worked with too. The learnathons gave me and everyone who came along to pick up the release and work through with things with help, encouragement and ideas from others all on-hand. I could have picked it up and played in my own time but, let’s face it, we learn so much more when we’re working together.”
Emma Burstow, Developer Advocate and Issue Tracker Specialist at Umbraco
“As a Principal Engineer at an Umbraco Gold Partner (Equator), I am really excited to see the evolution of Umbraco into .Net 5 and beyond. Knowing this change of framework would require a bit of ramp up on what has changed in building with Umbraco, what better way to learn than work with HQ & the community to learn together to make the release of v9 as smooth as possible. To be able to contribute to open source by leading conversations about new tech & facilitating collaboration is just as important as traditional open source code contributions, it’s great to get this opportunity in the friendly Umbraco community!”
Carole Logan, Principal Engineer at Equator
What’s a learnathon?
Naming things is hard. This is one of the great truths developers learn early. And when we set down to organise a series of sessions where developers got together to work with the new v9 beta, to learn collaboratively and to make up the curriculum as we went along, depending on our needs as we identified them, the name of the series wasn’t the top of our list. And so the learnathons were born!
We set out to give folks a chance to work for a couple of hours with the new release, to feed back pain points, and to raise issues. Documentation could be generated, real time community feedback could be used for the upcoming iterations, it was a fantastic opportunity for the developers working on the release to collaborate with developers working with the release. We planned quickly and we timed our first session with the release of the first beta and we let people know the sessions would be coming. We were delighted when so many people signed up! That first session had 144 sign-ups from 23 different countries!
What made the learnathons different from your ordinary meetup or hackathon is that the people leading it were not demonstrating their expertise in anything, we hadn’t set out to fix anything either. We simply set out to do some learning in public in the hope that we could achieve our aims as above but also that we would enable others to feel comfortable doing so too.
Learning in public is daunting but when you begin learning in front of a crowd, something magical happens: people’s ideas and input change the shape of your own progress. So as a crowd of 78 people we took the plunge and got stuck in.
What did we do?
That first session was designed so that people could pull the beta, get it running and begin building a small website in Umbraco. We limited the session length to 2 hours because we felt that while people might work at different speeds, within those 2 hours we’d be able to cover the getting-started aspects and then to work with what they’d built in the days in between sessions, at their leisure.
We had Bjarke and Warren on hand for when things got complicated and we made great use of Zoom’s breakout room feature to ensure that people who had specific issues with getting set up had access to someone who could support them. As hosts too, we did our share of public debugging, solving problems on screen share in an effort to help solve others’. We got our sites up and running and many of us marvelled at just how simple a process it had been.
From an HQ perspective, we were delighted to work so closely with the people who would be working with the product. We learned how it behaved in the wild and as a result, the team was able to go back to their desks and build a second beta in time for the next session a week later. A release schedule that cannot be kept up! The iterations came to think and fast throughout the series because as we progressed, we learned all the ways that v9 could be improved. Documentation was updated too, with PRs coming from attendees during and after the sessions.
One of our favourite takeaways was a format that promoted the democratisation of the session leadership. We’ve never attended an event where so little could or should be planned and so many would contribute. Spurred on by the organisers approach to learning in public, others shared their screens to talk through their issues and collaborated with other community members to get them solved. Beyond this, we left the structure of each very open so that people would decide what should take place in the upcoming session, and so shaped the curriculum as we went.
If the first three sessions sound light in terms of planning, the fourth was floating. We had no plan at all for the final session. We decided that by the time we had worked together for 3 sessions, we’d have an idea of what we all might like to do in that final one. And we did! We had many, many ideas among us. So we once again made use of the breakout room feature and asked people what they would like to work on. We had a number of themes come up including hosting, starter kits and configuration. Had it been up to us who organised the events to decide, we could never have predicted where you’d have liked to go. Once again, developers in the community and HQ developers worked alongside each other to look at each topic.
Born out of the learnathons were a number of things. One was a desire for more learnathons, with new themes as the product matures. Another was a list of questions, concerns, and ideas we were able to feed into the next iteration and the iterations going forward.
As we mentioned previously, we had some wonderful documentation written and we also identified opportunities for more going forward. And we really had an enjoyable time working together, making sure that this major release is one that is known and loved by the community before even the RC reaches you.
In the coming weeks, we will go on to run a series of learnathons for developers working with Gold Partners. This series is designed to address specific issues that are faced at agencies and will begin in much the same way as the first series but move on to look at topics that our partners need to help them adopt this release as soon as they have the opportunity to. We’ll cover: APIs, hosting, and anything else that comes up over the course of the sessions.
We’ll absolutely take the format forward and hope to organise more events where we are able to work together on the CMS - this time looking at topics such as accessibility, package developer experience, and unit testing. We hope to create, once again, a space for you to feel supported, to ask questions, and for us all to have a bit of fun learning in public.
What people said 📢
In case that’s not enough to convince you, here’s what some of our attendees told us:
“With learnathon meetups, I could get the grips of how to install V9 with different approaches and make so many features work! Needless to say, it was a very friendly, enjoyable and non-judgmental environment where everyone got through their learning curves in order to use Umbraco V9!”
Busra Sengul, Umbraco Developer at Bump Digital
“It felt really good to be part of the Umbraco community again. And it convinced me that the switch to .Net 5 (Core) will secure the future of Umbraco. It was a great pleasure for me to be able to share my knowledge.”
Dirk Seefeld, Senior Web Developer
“As builders of websites and applications on Umbraco, we've all likely found ourselves only truly understanding the value of a solution once it's in the hands of users - and the Umbraco CMS is no different. By being put through its paces by those that are going to be using the product, we really find those edge-cases and pain points that, once resolved, raise the quality of the release and make it a pleasure to use.
From the previous learnathons we got valuable insight into what Umbraco solution developers are looking for. Subtle issues were found and fixed, and from feedback, we could tweak APIs and other code constructs from something workable into an approach that really met the Umbraco developer's needs. This led to a cadence of evolving beta releases, based on suggestions and bug reports coming out of the sessions, with each release an improvement on the last.”
Andy Butland, D-Team at Umbraco HQ