2012/7/10の日本経済新聞のコラム「私の課長時代 創業の苦楽 ハワイで体感」で、セブンーイレブン・ジャパンの井坂隆一社長が、経営危機に陥っていた米国の旧サウスランド(セブンイレブンを創業)の再建支援にハワイに乗り込んだときのことを書いておられます。
—(以下、引用)—
■日本の先輩たちが作った仕組みの一つ一つがなぜ必要なのかを実感した4年間だった。
欠品を出さないよう、オンライン受発注や販売履歴が取れるレジも入れました。日本本社の17年間に及ぶコンビニ運営のインフラ作りを追体験する日々でした。
—(以上、引用)—
示唆が多い話しだと思いました。
確かに現在ある仕組みを「与えられたもの」と考えると、それがなぜ必要なのかを考える機会はあまりありません。しかし、実際に自分で経験して作ることで、その必要性が徹底的にハラに落ちることも多いのです。
自分のささやかな経験ですが、私は初めての本を自費出版により企画、執筆、編集、印刷・製本、販売・配送等を試行錯誤しながらで全て自分で行ったことで、出版社の編集プロセスが理解できました。
ですので、編集者が売れる本を企画するためにいかに大変なことをなさっているのかがある程度想像できます。
これが自費出版を経験せずに編集者の方々とおつきあいしていたら、理解出来なかったかもしれません。
ソフトウェアも同じかもしれません。
「オペレーティングシステムをゼロからコーディングして作ってみよう」という本もあります。
自分はオペレーティングシステムを作ったことはありませんが、社会人1年目の時に開発業務でDB2初期バージョンのデータベースの中身をビット単位でチェックしたことがあります。このおかげで、リレーショナルデータベースのデータ構造がどうなっており、どのようにチューニングすればよいのかがハラに落ちました。
ヒット単位まで落として理解することで、逆にソフトウェア全体がどのように動いているのかが分かるのですね。
仕組みやプロセスを理解したかったら、試行錯誤しながら作ることが一番かもしれません。