GoTheDistance

ござ先輩と言われています。(株) クオリティスタートという会社をやっています。

受託開発がつまらないなんて言わせない

本当はこういうのをエンジニアの未来サミットでお話できればよかったんだろうと思って、電車の中でふと思ったことをガンガン書く。

IT業界に携わってシステム開発を行っている方々で最も多い層は、受託開発という形でシステムを作ったりメンテナンスをされている方々のはずです。江島さんのニッポンIT業界絶望論というエントリが出てから「受託開発なんてうんこ」みたいな空気がすごく醸成された感があると思うのですが、無自覚にふわふわとイノベーションにかぶれるのもいい加減にして欲しいと思います。

確かに受託開発には負の側面があります。誰でも始めることが出来る参入障壁の比較的ゆるい世界ですが、どこでも出来るような仕事しかやっていないような会社はすぐに行き詰ります。そういうお話は結構耳にします。受託開発という形態をとって実際には技術者を派遣しているだけの創造性のかけらもないような会社もたくさんあると思われます。こういう会社に所属している時に、その負の側面が一気に加速する。武器のない会社に価値を見出す顧客なんかいないので、そういう会社がどうなるかといえば足元見られて価格交渉がどんどん厳しくなる。仕事を取ってくる苦労は膨大なのに、それに反比例して仕事の内容は創造性も求められなくなる。

こんな状態でやる気が出る技術者がいるわけがないです。至極当然です。誰もハッピーにならない会社なんて必要ないので、淘汰されても仕方がありません。残念でした、と。

でもこれって、「受託開発」というビジネスの進め方の問題なんですか?その会社の能力に起因する問題じゃないんですか?受託開発だから悪なのであるというのはあまりに短絡的な考え方じゃないんですか?製品開発なら価格交渉に苦労することなく創造性を発揮できると決まっているんですか?どんどんWebサービスをリリースする会社にいけばエンジニアとして楽しくいける保証なんてどこにあるんですか?受託だろうが製品開発だろうが、求められる資質を身に着けようとしないなら結局ダメなんじゃないんですか?

そういう疑問が出てきてしまうのです。

僕は受託開発しかやったことがないですけど、今まで作ってきたシステムに対して深い所まで考え提案し作っていけるような仕事を与えてもらったので、受託開発でも楽しく仕事が出来るはずだと思っています。受託開発だからつまらないなんて言うのは言い訳に過ぎないと思います。ただ、得意分野を持っていない会社は顧客基盤が安定しないことが多いので、顧客基盤が安定していることは会社を選ぶ際に重要な視点の1つだと思います。

僕もいきなりぽーんと放り込まれたこともありますが、その時はいろんな会社の方がいっぱいいたのでうちの会社の開発プロセスとは何がどう違ってどういうツールを使ってどんなドキュメントを書いているんだろう、というのをずっと興味を持って調べていました。DIコンテナJUnitはそこである程度覚えることが出来ました。で、その次の仕事で自分の作ったプログラムに対し、元々DIを使うっていうのもあったため、かなり効果的にDIを使ったシステム開発に溶け込むことが出来ました。

ちょっと話外れるけど、コミュニティについても一言いっておきます。結論から言えば、よりよいソフトウェアを作っていくためにはどうして行くべきかという議論が出来る場所は必要だと思っています。そもそも、技術的向上心を持っている人なんて少ないと思うし、自分が悩んでいるレベルの会話がしたいのならば、そういう問題意識の高い人たちが集まるところに行くしかないんじゃないですか?

まぁコミュニティの古参が固定化してきちゃうとだれてきちゃうし運営にはお金もかかるし変な思惑がいったりきたりすることもあるでしょう。人間だもの。いい事ばかりじゃないけど、決して悪いところじゃないと思います。

とにもかくにも、受託開発だからさーなんて言う前に、目の前のすべきことを頑張ることが一番重要だと思います。

SQLを学習できるWebサービスを作りました。