チャーハンまだ?
あなたが中華料理屋の料理人になったとします。まだ料理は初めて、これから学びます。
さて、少しだけ学んだので、チャーハンを作ってお客さんに食べてもらいます。もちろん、お金をもらっています。まだあんまりおいしくはないです。評判も悪くクレームも来ます。
チャーハン自体に画期的工夫が必要とか、お客さんの好みが変わったとかではなく、単純にまだ普通のチャーハンすら、まともに作れてないだけです。先輩が作ればちゃんと喜んでもらえます。
「色々な料理を作ったほうが良いから、ショートケーキを作る練習しよう」
...
...
「いや、お前チャーハン作れよ」
「いやいや、ショートケーキを作ることで、また違った世界の味覚や調理方法を学べて、別角度からチャーハンを見つめ直すことができて、チャーハンがおいしくなるかもしれないし、画期的工夫でチャーハンがおいしくなるかも!?」
「いや、まずはチャーハン作れよ」
「いやいや、普段の業務でチャーハン作っているので、自主トレでまたチャーハン作るのは飽きちゃうから、別のことしたほうが気晴らしになって楽しいし」
「いいからチャーハン作れよ」
「いやいや、実はチャーハンはあまり好きではなくて、ショートケーキを作る方が圧倒的に楽しい。ショートケーキ最高!(^^/」
「チャーーーーーハン作れよっ」
魔法の言葉の程度の問題
「色々な言語を書いたほうがいいよ」
「色々なフレームワークを使ったほうがいいよ」
「色々なエディターを使ったほうがいいよ」
つまり...
「色々なことをやったほうがいいよ」
その通りだと思います。先の料理人の言う通り、違う世界を見ることで、目の前の世界を違う角度から見つめ直すことができて、結果的に目の前の世界を良くすることにつながります。
でもそれは、目の前の世界を "ある程度" 知ってるから、別の世界と比較して新しいものが見えるわけで、そもそもチャーハンもよくわかってなかったら、ショートケーキを作ることによるチャーハンへのフィードバックはほとんどないでしょう。
もちろん、ショートケーキ単独で学べることは大いにあります。それが記憶になって、後のフィードバックにもなるかもしれません。
でもまだ、お金もらっておきながら、おいしいチャーハン作れてないですから...
浅い学びのつまらなさ
「すでに仕事で使ってるものを勉強してもつまらない」
という声もよく聞きます。これもある程度はその通りなのですが...
本当にチャーハン作りの楽しさを得たでしょうか?まだ浅いところしか見てないから、つまらないだけじゃないでしょうか?
どのようなものでも奥深い世界があります。突き詰める人は物事の深淵に感心します。
ある程度書けるようになったら、もうこのプログラミング言語はつまらない?ある程度使えてるからもうこのフレームワークはつまらない?
もっと追求すれば楽しいことは幾らでもあります。逆に、その追求による楽しさがわからなければ、別のことをやっても浅い楽しみしか得られず、またすぐに飽きるでしょう。
もちろん、それでも、別の世界の楽しみを探すことに意義はあります。大いに意義があります。ぜひとも!
でもまだ、お金もらっておきながら、おいしいチャーハン作れてないですから...
プロ意識はどこへ?
「別のツールのほうが好きで...」
お金をもらってチャーハンを作っているのに、まだおいしいチャーハンを作れないことの許される理由になるでしょうか?
お客さんはそんなこと知りませんし、お店だって知ったことではありません。同僚だって知ったことではありません。プロの料理人として誇れることでしょうか?
明日にでも、そのお仕事を辞めたらどうでしょう?ショートケーキ作りの道に行ってみては?
ただ、"そうもいかない" というのは確かにあります。生活ができなかったらしょうがないですから。
でも、目の前のお客さんを喜ばせられない、喜ばせる努力ができない人が、ショートケーキの世界に行って成功するか?
もちろん、向いてる向いてないがあるので、厳密にはショートケーキなら大成功の可能性もありますが、プロ意識の薄いパティシエになりそうで心配です。
そうまだ、お金もらっておきながら、おいしいチャーハン作れてないですから...
お店のために!?
「先輩に付きっきりでフォローしてもらえば、お客さんに喜ばれるおいしいチャーハン作れます!なので、お店のために毎回そうしています!三年くらいずっとそうやって貢献しています!」
早く先輩を解放してあげてください。
目の前は学びの宝庫
仕事で使っているツールから得られる学び、それは非常に大きいものです。
なぜかというと、本気の実践で使っているからです。本気の実践で使っているそのツールの「様(さま)」を、しっかり見ることができるからです。
個人ではなかなか...
400テーブルのDB設計はしませんし、1000万件データにクエリを投げることもないですし、100画面作ることもないですし、アクセス負荷に悩むこともないですし、多様な決済機能を備えたりもしませんし、凝ったキャッシュ戦略を実装することもありませんし、複数人での開発をすることもありません。
多少、狙ってやることはあるかもしれませんが、仕事では厳しい要求の中でツールが活躍しています。そのツールの真価が問われていて、そのツールの本質を知るきっかけも多いです。
もちろん、破片プログラマー になりやすいので、個人の小さな環境で何かを作ることに意義はあります。そして、とても大きな意義です。仕事の大きすぎる環境だとだと試せないことを、個人の小さな環境だと試せることもあります。
でも、まずはショートケーキじゃなくチャーハンで、プレッシャーなしで色々と試行錯誤したり、世のチャーハンのレシピを調べたり、自宅の小さな設備で作って苦労してみたり、などなど、本番のチャーハンと練習のチャーハンで比べることで、チャーハンの本質を知ってみてはどうでしょう?
そうすると、ショートケーキを学ぶときも、チャーハンの本質とショートケーキを比べられて、ショートケーキの本質に早く辿り着けるかもしれません。
少なくとも、それをやらないということは、「仕事場という目の前にある豊富な学びをスルーする」ことになるのです。
転職すると前の現場を見ることができません。その仕事場を見て分析できるのは、"いま" しかないのです。
できる人は使いこなしてる
常に色々なことを学んで、色々なツールに長けている人がいます。jfluteの身の回りにたくさんいます。若い人も含めて。すごいですね。
でも、彼らはみな、目の前のツールもちゃんと使いこなしてます。そのための勉強も実はしていたりします。
それがその人にとってキライなツールだったとしても、仕事で使うことになって避けられない以上は...
「なるほど、これこうすればこうなるんだな」
「あー、わかった、こうなってるからこうなんだ」
「しょうがなく勉強してきたよぅ、まあ大体わかった」
とか言って、ちゃんと詳しくなってたりします。本当にキライなのか?って疑いたくなったりもします。聞くと「俺これイヤなんだよね」って言うわけですが、でもその人が誰よりも詳しかったり...。
その土台がある上で別のことも学ぶから、得られる相乗効果が非常に高く、好きなツールもキライなツールも、どちらの習熟度も上がっていくの繰り返し。プロの技...というかプロの立ち回りでしょうか。
...
ちなみに、昔々の時代に一緒に仕事をしていた、jfluteが心から尊敬する二人を思い出します。彼らは本当にそんな感じでしたね。
お金もらってやる以上は、要求を超える品質を目指して行動する
あー、自分も頑張らねば...ってブログ書きながら背筋が凍ってきました。
程度の問題という問題
たぶん、そんなことはわかっている、という人も多いでしょう。
本当にチャーハンを極めようとすると、もしかしたら10年以上かかるかもしれません。ラーメンも極めなきゃいけないかもしれません。パティシエに転職したいなら、確かにどこかでちゃんとショートケーキに時間を当てないといけないかもしれません。
なので程度の問題です。でも程度って線引きが曖昧だから判断がしづらい。バランスをどう取るか?そこは個人のプロ意識に委ねるしかありません。
ただ、いま時代のプログラミングの世界は、変化も激しく選択肢も要求もあまりに多様化していて、その辺のバランスを崩しやすいとも思っています。
少なくとも、jfluteの身の回りで、それを感じることがたくさんあるのです。チャーハンの話がたくさん感じるのです。若い人でもそうですし、ベテランでも感じることがあります。
「自分これは詳しくないので...」
役割分担という言葉が通じないほど、さすがにそろそろ詳しくないとダメでは?なんか詳しくなろうとしてないだけでは?
【追記】
ツールの選定や技術的負債の返済でも、このことが影響してきます。目の前のツールを使いこなしてないのに、新しいツールを使ってハッピーになれるのか?目の前のツールを使いこなしてないだけで、別に技術的負債ではないかもしれないのでは?。