Tbpgr Blog

Ruby プログラマ tbpgr(てぃーびー) のブログ

量産型職業プログラマー対応

概要

量産型職業プログラマー=生きていくためだけにプログラマーをしている向上心のない開発者。
基本プログラムに興味はなく、仕事以外では絶対にコードを書かない。
長いので以降、量産PGとします。
そのような開発者を多数抱えた技術系リーダー、サブリーダーの立場を想定。

想定されるスキルレベル

・開発言語の最低限の文法は把握している
・ライブラリや、デザインパターン、イディオムは知らない。教えても覚える気はない
・言われたこと以外はできない
・厳密に言うと言われたことも低い精度でしか出来ない
・コピーした処理の元処理が間違っていても気づかない
・設計書が誤っていても気づかない
・同じミスを繰り返す

対応

DSLを利用して可能な限りのコードを自動生成にする
積極的な自動生成(※全自動生成)の場合はリファクタリング時に苦労する可能性大なので
自動化対象の処理の特性に配慮すること。
消極的な自動生成はコードの作成を削減するために一部適用する自動生成。
こちらはリファクタリングに影響を与えないので積極的に消極的になること。

・共通化
処理を徹底的に共通化する。詳細なコードを書かせずに呼び出して利用させる。
Utilityとしての共通化。Template Methodパターンとして基底クラスで処理を吸収する共通化などなど・・

・手順化する
テクニックとして教えても覚えないため、そのテクニックを含めて
作業手順を明文化する。
量産PGには出来るだけ手順内で製造出来る担当を割り振ること。

また、高レベルの技術者を手順で縛ると逆に効率が落ちるため
そういった技術者には裏で「自由にやっていいよ」と伝えておく。
※この辺は政治的な問題もありひっそり伝える必要がある。