SSブログ

ソフトウェア開発組織が持つべきカルチャー 014 [ソフトウェア開発組織が持つべきカルチャー]

知識教育だけではなく、良い行動パターンを促進する

技術の伝承と良い習慣の伝承」とも関連しますが、日本の企業でソフトウェア技術教育(特に新卒新人の技術教育)を担当している部門やグループは、何を教えたかということで教育体系をまとめようとする傾向があると思います。しかし、個々の教育コースの内容を見ると浅かったりします。

ソフトウェア技術というのは、毎年新しいものが登場し続けますので、すべてを教育コースで教えることはできません。そのため、ソフトウェアエンジニアに身に付けてもらうことは、知識だけではなく、継続して自発的に学び続けるということです。

たとえば、2000年から行っている「プログラミング言語Java教育」は、単にJava言語の知識を学ぶというだけではなく、膨大な自分の時間を使って専門書をきちんと学習する習慣を身に付けてもらうことも目的としてあります。実際、一年間の最後の成果発表会では、「学習する習慣が身に付きました」と発表する人も多いです。

まともに書籍を読むことなく、いつもネットで調べるだけということでは、非常に偏った学習方法となります。私自身が1998年からずっと継続してい行っている朝の専門書の勉強会も、継続して学習するという習慣付けを身に付けてもらうことも目的としています。英語の書籍による勉強会は、知識を吸収するだけでなく、英語で技術書を読むことに抵抗感を無くして、英語で専門を読むようになってもらうためです。また、最低限知っていて欲しいと思う「コンピュータの基礎知識」を学んでおいてもらう必要があるために、いくつかの専門書を用いた勉強会を開催してきました。

コードをレビューするというのは、読みやすいコードを書くということを常に意識してプログラミングする習慣を身に付けてもらうことも目的としてあります。

ソフトウェア開発組織のレベルを上げるには、教育体系を整備するだけではなく、好ましい行動パターンを促進する施策を行うのが長期的には良いと思います。

かつて、私自身の行動パターンをモデルとしていくつかの項目に分類して、それを元にアンケートを作成して、約70名のソフトウェアエンジニアに回答してもらい調査を行ったことがあります。その調査では、どの行動パターンがエンジニアのレベルと最も高い相関を示すかを調査しました。調査結果は今は持っていませんが、いくつかの行動パターンがエンジニアのレベルと相関が高くなっていました。

何が良い行動パターン(習慣)であるかは、ソフトウェア開発組織の中で整理してみるのが良いかと思います。ソフトウェア開発力が弱い組織は、悪い行動パターンを繰り返していることが多いです。