スマートドラッグに手を出してしまったお話し

最近、俺の中で注目を浴びていた「スマートドラッグ」とやらに手を出してしまった。

スマートドラッグとは、一言でいうと「頭の良くなる薬」らしい。「風邪薬」のように薬の分類名であり固有名詞ではない。また、「ドラッグ」と言っても覚せい剤や麻薬のような前科のつく物ではない。ただ、日本の薬局で売っている物ではないので「まっとうな薬か?」と言われると、そうではないのかも。(「まっとう」の定義は人それぞれだからね。)

さて、俺がスマートドラッグに興味を持ったきっかけは知り合いのアメリカ人の「日本人は知らないの?ハーバードとかスタンフォードの学生は、みんなこれ飲んで勉強しているんだぜ」という一言だった。10 代で大学を卒業した彼に言われると説得力がある。

ネットで調べてみると、本家アメリカでもこの類の薬は賛否両論らしい。一応、アメリカでは薬事法的な物をパスして安全な薬として認可され始めたようだが、「長期的な使用に対する影響は不明」と警鐘を鳴らす専門家もいた。(もっとも、その人が本当に専門家なのか分からない。)また、「詐欺ドラッグ告発掲示板」みたいな所でも結構叩かれていた。「俺は飲んだけどちっとも効果が無かった」みたいに。

はっきり言って胡散臭い。でも、自分も 30 代の半ば。20 代の時に比べて気力、体力共に少しずつ衰えてきたのを実感する一方で自分はまだ人生の目標を何一つ達成していない。達成する目処もたっていない。そんな焦りもあって買ってみた。

購入したのは BrainPlus IQ という商品。調べた限りでは一番有名なようだし、本家の日本語サイトから日本の住所にも配達してもらえるようだ。正直、比較しようにも良くわからないので、一番有名で簡単に買える物を選ぶのが無難だと思ったから。値段も思ったより高くなかった。

そして注文から約 2 週間。先日とどいた。

販売サイトは日本語だが、日本語のマニュアル等は付随していない。ビンの裏に貼ってあるシールだけが頼りだ。

なになに、「栄養補助サプリメントとして 1 回 1 錠ずつ飲め。1 日に 2 錠を超えて飲んではならない。専門家の指示には従え」とな。

“Do not exceed two capsules per day” なので「1 日 2 錠を超えるな」、つまり「1 日 2 錠までは OK」と読める。でも、俺はアメリカ人の平均体重より圧倒的に軽いから、1 日 1 錠でやめといたほうが良さそうだな。(普通の薬の場合、必要な摂取量は体重に比例する)あと、念の為に仕事の無い日曜日はこの薬を飲まないという俺ルールを制定しておこう。休肝日ならぬ休頭日。

中身はこんな感じ。

これを毎朝、出勤直前に飲んで見る。

さて、この薬を飲み始めて 3 日たった。正直、頭の回転が早くなったとか、記憶力が上がったという実感は無い。ただ、集中力が持続するようになった気はする。特に、夜の生産性が上がった。

でも、この感覚、前にも経験した事があるような。。。

キューピーコーワゴールド!

あれも飲むと元気になって、その時は集中力続くんだよね。っていうか、キューピーコーワゴールドは眠気も飛ぶから、もしかして上位互換?でも俺の場合、キューピーコーワゴールドは毎日飲んでいると効果が薄くなっていくという欠点があった。薬に耐性がついてしまったのか、それとも元気の前借りをしているだけなのかは不明だが。

BrainPlus IQ も同じように、効果が薄くなっていくんだろうか?1 ヶ月くらいしたら、また報告するかも。

最後に一応書いておくと、この記事は個人の感想です。個人差もあるだろうしプラセボ効果かもしれない。そもそも、俺は専門家じゃない。また、最初に言及したように日本では認可を受けていないし色々と批判もあるようだ。この薬を飲む場合、自己責任でお願いします。

ユーザーを信じちゃダメ。当たり前ですよね?

時々、「ユーザーの想像を超えたものを作れ」とか「新しい需要を作れ」という頭良さそうに見える記事を web で見かける。
例えばこんな感じで。

自動車が無い時代には、ユーザーは「早い馬が欲しい」としか言わなかっただろう。

よくジョブスなんかが引き合いにだされる。

僕には、こういう表現が不思議だ。

プロが他人の言うことを鵜呑みにしてはいけないなんて、当たり前でしょ。
僕自身は IT 系のエンジニアだけど、ユーザーから要望が来たらこんな事を考えるだろう。

  1. ユーザーと僕では立場や専門性からくる常識に違いがある。
    コミュニケーションミスが発生している可能性が高いから、ちゃんと確認しなくてはいけない
  2. 要望を出すだけなら無料。
    そんな立場からいう言葉は、どうしても自分本位、自分勝手になってしまう
  3. その意見は、ユーザー全員の意見だろうか?
    全く逆の事を思っている人もいるかもしれない。
    自分に聞こえてくる声には常にバイアスがかかっており、自分の感情は中立ではないことを意識しよう
  4. ユーザーの要望をそのまま聞くと、システムの仕様は足し算のように増えていく。
    一方で仕様の単純さ、少なさはそれ自身が品質である。
    何かを追加する事で、見えにくい所で何かが失われていないだろうか?
  5. その要望を出したユーザーにとって本当に必要な事って何だろう?

要するに、脊髄反射で素人の意見を聞くな。
プロだったら、確認して、考えろっていう事です。

まず、ユーザーの意見を聞いて、エッセンシャルな要望を取り出す。
次に、自分のリソース、冒すことの出来るリスクなどを考えて対応の必要性や対応方法を考える。
それだけの話だ。

上記の自動車と馬の例で言うと、
「早い馬が欲しい」と言う人の本当の要望は「移動時間を短くしたい」とか、そういう事だろう。
だったら移動距離や移動頻度を少なくする工夫だって立派な対応方法だし、ワープ装置作っても良い。

要は、自動車を初めて作った人は「自動車を発明した事」が凄いのであって、「早い馬という発想から離れた事が凄いわけではない。」

「自動車が無い時代には、ユーザーは『早い馬が欲しい』としか言わなかっただろう。」
この表現には、議論のすり替えというか、
「虎の衣を借ろうとして、色々と残念な結果になってしまった」
という気がするんだよな。。。

git flow やってみた

今の会社に入ってから、git flow で開発をしている。
個人的には github flow の方が好きなのだが。。。

git flow と github flow の何が違うのか。
簡単に言うと「どこまでマネージメントするか」、「どこまで個々のプログラマの自主性に任せるか」っていう事だと思う。

当然、github flow の方が git flow よりもプログラマの自主性が高い。
そのため、プログラマからしてみると git flow は管理されている感が強いだろう。
また、git flow だと管理する側が「管理する」という工数が増える。
そういう所が、自分が git flow をあまり好きではない所だ。

一方、git の運用方法はそのプロダクトの品質に間接的に関わってくる。
品質とは、バグ、セキュリティ、応答速度、スケーラビリティ、拡張性、オペレーション、ヒューマンミスの発生しにくさ等である。
そして、システム全体の品質とは、そのシステムの一番低いところで決まることが多い。
バグがなく、応答速度が早くて、スケールして…という一見して素晴らしいプロダクト出会っても、セキュリティがズブズブであればそのプロダクトの品質は低いのだ。

git の運用方法はバグやセキュリティホールの改修速度、リリースバージョンの安定性等に関わってくる。
つまり、プロダクトの品質へ間接的に関わってくるのだ。
(もっとも、過去の履歴がどうであれ即座に修正してしまうスーパープログラマにお任せするのであれば、git の運用方法なんて関係無い。
なので、「間接的」と書いた)

そして、git の運用方法もまた、開発者の最低ラインが全体のレベルに関わってくる。
git flow は開発者間の git の運用レベルに差がある場合、最低ラインを引き上げる良い方法の一つだ。

なので、結論
プロダクトの品質の最低ラインが改修速度やリリースバージョンの安定性であり、
その改善に際し個人技に頼りたくない場合は git の運用方法がプロダクトの品質を決める事がある。
そのような場合、git flow を導入する事でプロダクトの品質が上がるかもしれない。
逆に言うと、それ以外の場合は git flow なんて導入しても無駄な気がする。

個人的には、わざわざ git flow を導入するよりも一定レベルのプログラマと仕事したい。
それが無理なら、運用で縛るよりも教育したい。
そんな事を思いつつ仕事をする今日このごろ。