I just participated in my first Hackathon – it focused on coding for Google Apps and we developed an automated meeting registration system. A hackathon is the gathering of a group of developers and their computers with a goal of creating something during the session.
Jan Kleinert led the session and, as usual, the Google presenter was excellent! On the projection screen in front of the room, she led us through the coding – much like Mitch Miller in his Sing Alongs. We could see how to use Google Apps, take notes, and reuse the code with our projects.
Jan took questions from the floor about how to create specific features beyond the basic system, and while outlining the code basis for adding the feature, she was writing the code live on the screen – by the end of the explanation, the individual had an answer - both theory and actual code.
This naturalness of using the tools is the fluency. Simply knowing the code is technical competence, but fluency is more. Being able to lecture about programming using the code is content competence, but is not fluency.
Fluency is knowing, using, and sharing without breaking a sweat. It is not just memorizing the multiplication table but knowing the relationship of numbers – and applying this experience to problem solving and conveying it to others.
I witnessed fluency in the front of that room, and took away more than how to code a registration system. I was doing the same things and pursuing solutions the same way as Jan – admittedly at a different level – but following the same map.
Learning is an active sport and to become fluent requires doing and knowing. Fluency is about mastery - not just attendance certificates; it's about application for results – not just logging hours; it's also about sharing with others to extend their knowledge.
Groups like NCA GTUG are valuable because they expose leading edge advances in technology and top notch thought leaders to the participants – sharing knowledge that leads to fluency.
How do you add to fluency?