届くのかはわからないけれども。

良いプログラマの定義 - give IT a try
拝読して思うところがあったので書き残しておこうと思います。

はじめに

id:JunichiIto さんの考えに概ね賛成です。
しかしそれを目指す際に道が少しずれると理不尽な壁があり
モチベーションが高いばかりに苦労することになるだろうな、と感じているので
そんな人が減ればいいと願うものです。

とかくに人の世は住みにくい。

1から10まで言わなくても1〜2のきっかけを与えるだけで、残りの8は自分で埋めてくれるような、そんな姿勢を持ったプログラマ

どの業界でも「指示待ちではなく自分で考えて行動すること」が
必要である、今の若者には足りない! とよく言われます。
しかし厄介なことに、行動したばっかりに
余計なことすんな!と怒られるという状況も同時に存在します。


ここでちょっとしたQを。
Q1. あなたの実装担当*1は、あなたが企画したもの?
-> Yes: OK, このケースに当てはまりません。そのまま突っ走ってください。
-> No: Q2へ
Q2. その実装は、あなたが仕様を決めたもの?
-> Yes: 良いプログラマの定義 - give IT a try 以上に私からはありません。
-> No: このエントリーをどうぞ。



結構な割合でQ2-"No"に流れるんではないかと思います。特に大規模開発や、組み込みエンジニアなど。
この世界では

  1. 出すべき人が明確な仕様を出してくれない
  2. 締め切りに間に合わないので自分で決めて実装する
  3. トラブル発生する
  4. "実装した人が"怒られる

というコンボが起こります。そしてやさぐれます。
怒る人曰く、「締め切りに間に合わなくても人のせいだがなにかやっちゃったら自分のせいになる」そうです。

一歩前へ

というわけで、普段の業務内では実装担当は考えないことが求められます。
しかしそれじゃあ面白くないし。
上の2番時点、「自分で決めて実装」できる点は褒められるべきと思うんです。
怒られないにはどうあればよいか。
3番がなければいい。
トラブルが発生しないか、トラブルが発生しても自分一人に降りかからない状況をつくること。
そう、解は
自分で決めて -> 担当者とレビューして -> 実装
が出来るようになること。
でも仕様が出てこないケースとは、ただサボってるだけということもあるものの
"データがなくて/確証がなくて決めかねている"とのケースが多いです。
そんな中でうまくやるには、トップランナーでなければならないかも。*2


...求められているのはなんと、
1〜2のきっかけを与えるだけで、更に8の分 周りを引き上げてくれるような、そんな姿勢を持ったプログラマ
ということだってのがこの問題考えているうちに見えてきました。
おぅおぅ、こう書いてみると年寄りたちは若者に無茶振ってることがわかるなぁ。
いきなり上手く出来ない問題と思いますが自分もそうありたいし、
こんな気持ちで接してくれる人は(初めは拙くとも)歓迎してます。

それぞれの道で

ここで「こんな感じでうまくいったよ」って事例を出したいところではあるのですが
コンプライアンスの関係上残念ながら割愛です。
今の社会は面倒くさいにゃあ...




ずいぶん真面目に書きすぎてしまいました。
火曜からはまた、ゆるっとお絵かきに戻ります :-)


*1:ソフトウェアに限らず自分の主業務遂行、と読み替えてください

*2:目指す気持ちだけでも、ね