プロダクトマネージャーが新しい技術をざっくり理解する 〜イーサリアム編〜
「想像するため」に新しい技術をざっくり理解する
日々新しい技術が生まれ、世界中で活用事例がどんどん増えています。
プロダクトマネージャーたるもの、自分のプロダクトの新しい機能やサービスを常々考える必要がありますが、人間は持っている知識の範囲の中でしか想像できません。
「顧客・ユーザはは自分が何が欲しいのかわかっていない」という例でよく引用されるヘンリー・フォードの言葉で
「もし顧客に、彼らの望むものを聞いていたら、彼らは『もっと速い馬が欲しい』と答えていただろう。」
というものがあります。
これはプロダクトマネージャーにも言えることだと思います。知らない技術のことは想像できません、例えば『ユーザに便利なレコメンド機能を提供したい』と思っても、機械学習のことを知らなければどう実現していいのかわからず、機能実現のための思考も止まってしまいます。たまたま周りに詳しい人がいればいいですが、それはもはや運任せです。
ただし、機械学習の基本的な仕組みを知っていれば、「あ、あの技術使えばできるかも…」と気づくことができます。具体的な実現方法検討フェーズに入ったら、詳しい人の助けを得ればいいのです。
とはいえ、全ての技術をしっかり習得するのは大変なので、私は「新しい技術をざっくり理解する」ことにしました。あくまでざっくりです。
イーサリアム編
まずは最近話題のブロックチェーン、特にビジネス領域で活用が期待されているスマートコントラクトを実現できるイーサリアムをざっくり理解してみました。
まずはブロックチェーンの基礎的な内容はこの本で理解しました。
タイトル通りかなりわかりやすくまとまっているので、最低限暗号化の仕組みを知っていれば理解できる内容になってます。
またスマートコントラクトについてはこの本で理解しました。
スマートコントラクトがどのようなサービスに活用されているのか、どういう仕組みなのかを理解できます。後半はSolidityでの開発まで言及されますが、ちょっと古いのと基礎的な内容なのでサービスやプロダクトにどう役立てればいいのかのイメージが湧きづらいので、もう一つCryptoZombiesというサービスを使ってみました。
これはSolidityを実際に開発してゾンビ生成ゲームを作れるサービスです。
始めるにあたって必要なものはGoogle or Githubのアカウントだけ。全てブラウザ上でプログラミングできるので、開発環境の準備などは一切不要です。
また以下キャプチャのように説明とエディタが1画面にまとまっており、説明も非常にわかりやすいです。
基本的にチャプターごとに一つずつ新しいことを説明し、それに対してテストを行い答え合わせする、という流れです。
間違っていても答え合わせで正しいコードを教えてくれるので、途中で止まってしまうこともありません。
説明通りに実装していけば、可愛い(?)ゾンビが作れるゲームが完成します。
現時点ではレッスン6までしか公開されていませんが、今後も楽しみです。
Web3.jsの仕組みがわかったので「どうやってコントラクトを呼び出すのか」が理解できた。一旦公開されているレッスンは完了!(・∀・)#CryptoZombies のレッスン6が完了!レベル3.0のクリプトゾンビ'The Phantom of Web3'をゲットしたよ!ゾンビ軍団が大きくなってきた!😉 https://t.co/SPdvJabsTq
— Hisatsu Yusuke (@Nunerm) June 3, 2018
これでざっくりスマートコントラクト・イーサリアムの技術を理解することができました。さすがにいきなり新しいDAppが作れるほどのスキルは身についていないですが、ざっくり仕組みを理解することができたので、想像ぐらいはできるはずです。
次はディープラーニングについてざっくり理解しようと思います。