Sunday, 22 June 2014

My 10 Year Journey in Tech Community


Tworedkites and its team is very involved with the software and Open Source community.
We feel its important to be involved with the local community. Personally, I run the local, and, and another tworedkites' member runs the Brisbane Cocoa Heads.

Monthly Meetups

From initially attending these BrisRuby meetup, I got to know the community and organisers well and eventually became a co-organiser and then the primary organiser. I find it very rewarding to attend these monthly meetings, to discover new things  as well as seeing the ‘usuals’ (friends) and meeting new members. Each month after the meetup many of the attendees come out for dinner where new friendships are secured and stories shared.

The biggest winners coming to these events are the speakers! They not only get to improve their public speaking (in front of a friendly and encouraging crowd), they also bcome known by their peers. One example of this was a couple of years ago, someone who was a flash programmer (dying profession), came along to a BrisJS meetup and was enticed (pushed) by me to speak at the following monthly meetup. From that, they were recognised by the audience as a smart cookie, secured them new employment and this has escalated into many opportunities.

Camps (Rails & JS)

RailsCamp and CampJS are weekends away where in excess of 100 like minded developers come from all over Australia (and other countries) to one location (normally a scout/activity camp). This weekend, running from Friday afternoon to Monday morning, is where interstate friends re-unite and/or new friendships are made. I have had the opportunity to organise two RailsCamps and am one of the co-organisers for CampJS.

These events are both an opportunity to learn (through workshops) and be social (discussions, gaming, activities, drinking and more).

University Lectures

I have been lucky enough to be invited as a guest lecturer to speak at both the University of Queensland and Griffith University. It is always fun live coding a simple Rails app in front of new PHP and Java devs and see their amazement at the speed and simplicity of the code.

Other rewarding aspects of presenting to this forum has included when one lecturer actually changed his curriculum from teaching PHP to Ruby/Rails. After speaking at Red Dot Ruby in Singapore, one of the delegates came up to me, shook hands and said they had attended one of the lectures I did and had changed to using Rails from that time, and is now employed and working for a large development company in Singapore.


Through the support of other community members we have successfully run two RailsGirls in Brisbane. Each event has had more then 50 attendees and many have continued the learning and joined the community and attend regular meetups.

2013 Video

Here is short video of 2013 Ruby events.

Sunday, 1 June 2014

Building Bop

Recently we had the opportunity to demonstrate the quick deployment made possible by the Rails framework. We turned around an application for managing meet-ups within a few short days. This experience proved to be incredibly worthwhile and highly enjoyable.

With a mindmap to reference, we quickly set about building an application to manage the rsvps for a local meet-up in Brisbane, as well as keep track of the breakfast orders for that meet-up.

Our first roadblock was ensuring that the appraisals gem, which we use on a daily basis, could be utilised in this project. Up until this point the gem only supported Rails 4. Using this gem made the process to pull request relatively painless as well as providing valuable insight into how other gems enable Rails 4 support whilst still maintaining Rails 3 compatibility.

Due to the short time constraints on the project, decisions were often made without consultation, using only the initial mind map as a reference point. This proved to be both good and bad as it enabled quick development of a feature, but missed out on the valuable discussion around implementation details that can help shape a project from the ground up.

Regardless, the bare bones of the application was completed over a weekend and work began on fleshing out the existing features and polishing up the application.

As with all good Rails applications, tests ensured responsiveness to change and provided immediate feedback when developing new features. This was particularly important when some 11th hour structural changes around routing occurred. We had confidence in our ability to quickly make these changes without concerning ourselves with any flow on effects to the rest of the application.

Whilst I remained in the warm comforts of Rubymine focussing on the functionality, Rachelle and Sean worked hard on improving the UI and, more importantly, quickly ascertained areas of functionality that needed further work, or features that were missing. This gave the application some much needed usability also made a huge impact on how it was received by the group.

Thanks to some earlier tooling around our deployment process, this turned out to be the easiest part of the development cycle and was without using Heroku. This, in conjunction with Capistrano, ensured that as quickly as we were developing features and iterating through changes we were able to make them available on the UAT and production instances.

Throughout the development process, the focus was on creating a minimum viable product for the meet-up group and, whilst we continue to iterate on features and have some tidying to do within the application, we achieved a very short turn around and have provided the meet-up group with a way to manage and maintain their requirements for their monthly get-togethers.