システムエンジニアは設計書を作る人、プログラマーはその設計書を元にコーディングする人と定義しましょう。
この場合、システムエンジニアとプログラマーの関係はどうあるべきでしょうか。
システムエンジニアの観点から私の経験を踏まえ考えを話したいと思います。
プログラマーは自分の子供だと思え
別に自分の子供のように可愛がれとかそういう意味じゃないです。(笑)
SEはいくら自分が作った設計書は完璧でどこからどう読んでもプログラマーに伝わるはずと思っても残念ながら伝わってないことが多々あります。
まだここはどういうことかと質問してきてくれればいいですが何も聞いてこないでスケジュールが進んでいくときもあります。
なのでこっちは「設計書完璧だからな、コーディングも順調だろう」と思ってしまいますが実際は何も進んでいなかったということもあります・・・。
こっちとしては「え、何で!?」と思ってしまいます。
ですが怒ってはいけません。
相手は子供です。
プログラミングの能力はあっても仕様を理解するという力がないのかもしれません。
人に聞くという能力が欠如しているのかもしれません。
スケジュールが遅延するとどうなるかという想像力が欠如しているのかもしれません。
見た目はもうオッサンだけど人柄だけで採用されたのかもしれません。
しかしまだ子供なんですからしょうがありません。
逆にほとんど手間かからなくて優秀そうだなと思って安心してたら根本から間違ってるじゃん!という時もあります。
でも駄目です。相手は子供です。
別にプログラマーをバカにしているわけではなくて子供と同じく発展途上だと思って
親のように導いてやる必要があると言いたいのです。
(ただ面と向かって子供だなーとは言ってはいけません。相手も一丁前にプライドは持ってます。)
問題なくこなしてくれたら褒めれば良いのです。
ほっといても色々聞いてくるようなプログラマーだったらいいでしょうが
何も聞いてこないようだったらこっちから何か問題がないか聞いて上げたほうがいいでしょう。
(設計と実装で完全に分離しているようなプロジェクトだと無理ですが近くにプログラマーがいるなら)
自分の子供だと思ったらほっとけないでしょう?
プログラマーの様子みてあげて自分の手にあまるようだったら上に報告するとか手の打ち用もありますし。
自分の責任果たしてちゃんと設計書作ったのに何でプログラマーの面倒までみなきゃならんのだ、と思っても結局プログラムがスケジュールどおり完成しなかったらプロジェクトにとってマイナスです。
SEにも責任ありと見られかねません。
SEは設計書を完成して終わりでなく最後まで責任を持つ、くらいの気構えでいたほうが良いと思ってます。
そのくらい腹をくくったほうが良い仕事ができますし周りのあなたを見る目も変わってくるはずです。
当然面倒を見たプログラマーにも感謝されるでしょう。(嫌々だと駄目ですよ)