BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ベテランプログラマほど知識豊富なのだろうか

ベテランプログラマほど知識豊富なのだろうか

原文(投稿日:2013/05/02)へのリンク

プログラマの知識は年齢と関係するのだろうか,ベテランプログラマは知識が豊富なのだろうか,新しい知識を求めているのだろうか – このような疑問に対して,Stack Overflow のデータに基づく回答を与えようとする調査が先日行われた。

米国ノースカロライナ州立大学コンピュータサイエンス学部の博士課程学生である Patrick Morrison氏と同准教授の Emerson Murphy-Hill 氏は,プログラム知識と年齢との関連性についての調査結果を プログラム知識と年齢との関連性 - Stack Overflow に基づく調査 (Is Programming Knowledge Related To Age? An Exploration of Stack Overflow) (PDF) という資料にまとめた。

調査は1,694,981人のプログラマが参加するStack Overflow のユーザデータベース上で実施された。2013年2月時点でのユーザの平均年齢は30.3歳である。これらユーザのうち,年齢を具体的に公開している300,000人以上が今回の調査対象となった。このグループから,2012年中にサイト上の質問に回答を寄せて,1~100,000の評価ポイントを得ている人々がさらに選択された。サンプルとなった84,284人の平均年齢は29.02歳だ。著者たちは質問よりも,質問への回答の方がサンプルとして適切だと考えている。なぜなら "優れた質問が回答不能であることはあり得ても,評価の高い回答が理解できない,あるいは間違っている可能性は低いはず" であると同時に,"プログラミングに関する質問に回答する能力は,プログラマとして採用される際の面接でも頻繁に活用されるもの" だからだ。

著者らは今回の調査において,プログラミングの能力ではなく知識を評価するために,関連する3つの疑問に取り組んでいる。

プログラミングの知識に対して,年齢はプラスの効果を持つのか?

プログラミングの知識の計測法には Stack Overflow (SO) の 評価ポイント (Reputation) を用いた。結果は下のグラフが示すように,10~50代までほぼ直線的な増加傾向があり,"年齢と SO の評価ポイントには肯定的な関連性がある" ことを示している。

 

年齢の高いプログラマほど,多様な技術あるいは技能を所有しているのか?

さまざまな領域の知識を測る手段として,著者らは Java や C#,JavaScript,C などの Stack Overflow タグを利用した。その結果 (下に示す) は,"プログラマ毎のタグ数の平均は,最初は減少傾向で30歳で最低となり,その後は40代,50代と増加して,60代では分散している。" 年齢の高いプログラマほど広いスキルセットを所持しているようだ。

 

ベテランのプログラマは新技術をどの程度学んでいるのか?

ベテランプログラマが新しい知識を取得しているかを測るために,調査対象をいくつかの新技術 - clojure, django, git, ios, jquery, linq, mongodb, ruby-on-rails, silverlight, windows-phone-7 - に限定して,回答に関連するスコアを検討した。

私たちは,ベテランも新技術の知識を習得すること,回答のスコアを検討すればそれが計測可能であること,の2つを推測しました。各回答には,その回答に対する賛否によってスコアが割り当てられます。ベテランプログラマが新技術を学んでいるならば,それらの技術において若いプログラマと同等か,あるいはそれ以上の回答スコアを獲得していると思ったのです。

結果データは下の表に示されたとおりだ。

 

この結果から著者らは次のように結論付ける。

'ios' と 'windows-phone-7' という,統計的な帰無仮説 (null hypothesis) から著しく逸脱した2つのタグが存在しています。これらは例えば,ios の基礎である Objective-C が20年の歴史を持っているように,古くからある技術ではベテランプログラマの方が有利なことを示しているのかも知れません。年齢と選択した新技術の関連性が比較的弱いことを考えると,ベテランプログラマによる新技術の習得を否定するような強い証拠はありません。ベテランプログラマも新技術を学んでいるのです。

著者らは Stack Overflow について,プログラム知識を測る上で最良のサンプルではない点は認めている。"プログラマ雇用に関する米国統計によれば,職業プログラマの年齢分布はSO のユーザ分布よりも全体的に高い方向にずれている" こと, "若いプログラマがごく自然に [SOに] 参加しているのに対して,ベテラン開発者は自信が知識を持っていると自負している場合にのみ参加している可能性がある" ことがその理由だ。彼らはにまた,"RQ3 [3つ目の論点] の解法が妥当かどうかは検討の余地がありますが,現時点ではこれよりよい方法を持ち合わせていないのです。"

この記事に星をつける

おすすめ度
スタイル

BT