Storytelling as a Vehicle of Change: Introducing ClojureScript for the Heart and Mind
Posted by Jakub Holý on October 7, 2015
People don’t really like changes yet change we must in this fast-developing world. How to introduce a change, or rather how to inspire people to embrace a change? That is one of the main questions of my professional life.
- An experienced speaker once recommended sharing personal experiences (even – or especially – if they make me vulnerable) as it is much easier for people to relate to them than to general statements.
- A Cognicast eposide mentioned storytelling as a great tool for introductory guides. We humans are natural storytellers, we think in stories and relate to them much more easily – so a story should be great also to communicate the value of a change.
- My ex-colleague Therese Ingebrigtsen gave an inspiring talk presenting some points from The Switch – mainly that we need to address the recipient’s minds with rational arguments, but also their hearts to involve their emotion (e.g. by drawing a picture of the new bright future), and that it is important to show a clear path forward.
Based on these ideas I created the following battle plan.
designed for flying?
- Highlight the importance of this work – How the internal admin pages have grown in importance and functionality and thus need more attention and development.
- Tell a story and share a personal experience – I have retold my painful experience of working on the admin pages to improve our troubleshooting capabilities, which often required several restarts to see a change and how that frustrated and slowed me down, making it impossible to get into a flow. Everybody has experienced this and has appreciated how unproductive it is. (#2, 3, 4 form the story – the growth of the admin pages, the pain of developing them, the ease of doing so with ClojureScript & Co.)
- Address the heart, draw a picture of a bright future: I have played the 6 min video Interactive programming Flappy Bird in ClojureScript that demonstrated the very opposite of my painful experience. Everybody was impressed and envious.
- Finally, I have live-coded the new feature, using REPL-driven programming to explore the data and develop the code on the go with Figwheel to make interactive programming in the browser a reality. Even though I have encountered some obstacles (such as mistakes and print timing out due to data size), it was well received – I believe that was thanks to the previous points (and thanks to having wonderful colleagues :-)).
So my impression is that this approached worked really well. An interesting result was that despite all the goodness of ClojureScript, it turned out that the main selling point for us was interactive development. (You can get something similar with React Hot Loader but it doesn’t work on the server side (Node) and making your state reloadable is a much smaller challenge in Cljs thanks to immutable data and clear data management constructs such as atoms.)
Perhaps I should highlight that I haven’t tried to manipulate my colleagues or play any tricks on them. All this is just about how to effectively communicate something I am passionate about, highlighting the important points in a way compatible with how the audience thinks.
Sorry, the comment form is closed at this time.