日本はエンジニアさんが不足しているという話は聞くが、実際の肌感覚としてもそんな感じがする。
現在エンジニアには、人月計算(man-month=、1人のエンジニアが1か月雇うとしたときのコスト)で仕事を委託しているが、当然ながらできるエンジニアはコストも高いし、基本忙しい。
ランサーズやクラウドワークスでももちろんエンジニアは探せるが、どのぐらいの単価が適正なのかがいまいちはっきりわからない。
オフショア開発系の会社にも、いろいろ話を伺ったが、月150万円+の仕事量があれば、コスパは圧倒的に高いそうだ。
いずれにしろ自分自身がバリバリのエンジニアだったらその辺りをもう少しジャッジできるのだが、私はマネジメントサイドなので、技術ディレクターか、信頼できるパートナーに技術的評価を委ねるしかない。
また下手に依頼して、変なコードを本体に結合してしまうと、デグレ(degrade)が起こり、前よりクオリティが落ちてしまうリスクもある一方、スーパーエンジニアは、ミニマムのプログラムで数倍の処理速度のプログラムコード書いてきたりするので、結果的に最低レベルの人を3人雇うより安くついたりすることもある。
このあたりが難しいのである。したがって具体的な方法としては、
1)過去の実績を考慮する
2)一度試験的に一部のプログラムを作っていただいて評価する
といったステップになる。もちろんいくらエンジニアさんが優秀でも、こちらの要件定義がふわふわしていると、依頼者ーエンジニアの間で認識の齟齬が起き、お互いに不満を残す結果になる。
システム開発は深い。