A Pending Promise or Already Functional?
Turning a Meetup group into a platform for independent learning
"..and I don't really know what's going to happen with the institutions, but I do know that this wild learning is happening and that some people are becoming more expert at it." Howard Rheingold in the foreword to Peeragogy (https://peeragogy.github.io/)
If you have been a web developer for a while, the concept of independent learning is nothing new to you. You do it all the time. Quite a few developers started that way, too. They built a site for themselves in HTML, then got commisssions from friends and small businesses, and before they knew it they were working for big business and in teams. Their knowledge grew alongside the industry, they helped each other out, in real life and online.
This might be idealising a bit, but it did happen (and still does I suppose, but less). I witnessed the early years of the web, not as a developer, but longing to be one.
And a bit later I went on that journey too, for me it was a very longwinded one, a career in slow motion, full of doubts and setbacks. I was already in my 30s and had two kids. I created a website for a children's playgroup, then through a friend did work experience at a Uni department, building an unspeakably ugly website on their Plone system. Next I met two developers "off Twitter" who both helped me a lot, through teaching me some 'tricks of the trade' and passing on work to me.
I was not a natural developer, I did not take to it like a fish to water. At school things had come easy to me, this did not. Looking back I wonder how I managed to stick with it when it was so difficult, the anxiety running high, and the comparison with the 'accomplished' people who were bantering on Twitter reducing me to a fearful mess. It must have been the ongoing fascination with the web, the pleasure of eventually getting things to work, and the desire to belong to this world and the community around it.
I was working all on my own, managing my own clients, "learning on the job" but without senior colleagues at hand. This too seems crazy to me now. My debugging methods consisted of very crude trial-and-error. At one point I considered putting out a Tweet "Can somebody form a support group for web dev mums working from home?" I knew Gicela at that point, and a few years later we set up a group. It was not exclusively for mums, but in its first incarnation it was for people working from home. We were going to meet up so we could learn from each other.
The gist of the above is, I went a strange way, even in web dev terms where people come from all kinds of backgrounds. And I'm 'off' - old, female, foreign.. For a long time I found it difficult to know where I stand, and to a certain degree that's still true. There's no doubt anymore that I am a professional web developer. I know a lot and take my work seriously. But does that make me a good one? Volumewise I have done less compared to those working fulltime, and only in recent years have I worked on a team (and that did make a difference!)
So.. this was a bit of a long intro, and one I hadn't planned. But I guess it is useful to understand my growing interest in independent education.
I know it can be done, and I'd like to know how far it can be taken. As Kio Stark observes in her brilliant book "Don't go back to school", there's a few professions where you can't get round official credentials (healthcare, law, teaching at schools, architecture), some others seem "culturally closed", that is, difficult to get into without a degree, for example fine arts and sciences. But it is not impossible. It is just very hard.
With coding, there is a certain distinction between software development (backend, and at scale) and web development, where the former still recruits its workers from university graduates mainly — in engineering, computer science and so on —, while web development is more flexible. Funnily some software programmers think web development is harder (especially JavaScript!).
Setting up a peer learning group
When Gicela and I set up CodeHub we were inspired by the New York HackerSchool which has since been renamed to Recurse Center. Our group was very different (Recurse center do 3 months coding residencies!), but the idea that you could learn a lot with and from your peers was the same. A bit later I found out about OpenTechSchool that had a similar approach and we became a chapter.
The peer learning was there from the start, as well as the idea that it should all be free. We soon started to create little workshops for each other in our morning sessions, and organised longer ones with invited speakers in the evenings. We also ran a few JavaScript one-day events. You can find some information on all of them on our Github Pages.
The evening workshops were very irregular and although they were great and mostly well-attended, I never quite felt at ease organising them, and I kept stopping for long periods. For one thing, it felt strange asking people to create workshops for free. I know from many of the speakers though that they totally enjoyed it and one of them said "the person getting the most out of a workshop is the one giving it". I can fully subscribe to that. As I kept asking people for free workshops, I thought I should at least give one myself to offset that a bit. The workshop on Git ended up being a bit chaotic, but I learned so much from it! And I know others got something out of it too, despite its shortcomings.
From 2014 there's been fortnightly hack nights, and our first study group, JavaScript101, started in 2015. It has been morphed into WebDev101 this year. Since autumn last year, there's also a Haskell study group. (The Haskell group meets in the evenings, WebDev101 during the day)
The map is not the territory
It's five years since we set up CodeHub, and it's grown into something really nice. People are friendly and helpful, and there's expertise in lots of different areas. Members have learned new technologies through the group and found jobs, companies have found the right employees.
And yet for a long time I had this urge to do much more. I felt there was a potential that hadn't been realised. And that we promised too much in what we were saying about the group. Recently somebody was interested in teaching. All we can say at the moment is "come to the hack night or webdev101" (and see if somebody needs your help).
Mark has started a spreadsheet now, where potential mentors can enter their names and areas of expertise. We had a brief discussion on how to go from here, and I just had some more ideas. We'll work something out.
A lot is happening, just slowly. And that's okay. I think this has been a key challenge for me: Wanting too much in too short a time (and often this got stuck at the wanting). I am grateful to my co-organisers, first Gicela, and now Mark and Audrey, for conveying the same message again and again in different ways: It is already good the way it is. You don't need to force yourself to do stuff.
Still, I want to collect here some thoughts on what CodeHub is and can be, and who I believe it is for:
In a few words, it's:
1, a support group for the self-learner
2, a platform for developers to pass on their knowledge, including in person, and practicing mentoring and teaching
(A member can, but doesn't have to, fall into both categories; for me, the second one doesn't come easy I've noticed)
Much depends on the initiative of individual people, especially those wanting to learn. There is at the moment no traditional teaching. It is also worth noting that in many cases the informal learning (with this group and alone) will be in addition to a job or formal education (Uni or a coding bootcamp). We have links to Bristol and Bath coding boothcamps: DevelopMe are a sponsor, and teachers from both DevelopMe and Mayden Academy are happy to act as mentors to our members. This makes me glad.
How best to facilitate this type of learning then, is an ongoing question, and it's good just to experiment with different things. I've written something about the study groups below, and here is some ideas for other formats I've had:
- Talks or workshops where a relative novice to the topic does most the work, but is guided by somebody experienced
- Online collaboration: A study group could just exist online, collect some resources and discuss progress, questions etc. on a slack channel; or use an online classroom tool like piazza.com
- Establishing a reading list for a topic, and members can share books
- Working on projects together (perhaps for non-profits as Free Code Camp intended)
When you start something, you have to be prepared that it might fail. Because learning outside a traditional context is hard, and so is organising a group of people doing it together. But the potential rewards are high.
There is so much more that I could write (and I have written more! then consigned to the virtual dustbin), and you could go off in many directions.
To me, it has all been a great adventure, though not all plain sailing! I've been close to giving up more than once. In fact, I tried to hand the group off once, but nobody came forward! Recently, I have not been doing that much, and I seriously want to work towards being just a member. Not that I was that much of a leader, but I've been invested in the group more than anybody else. Also, nobody has benefited from it more than me!
In the end, what I've learned most about in the past five years is probably — people. Including myself. And I'll spare you the things I've learned. I might write about them some day. Some can be hard to accept (both with regards to others and yourself), but ultimately it's helpful to see more clearly.
I hope to write more about CodeHub and also independent learning in the future. For now, here are a few resources I found quite interesting:
- Recurse Center
- Kio Stark: Don't go back to school
- Dave Hoover, Adewale Oshineye: Apprenticeship patterns
- Peeragogy Handbook
- Hack Education Blog by Audrey Watters
- Steve Wheeler's Site - technology supported learning, distance learning and related topics
Appendix: A few observations on study groups
A pattern I have observed in the study groups: There is a high drop-out rate soon after the start, and after a while the group converges on a few regulars. It is nice when that happens, you can rely on people being there, and in all likelihood they get something out of it. That can be advice from mentors, collaboration, or even just socialising with people that have common interests.
A nice thing about JS101 was that the group converged towards 50:50 female:male and stayed that way throughout the three years ot its existence - we dissolved it when many of the regulars found jobs or moved away, and we did not feel like starting again from scratch.
There would be much to say about the different study groups. I've loved being part of all three. But they don't come without their challenges. JS101 was hard to navigate once we stopped working through Eloquent JavaScript, due to the vastness of the topic. I mostly ran the group, and my lack of JS programming experience did not help. Luckily experienced people did turn up, and even co-ran the group for a while. We started working on projects together and giving little presentations. It was a really nice group with a good atmosphere. A lot was decided from session to session. Again, this could be a bit chaotic, and again, I learned loads. I'd not say my JS is great, but it's improved massively.
WebDev101 originally had the aim that we would each set out some goals and hold each other accountable in mini-standups. I soon noticed that I kept doing completely differen things from what my stated intentions had been. I suppose that in itself taught me something. In general, the original concept was hard to keep up. It could also be that the topics were just too diverse. But then, it did kick something off that was really good, as the group is now as described above: A place to ask for and share advice, meet and collaborate. A bit like a hack night during the day.
The Haskell group is modelled on this document on how to start a Haskell study group and is mainly about working through the Haskell book. There again, we've abandoned the original schedule, people are on different chapters now or working on own projects (it's just what happens). I'd never have started learning Haskell without this group. When Jack asked if I'd like to join, I thought I'd give it a try, and so far I've stuck with it. I also really like it though it is quite challenging. We will see what comes of it!