業務を通した学習の落とし穴 [プログラマー現役続行]
業務を通した学習の落とし穴長年同じ種類の開発を行っていて、自分は何でもできると思っても、それは、「井の中の蛙大海を知らず」だったりすることがあります。C言語でポインタが分からないのは極端な例かもしれませんが、関数ポインターを使用してオブジェクト指向的プログラミングをしたり、あるいは、いわゆる抽象データ型(Abstract Data Type)を実践したりしている人は意外と少ないです。さらに、ITronなどの組込システムだけで長年開発を行ってきた人の中には、簡単なファイルの読み書きなどのUnixシステムプログラミングさえ、まともにできない人がいたりします。
新たな技術を習得するのに最も効率的な方法は、業務で使用している技術について学習することです。業務で使用していますので、すぐに業務に役立ちますし、多くの時間その技術に接しているため、効果的に学習することができます。
業務を通じての知識の蓄積は効果的なのですが、落とし穴もあります。それは、業務をこなすのに最低限必要な事柄だけしか学ばないで終わってしまうことです。 たとえば、何年もC言語を使用して組込みシステムを作ってきたエンジニアで、ポインタの使用方法を知らない人がいるとは想像できないかもしれませんが、実際には知らない人がいます。なぜ知らないかというと、グローバル変数を多用した設計しかしたことがなく、構造体であっても、決してパラメータとしてそのポインタを渡す設計をしたことがないからです。
『プログラマー”まだまだ”現役続行』(p.104)
業務がこなせるようになったら継続して学習をする習慣は、若い頃から身に付ける必要があります。社会人となって2、3年もすれば会社の開発業務はこなせるようになり、その結果、学習をやめてしまう人が増えます。特に、C言語での開発しかしていない人の場合には、その傾向が強いです。2000年の頃に私が200人程度のエンジニアに対して教育を行ってアンケートを取った時にも、C言語での開発しかしていない人は、本を読まない人が多かったです。
業務をこなせるレベルになったら、さらに、その技術を深く理解するために、関連する書籍を何冊か読むとよいでしょう。今度は、ある程度その技術を理解して習得しているため、理解も容易になります。この段階で、その技術を作り出した人たちが執筆した技術書を読むと、必ずといっていいほど、自分が知らなかったことが解説され ていたりします。
また、自分の理解が間違っているとしたら、それを正して、さらに深く理解するチャンスとなります。自分がきちんと理解していたとしたら、その本の誤った記述に気づくかもしれません。このようにしっかりと学ぶことで、その技術に関しては質問されても答えられるようになることを目指してください。
直接自分が担当している部分の技術だけではなく、その基盤となっている技術も同時に学ぶことも重要です。
たとえば、最近はリナックスが広く普及してきており、リナックスカーネルに関する書籍も出版されています。もし、業務でリナックスを使用しているとしたら、リナックスのコマンドやツールの使用方法を学ぶことも重要ですが、一般的なOS(Operating System)に関する勉強や、リナックスカーネルに関する勉強もしておくことが重要です。
「〇〇に関しては、△△君に聞けば答えてくれる」といわれるようになってください。質問されたときに、必ずしも即答できないかもしれませんが、その場合でも、どの書籍をどのように調べればよいかを適切に知っていて、調べられることが重要です。
『プログラマー”まだまだ”現役続行』(p.104)
読んだ本から実力がわかる
その人がどのような態度で学習してきたかは、「どのような本を読んだことがありますか?」とか、「最近読んでいる本は何ですか?」と聞くことでわかってしまいます。
あるいは、「この一年間で何冊技術書を読みましたか?」とか、「何冊購入しましたか?」という質問でもわかります。
一冊も購入していないとか、読んでいないという人は、ソフトウェアの開発経験年数が10年以上であっても、あまり信用できなかったりします。
『プログラマー”まだまだ”現役続行』(p.114)
ソフトウェア開発経験が長いということは、それだけ、スキルが上がっていることが周りから期待されます。しかし、それがふたを開けてみると、本も読まない、実際にソフトウェアを設計したり実装したりすると、まともに設計できなかったり、自分で作成したプログラムでさえも説明やデバッグがうまくできなかったりしたら、周囲からも信頼されなくなります。そして、その失った信頼を取り戻すのは、長年の間に意識せずに身に付いてしまったソフトウェア開発に対する悪い癖を直す必要があるため、容易なことではありません。
2013-07-30 07:59
nice!(1)
コメント(1)
トラックバック(0)
こんにちは。
継続的な学習、大事ですね。
業務だけでは、知識が偏ってしまうのは、分かります。
by 師子乃 (2020-12-17 13:45)