Here's the theme for this week. This topic enlightens me as a perspective of someone who has never been to Developer related events, moreover even as facilitate a developer workshop (or study jam).
For the first time last week, I have the opportunity to facilitate group data science engineers and developers in Google Singapore Office (the main Headquarters office in the Asia Pacific), where it houses around 3000 Googlers).
I am helping out under Study Jam in the Google Developer Fest, one of the flagship developer community events.
One interesting point to note is how collaboration between Developer and non-developer is o solve Machine Learning Problems, which one of them is to forecasting taxi fares for the future.
The other challenge would be related to e-commerce product price variation on-peak period sessions such as Single's Day/Friday as the context of difficulty of coding exercise).
For the terms of this, I would say this is "enlightenment of cross-empathy and peer collaboration via digital means and real-life examples of implementable AI technologies).
Here's the event sequence so far on that day (for Google Developer Fest)
1. Experience in Google Office during my arrival time at 8 am morning (would take a photo to prove that I am here)
2. Helping in Facilitating a session on Big Query Machine Learning
3. Participant helping to share experiences to help one another
4. The impressive crowd on developer day
On the afternoon session (with more than half stayed until almost 8 pm on the same day from morning coding session which starts around 9 am)
One of the exciting experiences is when I heard of Speech Corpus text to translate local South East Asian English, and demonstration of ordering a coffee in local language attempt to an AI Waitress.
Experience of ordering a Coffee C to a machine
Here's the summary I have gathered on enhancing experiences, and the four key learning points that I am sharing are as below:
1) Building clarity with a shared empathy
Some pain points observed when miscommunication happens due to a broken connection or trust establishment. In the context of facilitation, the common theme is the ability to relate the issue faced (which is a lack of clarity of the programming case study in the context of Google Qwiklab Assignment).
One of the ways to be more empathy is to pair up in the following combination.
A beginner coder who wants to practice coding but have strong psychology skill + someone who shared his coding knowledge but not so good in communication = best coding solutions achieved
Surprisingly, mixing the right cluster of different personalities helps both newbie and experienced people to learn better coding to solve world problems.
2) Collaborative Alignment On Problem Solving
Adjustment is needed to get my message across to a developer from the non-developer standpoint.
For instance, as I was not a programmer before this facilitation, I need to understand and align on how coders/engineers' communication talk to each other and a non-developer like myself.
After some discovery, I realized that a simple use case lab study on problems, and ask the Developer (wannabe and experienced) to work on them (without interference). At the end of each exercise, one of them would present the logic of the coding, and the other participant would collaborate to illustrate the problems of each coding block resolves.
3) Define Standard Operating Procedure (SOP) in the purest form
When the concept of explanation or troubleshooting, it is always useful in one simple graphical method and ease of retrieval.
In the first instance, I have saved all the codes into the depository (in the form of Facebook Posting for urgent code check),
My coding stored on Facebook with a picture played in sequential order in the following order for best explanation walk through and troubleshooting
The first picture (overall summary of work coding done).
2nd picture is a sequence of crucial process of coding for ease of troubleshooting
4) Network, not for jobs but for ideas (this is for peer to peer developer networking)
Don't think of "networking" as something you do after you get laid off. We're social creatures, and programmers are no different. The best way to become a great programmer is to talk to other great programmers and then get a sense of what problems they've solved and how they solve this.
Some participants are creative until the extend of deploying different types of equipment to interface to loading the codes for modeling and work on various coding problems at the same time. (Speaking of creativity at work)
Key takeaways, the four learning process above help me build better empathy with people who are technically and behaviorally different than myself.
Thanks to my excellent teammate, co-organizers (Weiyuan, Hariruzan), fellow sponsors, Google Shafraz and fellow mates for the learning experiences. I would be looking forward and do my best to apply the insights gained.