自分は恵まれた環境で仕事をさせてもらっていることに感謝しなくてはいけないと思う

私の会社は一般的なSIerと比べてどちらかというと技術力を売りにしている会社だと思いますが、その中でも、現在はアーキテクトチームと呼ばれる部署で働いています。そういうこともあって、自分の周りには40歳過ぎてもプログラミングしているような人もたくさんいますし、同僚はみんな勉強熱心で技術好きの人が集まっているため話もよく合います。そういう意味ですごく居心地がよいですし、恵まれた職場環境で仕事をさせてもらっていると思います。
ただし、いわゆる研究開発専門の部署ではないので、設計や開発の支援のため実際の開発案件に入って仕事をすることになります。ほとんどが客先での常駐作業になるのですが、仕事のやり易さや満足度は、当然のことですが常駐先のお客様ごとに全然違いますね。
このブログで指摘してきたようなつらくて大変なプロジェクトもいろいろとありましたが、中には今でも成功体験として記憶に鮮明に残っているようなプロジェクトも何回か体験させていただくことができました。少なくとも私にとって働き甲斐のあったプロジェクトに共通して言えることは、技術者とマネージャーとの間でお互いに信頼関係を築くことができていたということですね。多くの場合、

  • PMもプログラマー出身者で今でも最新技術に興味がある
  • PMは技術を全然知らないが、技術上の判断はプログラマーの意見を尊重してくれる

のどちらかでしたが。DIがまだ珍しい時代でも、Springの導入をさせてもらったり、AspectJを導入させてもらったりしたこともありました。アナリシスパターンやDDDを設計に取り入れてもらってやっていたプロジェクトもあります。もちろんメリットに対してきちんとした説明を求められることは当然ですが。それから、上級者に対してワイドモニターやメモリー容量の大きな高速のPCを与えてくれたり(シャア専用PCと呼ばれていましたが)環境面のことも考慮してもらえましたね。そういうプロジェクトだと、毎日の仕事がものすごく楽しいというか、帰りがいつも12時過ぎという非常に忙しいプロジェクトにもかかわらず、すごくモチベーションが高いので苦にならないところもありますね。(逆に働き過ぎをマネージャーから注意されるくらい。)
一方、私の経験したいやな仕事としては、

  • チームメンバー全員電話を3コール以内にとることを求められる*1
  • インターネット接続環境もなく、Excelのドキュメント作成だけ何ヶ月もやらされる
  • つまらない会議に何時間も参加させられた上に議事録作成もやらされる
  • ステップ数とかバグ発生率とか古いメトリックスで生産性を計られる
  • 出社時間や服装やセキュリティールールなどに特に厳しい

などがありましたね。サラリーマンとしては当然のことかもしれませんが、ピープルウエア 第2版 ? ヤル気こそプロジェクト成功の鍵に書かれているように、もうちょっと技術の専門家として扱ってほしいという気がします。さすがに、現在はアーキテクトという立場で参加するので、オブジェクト指向を使うなとか無知なマナージャーから上から目線で変なことは言われることはなくなりましたし、ある程度自分の意見でプロジェクトの進め方を改善するようにアドバイスできる立場にあります。
自分自身の経験上は、PMやリーダーの考え方によってプロジェクト参加者の満足度や生産性はかなり変わってくるのかなと思います。SI業界のリファクタリングとしては、まずは現場レベルで職場環境の改善を行い、技術者の満足度やモチベーションを改善していくのが良いのではないかと思います。
ただし、仕事に対する自分自身の満足度が高く、顧客に対していくら評価の高い良い仕事ができても、人月の下請け常駐モデル(SES)では会社の収益もそれほど上がらないし、自分の給料にも反映されにくいというのは悲しいところです。そうかといって、大規模な一括案件といういわゆるSIer的な仕事は労働集約型で最悪パターンに陥る事が多くできるだけ避けたい気がしますが。この辺りは、ビジネスモデルというか、現場レベルではどうしようもないので、もうちょっと会社の経営レベルや業界全体のレベルで何とかいい方法を考案してもらわないとどうしようもないのかもしれません。

*1:下請けに電話対応させるのは今ではコンプラ的にかなり問題だと思いますが