AIの時代で学び直しが必要だったり、新しいプロジェクトのアイディアをもっと探索したい。だが、日々の仕事で精一杯という状況の方、多いのではないか。こういう時こそ、Googleの知恵を拝借しようーーといっても、検索ではない。有名な「20%ルール」だ。CNBCの記事「Google’s ’20% rule’ shows exactly how much time you should spend learning new skills―and why it works」でそのポイントをまとめている。Googleの20%ルールとは、業務時間のうち20%の時間を自分のプロジェクトに充てるというもの。Googleが2004年にIPOをした際に、共同創業者のSergey Brin氏、Larry Page氏が書簡で明かした。これが同社が革新を続けられる理由の1つとも言われている。

ではこの20%ルールを使ってどのように自分のための学びを実践するか、効果的な方法を見てみよう。

1.何を学ぶのかを明確にする
20%の時間を使って何を学びたいのか、どんなスキルを身につけたいのかをできる限り詳細まで明確にしておこう。ポイントは、あれこれ手を出さないこと。何かのコースを取得するのであれば、テーマや課題を1つに絞ろう。

時間の経過とともに学びが進んでいることを実感でき、それがモチベーションになるという好循環が生まれるだろう。

2.成果を得る
20%の時間が無駄だったということにならないために、何かを得たい。資格試験のような明確な結果を得るということでもいいし、新しい人脈ができた、知らない業界のことを学んだ、などでもよさそうだ。

ほんの小さなことでも成果を得る努力をしよう。達成感や満足感は励みになるはずだ。

3.柔軟に、だがコミットを
20%の時間を確保し、自分のための学びを続けることは、ダイエットの食事制限を続けるのと同じように意志の力だったり管理能力が問われることだ。金曜日の午後など時間を決めてスタートするだろうが、急に上司から呼び出されたり、大事なミーティングが入ったり、緊急事態がいつ発生するかわからない。

ポイントは20%の時間をとることなので、決まった時間でなくても良いという柔軟性を持っておきたい。もし自分が決めた時間に予定が入ったら、すぐに別の時間をブロックしよう。

4.楽しいと思える工夫を
学生の頃、試験前の勉強で工夫をしたという人もいるかもしれない。20%の時間も、1回目、2回目、そして3回、4回とやり続けるためには、何らかの工夫が必要だ。特に、試験と違って自分のための学びなのだから。その時間だけ大好きな飲み物を頼むようにするなど、ちょっと工夫を考えて楽しみたい。

5.長期的視野を持ち続ける
20%は自分への投資、だから長期的な視野を持つ必要がある。10年後にどうなっているかを想像して、20%の時間を大事にしよう。

身の回りにある業務の反復作業を短縮するツールやギミックが欲しい筆者は、ご多分に漏れずWikipediaをよく活用する。ちょっとした調べ物や概略を掴んだり、ただただ一時を楽しむ読み物としても利用している。以前はWikipediaデータをダウンロードしローカルで表示させるソフトウエアなども各PCにインストールしていたが、何か楽なアクセス方法は無いものか?5%ほどの時間の積み重ねでいろいろ調べているとAPIがあった。

WIKIPEDIA API
https://www.mediawiki.org/wiki/API:REST_API/Reference

サンプルにあるようにCurlで試すと

curl "https://ja.wikipedia.org/w/rest.php/v1/search/title?q=solar&limit=5"

以下のように瞬時にJSONデータが返ってくる。

q=solar&limit=5の部分を変えれば、検索タイトルと表示数も変更できる

curl "https://ja.wikipedia.org/w/rest.php/v1/search/title?q=CPU&limit=10"

神出鬼没の四字熟語や人名をサッと把握するのには使えそうだと日本語を試してみた。

curl "https://ja.wikipedia.org/w/rest.php/v1/search/title?q=鶏鳴狗盗&limit=10"

うまくいかない。これではあまり役に立たない。CurlのヘルプやWeb検索でいろいろ試してみたがジャストの環境での解決策が見当たらないので妥協してシンプルなURLエンコード処理を提供しているpythonのurllib.parseモジュールを使って、日本語部分の変換を試みる。

import urllib.parse

s = '鶏鳴狗盗'
s = urllib.parse.quote(s)
print(s)

これを先程のCurlの漢字部分に当てはめて実行するとJSONが返ってくる。

しかし、毎回pythonファイルの日本語を変えることは億劫なので引数で指定できるようにカスタマイズする。

import sys
import urllib.parse

args = sys.argv
s=args[1]
s = urllib.parse.quote(s)

print(s)
curl "https://ja.wikipedia.org/w/rest.php/v1/search/title?q=%E6%9D%BE%E7%94%B0%E5%84%AA%E4%BD%9C&limit=10"

当初の目的は達成されたが、エンコード文字を切り貼りするのがとても面倒くさい。コマンド処理だけで実現する方法が思いつかないため、pythonで直接データを受けるように改造する。

import sys
import urllib.parse
import requests

args = sys.argv
s = args[1]
s = urllib.parse.quote(s)

U = "https://ja.wikipedia.org/w/rest.php/v1/search/title?q="
P = U + s

response = requests.get(P)
print(response.text)

タイトルを表示させるだけのシンプルなものだが、ブラウザで見るまでもなく迅速にコマンドライン上でキーワードを把握したいときには使えそうだ。もちろんタイトルを引っ張るだけのものなので、バージョンアップの余地は多い。さきのAPIには数多くのメソッドが記載されているので、20%の時間を使ってカスタマイズしてみるのも良さそうだと思うのであった。