アンバサダーの id:masayuki14 です。先日開催された はんなりPython #14 - connpass の勉強会で発表を行いました。 はんなりPythonの会は京都のPythonコミュニティで私も運営に参加しています。
今回はNOTA Inc. さんのオフィスをお借りしての開催となりました。 NOTAさんが開発されているScrapbox を使って参加者同士のコミュニケーションを促進する試みなど新しいことにチャレンジした会になりました。
詳しい様子は公式ブログとScrapboxでご覧いただけます!
発表について
今回の発表は、いま取り組んでいる個人プロダクトを進める上で実践していることをまとめてみよう、というところが出発点で作成しました。
1年前にはんなりPythonの会を始めるにあたって、「これをきっかけにPythonや機械学習をやってやろうじゃないか!」と意気込んでみたものの2ヶ月ほどしか続かなかったという過去があります。
この頃に作ったのが以下のスライドです。
- はじめての Hello Python
- Annaconda と Miniconda
- Jupyter Notebook 入門
Presentations by Masa - Speaker Deck
どれもPythonを取り巻く状況や開発環境についての内容です。 当時の目的が「Pythonやってやろう」なので
- Pythonの周辺知識を手に入れる
- Pythonを動かす環境をつくる
をやってしまうと目的を達成したことになってしまったんですね。 これではその先へ進むことができません。 すでにプログラミングは十分やっているので、Pythonでプログラミングを学ぶわけでもなく、機械学習をつかって分析したいデータがあったり状況にいるわけでもないので、Pythonをやっていく動機がないわけです。
プログラミングという手段とモノづくりの楽しさ
プログラミングというのは
- ソフトウェアを作る
- 問題をコンピュータを使って解決する
- 自動化する
などを達成するための手段であり、これらを達成するところやその過程に、モノづくりの楽しさがたくさん潜んでいます。 そのためプログラミング自体を扱うことは目的になりにくい性質があります。
プログラミングを始めた頃に、プログラムを書いて動かして「わー動いた、すごい!楽しい!」というのはもちろんあるんですが、ある程プログラミングの経験がついてくるとそういうわけにはいかなくなります。
まさに「Pythonやってやろう」がそういう状況です。
経験を積むほどに、プログラミングの先にある目的がはっきりしていないと、プログラミングが持つモノづくりの楽しさを感じることできなくなっていきます。
取り組んでいる個人プロダクト
そんな中、1ヶ月ほど前から個人プロダクトの開発を始めました。 これは1年前の「Pythonやってやろう」よりも先にある「プロダクト作ろう」が目的なので、手段としてのPythonを使っていくことができます。
これまでも個人プロジェクトを始めては放置、始めては放置、を繰り返しているので、今回こそはという思いがあります(いつも思っていますが)。 そんな中「フロー理論」にたどり着きます。何年か前にバズっていたので記憶にはあったのですが、改めて調べてみた結果「意図的にフロー状態を作って進めていけばうまくいくかもしれない」という思いに至りました。
「すこしだけ難しい課題を設定すること」をいかにうまくやるか、という方法を考えて試行錯誤した結果が、発表の中にもあるように「やれることにやりたいことを積み上げる」という方法です。
今の所うまくいっているのでこの調子でプロダクトの完成まで突っ走りたいと思います。
発表の構成
構成は以下のようにしました。
- 問題提起
- 解決のための方法論
- 具体的な実践方法
- まとめ
わりとよく見る構成だと思います。 発表後に振り返ってみると、試行錯誤の結果を抽象化して方法論としてまとめているので、順番としては逆になっていると気づきました。 これだとなんか堅苦しい感じになったんじゃないかなと。
- 開発してるよ
- 失敗したくないよ
- 試行錯誤したよ
- こうやったらうまくいったよ
みたいなストーリーで発表したほうが良かったかもなぁとは思いますが、どちらもやった上でフィードバックをもらわないとわからないので、 また別の機会があれば構成を変えて発表したいと思います。
懇親会で
閉会後の懇親会で「最近Pythonの勉強してるけどうまくいかなくて不安が大きかったけど、フロー理論の話でそれが腑に落ちたので、また仕切り直して勉強再開します」というような声を頂いたので、発表して良かったなという気持ちになりました。
ありがとうございました。