継続した学習 [プログラマー現役続行]
ソフトウェアの世界は、ずっと変化してきており、今後もその変化は続きます。私が初めてコンピュータに触れてから31年が経過していますが、学ぶべきことや面白そうなことが毎年のように登場してきます。
一方で、2、3年以上を要するソフトウェア開発では、その開発で使用される技術は開発期間中は固定化されます。そのため、業務をこなすのに最低限必要な技術を学習しかしなくても、そのプロジェクトが続いている限り、問題なく仕事をこなしているような感覚になるかもしれません。
常に継続して学習しているかしていないかで、ソフトウェアエンジニアとして技量は大きく差が付きます。たとえば、JavaあるいはRubyを使用して開発しているプロジェクトであれば、長い開発期間中に『プログラミング言語Java』、『Effective Java』、『プログラミング言語Ruby』などの使用している技術に関したきちんとした書籍を並行して読むことが必要です。
しかし、現実には、初心者本を読んだだけで、あとは、Googleで検索するだけに頼っている人が多く、困ったものです。その程度の人が集まって、コードレビューやペア・プログラミングをしても、結果として生み出されるソフトウェアの品質は知れています。
教育や講演で何年も言ってきたことですが。
どのような言語やシステムであれ、「どのような本を読んで勉強しましたか」とか、「今、どのような本を読まれていますか」と聞けば、その回答でだいたいのレベルは分かってしまいます。継続して勉強するかしないかは個人の問題です。しかし、人は環境に流されやすいです。周りが勉強しなければ自分も勉強しない、その逆に、周りが勉強しているから自分も勉強しなければとなるわけです。結果、メンバーが勉強しない開発組織と、メンバーが継続して勉強する開発組織に分かれてしまうのだと思います。
そして、ソフトウェアは人が作るものですから、開発メンバーの技量が作り出されるソフトウェアの品質に影響を与えてしまいます。
(「生産性の向上」、「業務を通した学習の落とし穴」、「自己啓発が組織を導く」)
一方で、2、3年以上を要するソフトウェア開発では、その開発で使用される技術は開発期間中は固定化されます。そのため、業務をこなすのに最低限必要な技術を学習しかしなくても、そのプロジェクトが続いている限り、問題なく仕事をこなしているような感覚になるかもしれません。
常に継続して学習しているかしていないかで、ソフトウェアエンジニアとして技量は大きく差が付きます。たとえば、JavaあるいはRubyを使用して開発しているプロジェクトであれば、長い開発期間中に『プログラミング言語Java』、『Effective Java』、『プログラミング言語Ruby』などの使用している技術に関したきちんとした書籍を並行して読むことが必要です。
しかし、現実には、初心者本を読んだだけで、あとは、Googleで検索するだけに頼っている人が多く、困ったものです。その程度の人が集まって、コードレビューやペア・プログラミングをしても、結果として生み出されるソフトウェアの品質は知れています。
教育や講演で何年も言ってきたことですが。
どのような種類のレビューであっても、レビューに参加している人のレベルを超えるアウトプットは、期待できません。
どのような言語やシステムであれ、「どのような本を読んで勉強しましたか」とか、「今、どのような本を読まれていますか」と聞けば、その回答でだいたいのレベルは分かってしまいます。継続して勉強するかしないかは個人の問題です。しかし、人は環境に流されやすいです。周りが勉強しなければ自分も勉強しない、その逆に、周りが勉強しているから自分も勉強しなければとなるわけです。結果、メンバーが勉強しない開発組織と、メンバーが継続して勉強する開発組織に分かれてしまうのだと思います。
そして、ソフトウェアは人が作るものですから、開発メンバーの技量が作り出されるソフトウェアの品質に影響を与えてしまいます。
(「生産性の向上」、「業務を通した学習の落とし穴」、「自己啓発が組織を導く」)
2009-10-10 08:57
nice!(1)
コメント(0)
トラックバック(0)
コメント 0