Not long ago I was pretty jaded about life as a software developer, and my colleagues could often hear me proclaiming at lunch (in between mouthfuls of leftovers from last night’s dinner), “A commune! We need a coding commune!”.
A commune? Sure, Kombi vans and bearded hippies are cool, but what on earth does that have to do with software development?
What I was looking for was something akin to a monastic engineering experience. I wanted to know what would happen if I removed all extrinsic pressures: things like pleasing stakeholders, KPIs, making money, customer discovery and all that blah. I wanted to know what it was like to bang away on my keyboard and create code, just for fun, without any distractions.
And now, having just returned from CampJS, I can say that Tim Oxley, Nigel Rausch and Geoffrey Donaldson have managed to organise the perfect monastic engineering experience.
Last weekend, over one hundred like-minded software developers charted a course to the Gold Coast, many flying in from interstate and some from as far afield as Vancouver, Canada. Then by bus or car, we ascended into the hinterland, winding our way up into Springbrook National Park (and hopefully, closer towards coding enlightenment).
Arriving at Koonjewarre in the early afternoon on Friday, we spent a couple of hours soaking up the views, socialising and meeting new people. Then, something amazing happened - people pulled out their laptops and began coding. Yes, people were coding - for fun! - on a Friday evening, after the end of the work week. I can’t think of another profession where this would happen - can you imagine plumbers at the pub on a Friday afternoon deciding to fix toilets or lay some pipes for fun?
This really set the tone for the weekend - a completely free form exploration of technology, with no pressure to do anything. For those who preferred their explorations a little more regimented, there was a schedule of amazing people presenting talks on everything from functional programming and Angular, to physical computing using Raspberry PI and Arduino.
But there was no pressure to attend sessions, and some people found themselves instead curled up under a tree reading something from the awesome book swap table. Some wanted to knit, play table tennis or throw a frisbee, while others wanted to go bush walking. Some spent the time coding on a project, and some even took one of the organiser’s suggestion at the outset to lay in bed and nap.
I saw people enjoying all these activities, but the workshop sessions were still packed, and no matter where you turned there were people coding, reading, learning or relaxing. While the general theme of the camp was around Javascript, that wasn’t really enforced either - some of the talks focused on supporting topics like CSS, Vim and MongoDB, and there were people hacking on projects in languages like Haskell and Elm.
Despite removing all external pressures, and with plenty of people attending talks and taking the opportunity to blow off a bit of steam by doing whatever they wanted, a huge amount of code was written over the weekend.
CampJS culminated with a demo night, with 50 or so project demos. Some people were in it for the prizes, while others were building things just because they could. One attendee demonstrated an amazing personalised news site generated from his Twitter feed, proclaiming, “This is just for my friends, because, fuck startups.”
All the demos were videoed, and I hope they turn up on the interwebs soon, but until then here is a random assortment from the night:
- A multiplayer Snake game running on a LED matrix. Powered by Node, Raspberry PI and controlled by mobile phones.
- The best arcade cabinet I have ever seen, assembled out of beer cartons and a Raspberry PI. As an added level of difficulty, it was put together with the only spare keyboard available - one with a Russian layout.
- A remote sensing project, using an Arduino, an assortment of sensors, Johnny 5 and dashing.js
- A unicorn fart piano for FirefoxOS, hilariously developed by someone in a unicorn onesie.
- A really polished, live updating simulation of Brisbane public transport.
- A website designed as an RSVP to a 30th birthday party, inspired by Nintendo pixel art and featuring sounds and even cheat codes.
- A hyper scrolling, ball bearing mouse that ‘changed the life’ of the creator.
- A flying sheep battle game written in Haskell, using functional reactive programming.
Plus so much more awesomeness that is just too hard to cram into a single article.
So what does a monastic Javascript experience look like? Have a trawl through the Google+ group (not to be outdone by hippies, some developers also sport impressive beards). You can also follow @campjsnews for news and updates on the next CampJS, and check out Colin Gourlay’s excellent account of CampJS over here.
As for me? I got to work with Paul Theriault, a friend from university who now works for Mozilla securing FirefoxOS. We turned their mobile devices into collaborative, location based musical instruments. Why? Because we could.
Comments:
You can join the conversation on Twitter or Instagram
Become a Patreon to get early and behind-the-scenes access along with email notifications for each new post.
Hi! Subconsciously you already know this, but let's make it obvious. Hopefully this article was helpful. You might also find yourself following a link to Amazon to learn more about parts or equipment. If you end up placing an order, I make a couple of dollarydoos. We aren't talking a rapper lifestyle of supercars and yachts, but it does help pay for the stuff you see here. So to everyone that supports this place - thank you.