受託開発で幸せを感じられるか

少々ネタ気味のタイトルですが、そもそもSIの未来はどうなるかとかは置いておいて書きます。幸福感については、人によって感じ方が違うと思うので、あくまで自分が幸せかどうかで考えました。結論から言うと、幸せうんぬんを仕事で考えると疲れるってことだけは分かりました。
 
そもそも仕事をするうえで、自分自身を勘違いさせて気持ちよくさせて、つまらない仕事でも面白くできるようにするというのは、大事なことだと思います。*1
例えば、仮にたくさん給料がもらえるからと、炎上しているような案件ばかりやらされたとしましょう。その経験を次から活かして、炎上させない人に昇格できれば、キャリアとしてもいいし、火消しとして経験を積めれば、給与も高くなるかもしれません。しかし、いつも炎上しまう人は、同情はされても、キャリアとしてはどうなんだろう?となることが多くなるかもしれません。
 
まずは、受託開発において、よい開発、よい仕事とは何でしょうか?とりあえず、まず仕事としてコミットメントしなければいけないことは、納期と予算について遵守することだと思うかもしれません。実際自分も仕事を受けるときは、納期と規模は必ず確認します。そこから派生して、要求や要件を詰めていき、納品物を確認し、設計、実装、テスト、検収などを行ってリリース、運用と改修などを繰り返していきます。
  
自分がこのいわゆる受託開発の仕事の流れで、上で述べたような部分で好きな事は何だろうか?あえて考えると、予算と納期内でモロモロおさまるだけじゃない、他の部分で、どこまで理想的な開発ができるかということが、一番やりたいことなのかもしれません。
 
次に、理想的な開発とはどういうものだろうか?と考えると、開発プロセスだろうか?美しく、メンテナンスしやすいソースコードソースコードがきちんとレビューされ、同じ規約でしっかり書かれている、などメンテナンスしやすい設計にすることができるまで、こだわりを持ってやり切るということではないかと思っています。
他にも、理想的な開発ができたと思える時を挙げてみると、顧客の要望に矛盾があり、矛盾を説明することで、最適な答えを導けた。リリース後バグが少ない。システムがダウンすることなくできた。などシステムの成功というのはいろいろな側面から見ることもできます。ビジネス的な成功を意識するのと、相反する部分もありますが、エンジニアにとっては、そこは大事なところであるし、納得のいく、やりきり感は、個人的には仕事をするうえで大事にしています。と言いますか、それしかないんじゃないかと思います。どこまでその仕事で、気が回ったかとも言えるかもしれません。
 
ぐだぐだ考えてみましたが、あまり仕事に意味や価値を見出だせるほど、賢くないので、与えられた仕事をやりきる反射神経系だと自分はつくづく思います。本当は、中長期的にキャリアとか考えた方がいいのでしょうが、そんなプランが思いつきません。なりたい自分なんて案外ないし、明日には、気持ちも変わっているので、たいしたことは達成できないなと思いますが、直近の仕事で身近な何人かと、緩やかな評価をお互いし合うというのも案外悪くはない気がしています。

*1:社畜と揶揄されるかもしれませんが。