プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

「技術を盗め」の真意とは

新入生や新社会人として組織に入ったり、他の組織から畑違いの場所に異動すると、ゼロからのスタートになるときがあります。 そのときに、先輩からいかにして技術を「盗む」かが重要な要素になると思われます。 ここでは、自分の養分として吸収するために、先輩から技術を引き出す一手法を紹介したいと思います。

403 Forbidden


プログラマや技術職においては、よく「技術は盗め」と言われますね。私の経験でも、あまり技術を教えてもらった覚えはないです。というより「きっかけぐらいは教えてあげるけど、後は自分で覚えろ」といった風潮が強いように思います。


しかし、いきなり「自分で調べろ」と言われても、どうしたらいいか戸惑うことも多いのではないでしょうか。質問しようにも、何を聞けばいいんだろう。どこから手をつければいいのかな。そんなことはありませんか?


どうすれば技術を「盗む」ことができるでしょうか。

技術の盗み方


大工さんや職人さんは、親方やベテラン職人の仕事ぶりを見ながら技術を盗むイメージがありますね。ではプログラマの盗みかたは?それはやはりソースコードでしょう。コードには盗むべきことがたくさんあります。学習目的だけでなく、コードを読む技術は様々なケースで必要となるはずです。


様々な技術に興味を持つことも大切ですね。個人的には「これから必要となるであろう技術」よりも「自分が興味のある技術」から学んでいった方がいいと思います。自分の興味あることは、何より理解度が違うはず。たとえその技術がすでに使われなくなったとしても、そこから何かを学ぶことができるでしょう。


時には誰かと話してみることも必要なこと。個人で学ぶことができることは限られています。他の人と話すことで、自分とは違った視点や知識を得ることができるかもしれません。なお、これらはあくまでヒントにとどめるべきです。正しい理解のためには自ら実践して、自分のものにする必要があることをお忘れなく。

「技術を盗め」の真意とは


私は「技術を盗め」は技術に興味を持てということではないかと思います。


学生の頃に一生懸命勉強したことなのに、大人になったら全然思い出せない、なんて経験はありませんか?単に読んで記憶したことは身にならない、ということなのですが、それに加えて、どの程度興味を持って学習したか、ということも大きいのではないでしょうか。


自分が好きで勉強したことは、わりと覚えているものです。教科書にあることを超えて、もっといろいろなことを調べてみたりしたことでしょう。気がついたらクラスの誰よりもそのことに詳しくなっていた、なんてこともあるかもしれません。


プログラマに限ったことではありませんが、プログラムを作る時にはいろいろな問題が発生します。何がなんだか分からない現象が起こったり、作る前は思いもしなかった問題に遭遇することも珍しいことではありません。そしてやっかいなことに、そうした問題を解決する方法を書いたドキュメントはほとんどないのです。


そのような問題に対処しつつプログラムを完成させるには、様々な経験を積む必要があることは言うまでもありません。しかし、それはただ漠然と作業していれば身につくものではないのです。厄介な問題や案件に自ら積極的に取り組み、実践を積んでいかなければならない。誰かに助けてもらって解決した問題は、自分の経験にはならないのです。


技術は盗め - それは単なる放任主義ではなく、技術に興味を持ち、積極的に取り組んで欲しいという、職人仲間からのメッセージだと私は考えます。


あなたはどのように思いますか?