Code4Policy—政策従事者のためのプログラミング。
娘が上着を着たくない(なんなら服も着たくない)と
ゴロンして泣き叫ぶマイナス16度の朝・・・・。
こんな時どうすれば良いのでしょうか・・・。
最近自我が発達した娘さんは「イヤイヤ」が多くなってきた。
一方で「どっちの服がいい?」とかいう会話をできるほどは
分別がついていないため、
一度癇癪を起こすと全て拒否されて収集がつかず・・・。
30分かけて辛うじてスノースーツは着せたものの、
ベビーカー乗車も拒否されて、保育園まで娘を抱えてダッシュ。
忙しい働く親御さんたちは朝どうやって乗り切っているのだろうか・・・!?
保育園について、かじかんだ娘の指(手袋も拒否)を温めながら思う朝なのであった。。。
ちなみに、帽子を被ってないのが地元のおばちゃまに見つかると
「cover her head!!!」と怒られる・・・
だって、被ってくれない(被せると道に殴り捨てる)んだもーーーん。
(保育園に向かう道の橋の上から。数日前のsnow stormでチャールズ川も凍ってました。)
***
さて、極寒のボストンで「January-term(通称J-term)」と言われる
冬休み期間中の集中コースをとった。
だいたい、一つのコースで朝から晩まで6日間から2週間ミッチリというのが定番で、
オバマ大統領も取ったというOrren教授のPersuasion(説得術)や、
大先輩が「人生変わった」と言っていたMandel教授のネゴシエーションや、
ケネディで最も有名な授業とも言われるHeifez教授のリーダーシップなど、
ケネディ・スクールを代表するような名物授業もこの期間に行われる。
そんな、名だたる授業があるリスト中で、
悩んで決めた私の授業は・・・・
「プログラミング」。
紙社会の根強い日本において、もっとテクノロジーを活用すべきだ、、!
というのは強く感じていた一方で、
また、プログラミングはこれからの必要スキルなのでは無いか?と
気にはなっていたものの、
非エンジニアなのに?今更恥ずかしくないか?時間かかりそうだし?・・・
と、今まで勉強したことはなく、
こんな機会でも無いと、自分で一からは絶対やらない、、!!
と思ったのが決め手だった。
***
Programming and Data for Policymakers(通称Code4Policy)は
数年前に始まった新しいコースで、
元Amazonのengineerであり、
現在はFive Thirty Eightというデータを使った政治ニュースなどを発信する
オンライン誌のDatabase Journalistである
Drumil Mehta教授が教える
「政策従事者のために必要なプログラミングとデータ」という授業だ。
Five Thirty Eightは、
例えば、ニューヨークにおけるUberとタクシーのすべての運行データを分析して
「Uberがマンハッタンの渋滞を悪化させている」という根拠の薄い定説を覆し、
如何に郊外に連れて行く需要を満たしているかを示したり、
トランプのリアルタイム支持率やpollingデータなどを提供したり、
データ分析をし、わかりやすく可視化することで真実を炙り出す
いわゆるData driven journalismの走りのサイトである。
彼の考え方は、
「政策従事者がソフトウェア・エンジニアになる必要は無いが、
今後あらゆる部分で不可避であるデジタル化や
オープン・データ(政府機関の所有情報の解放など)化の
政策を推し進めるためには、
エンジニアが何をしているのか、
インターネット上のウェブサイトがどういうメカニズムで動いているのか、
データ・サイエンティストは何をしているのか、
そう言ったことを知っておくべきだろう」というもので、
その考えに沿って、
ソフトウェア開発の基礎、ウェブの構造、フロントエンド、データ、セキュリティ、などの項目を一通り網羅するべくコースがデザインされており、
まさに私の求めていた授業だった。
***
½単位の授業なので、少し余裕を持ってできるかな?
と期待していたが(笑)
現実はそんなに甘くなく、
事前課題からして、
コーディングをマッスル・メモリー(体で記憶する)に刻むために
コードアカデミーのPython(プログラミング言語)のレッスン1-8をやっておけ!
ウエブに関する本を読んでおけ!
という何時間もかかる準備に始まり、
一日おきに朝10時から夕方6時までみっちり授業をやり、
宿題やリーディングもあり、
(例えば、授業の中で政府のデジタルサービスを統括する責任者や
サイバー・セキュリティの専門家のゲストスピーカーとディスカッションするために、
事前にその話題の本や記事を読んで、
slackで議論することを話し合ったりすることが求められる)
そして、その合間に2週間半のファイナル・プロジェクトとして
4人のグループで興味のある政策についてデータを引っ張ってきて分析、
活用し(データをpythonでjsonファイルに書き換え等)
可視化(java scriptを使ってd3 visualization)するようなウェブサイトを完成させよ、
というなかなかのスパルタ授業で、
受講した感想としては「めちゃめちゃ面白かった!!!」ものの、
結局、娘を寝かせて夜中にシコシコとコードと格闘するという
寝る間もない怒涛の2週間半を過ごすこととなった。
そして、2週間半を経て、
そもそもPythonってなに!?ってという素人だった私は、
「Macの操作はterminalでコマンドを打った方が早いよね・・」
「Git Hubでコミットしちゃうよね・・・」
という、見事に、にわかプログラマー気分を味わえるまでに成長したのだった。
***
テクニカルな部分はさておき、
この授業のtake awayは以下の通りである。
1. 「Nothing is Magic」ということ
これは繰り返し先生が強調していた点で、
目で見えるインターフェースで起きていることの裏側に何があるのか、
すなわち、最終的には動作の全てはファイルとコードで全てできているということや、
インターネット通信やデータなど、全てはロジカルに組み立てられているものだ、
という実感を持つことができた。
2. Agileという考え方
開発するときに、最初に膨大な要件定義をして計画に時間をかけて、
コードを書いて、完成品をテストする・・・というやり方(いわゆるwaterfall)が
多くのプロジェクトの失敗の原因で、
(例えば、911テロの後に刷新されたFBIのシステムは
10年・700億円近くかけて完成しなかったり、
最近のオバマのHealcare.govの失敗など)
Scrumと呼ばれる小さなチームで、
顧客の要求に向かって短期間で「ミニマム」のものを作って、
そのサイクルを何度も繰り返して顧客の変化に順応しながらバージョンアップしていく。
このAgileという考え方は、目からウロコだったし、
ソフトウェア開発だけでなく、色々なものに応用できると感じた。
amazonなど含め、アメリカのテック企業の多くの開発はこの方式になってきたそうだが、
授業もこれに忠実に倣って進められた。
(ちなみ、アメリカドラマ「Silicon Valley」で出てくる、主人公たちがポストイットで開発の進捗管理している姿はこれをやってたんだなー・・と思ったし、Agileを編み出した発起人の一人Jeff Sutherlandはトヨタの生産方式を参考にした、とか「Scrum」という言葉を最初に使ったのはHBSの竹内教授だと読んでちょっと嬉しかった。)
3. オープン・ソースとオープン・データ
特に政府が持っているデータに関しては、
積極的に開放していくべきだと思うが、
その実態や実例を見て、またそこに生じる議論を知ったことは有意義だった。
事例としてデータを引っ張ってきた
アメリカの連邦選挙管理委員会のデータ提供はAPIも含めすごく整備されていて、
誰がどんなことにお金を使っているかなど、
データ分析がかなり容易にできる。
データのオープン化を評価する5 Star Dataという基準からすると、
手書きの領収書のPdfをアップしている
日本の政治資金収支報告書の情報開示とは雲泥の差である・・・。
***
授業を取る前に夫に相談した時に、
「プログラミングを学ぶことは
そのものだけじゃなくて考え方も参考になるんじゃ無い?」
というアドバイスをもらったが、
まさにその通りだなぁ、と思った。
ここで学んだことを基礎に、
春学期にもう少しデジタル化政策に関する授業を取りたいなぁ
と思ったのでした。
***
・・・この授業を受けていたら
某国のサイバー・セキュリティ担当大臣のコメントも
もう少し違ったかもしれない・・・?
〆
0コメント