paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

【エンジニア対談】SIer・大手からスタートアップへの転職前に知っておきたい事

f:id:paiza:20150123190814j:plain


f:id:paiza:20140916135428p:plainこんにちは。今回は谷口がお送りします。

転職を考えるITエンジニアの皆さんは、転職先に対してどのような希望条件がありますか?

転職先に対する希望条件の1つとして、「自社サービスを開発している企業がいい」という方が多くいらっしゃいます。

ただ「ずっと受託開発をやっていた自分でも、自社サービスの開発ってできるのかな?」「自社サービスの仕事って実際どうなの?」といった疑問や不安をお持ちの方もいらっしゃるかと思います。

そこで今回は、そんなエンジニアの皆さんのために、中途採用で自社サービスを展開するスタートアップ(ギノ株式会社)に入社したエンジニア2人に、自身の転職についてを語り合ってもらいました。転職のきっかけや、自社サービスの楽しいところ、辛いところなど、転職したいエンジニアの皆さんのご参考にしていただければと思います。
※弊社エンジニアはシャイなので、写真はあえて逆光で撮影しておりますw

■中途入社ITエンジニア対談

f:id:paiza:20140624194011j:plain 佐藤です。SIerで4年弱開発をし、現在はpaizaの開発や分析などを担当しています。

伊藤です。大手の自社サービス開発企業を2社経験し、現在はpaizaの開発を担当しています。

◆転職のきっかけについて

谷口:まず、2人の転職しようと思ったきっかけを教えてください。

佐藤:僕は最初に新卒でSIerに入社したんですけど、入社する時から転職を考えてたんですよ。

伊藤:えっ(笑)

佐藤:僕が就活してた時って、ちょうどリーマンショックがあった年だったので、就職先を選べるような状況ではなくて。大学の専攻も情報系で、もともとプログラミングは好きでITエンジニアにはなりたかったので、とにかくエンジニアを募集していて通える距離にある企業を受けたという感じですね。それまでに技術者のブログや海外のTech系の記事なんかも読んでいて、日本では転職ってネガティブなイメージを持つ人もいますけど、海外って転職でキャリアアップしていくのが当たり前みたいな風潮があるじゃないですか。自分もそうしようと思って。

伊藤:意識の高い新人ですね。

佐藤:まあ、とはいえ実際に仕事してみないと世の中のことも分からないですし、自分がこれからどういう開発をしていきたいっていう方向性も決められないので、最初は入れるところに入って、とにかく3年くらいはそこで開発の仕事をしてみようという感じでした。伊藤さんはどうでした?

伊藤:僕はもともとWeb開発に興味があって。自分で作ったものを人に見てもらうのが好きだったので、学生の頃から趣味でゲーム開発とかもしていて、その流れで大手Webサービス開発企業に入社しました。最初は、転職なんて全然考えてなかったですよ。むしろ転職にはネガティブなイメージがあって抵抗があったぐらいです。

佐藤:それが何で転職しようってなったんですか。

伊藤:一言で言うと、ここで開発の仕事をしていても、技術力の向上にはつながらないなと思ったんです。もっとWebサービスってクリエイティブな開発ができると思っていたんですが、一社目は思いのほか古い体制の会社で、下のエンジニアは上が決めた案件を実装していくだけで、例えば新機能についての議論をすることとかもなかったんですよね。それで、もっと開発を通してスキルを磨けるような企業に転職しようと思って。

谷口:転職することに関して、自分の中に抵抗はなかったですか?また、周りの方の反対等はありませんでしたか?

佐藤:僕はさっきも言いましたが最初から転職を意識してるような新人だったので……(笑)。学生の頃から親元も離れていたし、特に誰かに反対されるということはありませんでした。

伊藤:僕はギノは3社目なんですが、やっぱり1社目からの転職を意識しだした頃は、転職に対してネガティブなイメージがありました。親にも心配をかけたくなかったですし。ただ、自分の周りの転職を経験した人、先に辞めていった元同僚や、他社の友人たちの中に、転職をしてからすごく元気になった人とかがいて、それで転職ってネガティブなものじゃないんだなと思って、抵抗もなくなっていきました。

SIerでの開発と自社サービスの開発

谷口:伊藤さんは1社目からずっと自社サービスの開発をされてますけど、SIerってどんなイメージがありますか?

伊藤:うーん、やったことないので分からないんですけど(笑)、コードに向き合うより調整が多いのかなぁというイメージがありますね。ただ僕も1社目で所属していた部署は、親会社の受託っぽい感じでしたよ。開発現場で仕様の変更なんてきかないし、とにかく開発部隊は企画サイドから下りてきた仕様書通りにシステムの部品を実装していくだけで、まさにウォーターフォールという感じでした。

佐藤:それSIerみたいですね(笑)。

伊藤:大きい会社で人も多かったんですけど、開発者も交換可能なものとして扱われている感がありました。もちろん大手が全てそうではないと思いますけど、エンジニアにとって、自分が開発をする組織のサイズ感というのは大事だなと感じます。佐藤さんは、SIerと自社サービスで、周りの開発者について違いを感じる点ってありますか?

佐藤:僕はRailsでの開発をしてみたかったので自分で勉強していたんですが、前社では、みんなその時に開発しているシステムに関することしか勉強していなかったので、それこそRailsの話とか、業務とはまだ直接関係ない最新の技術に関する話とかができるエンジニアというのはほとんどいなくて、そういう人は割合で言うと40人に1人いるかいないかぐらいの存在だったんですよ。自宅にPCを持ってないという人も結構いましたからね。あと、業務の勉強をする時も個人でばらばらにでやってしまうから、企業としての技術が溜まっていかない感じでした。

谷口:私も1社目はSIerだったんですけど、元同僚でもそういう人はいますね。PC持ってないとか、技術の勉強をしないというか、したくもないという人すらいますね。

伊藤:それは何でエンジニア続けてるんでしょうね(笑)。

谷口:別に開発が好きではないんだけど、転職するのも怖いし……という感じみたいですねぇ。

佐藤:実は結構そういう人も多いですよね。

谷口:転職って、思い描いていた理想と、実際に転職してみての現実があると思うんですが、その辺についてお聞きしたいと思います。佐藤さんは、自社サービスの開発について、転職前はどういうふうに考えていましたか?

佐藤:前職で官公庁の給与計算システムの保守・運用を担当していた際に、人の配置に合わせて作られたシステムって、すごく効率が悪いなと感じていたんです。給与計算に関して言うと、例えば人事課の手続きを通って、次は会計課を通してというフローが既に決まっていて……みたいな、人員の配置や既存のフローに合わせてシステムを作っていかなきゃならない。人員の配置や既存のフローありきだと、便利にするためのシステムを作ったはずなのに、逆に不便になってしまう部分も多々あって、結局プラスマイナスゼロみたいな感じになっちゃうんですよ。

そうじゃなくて、もっと最初からITをベースにして考えると、人員の配置も全然違うものになるし、それまで大勢の人間でやっていたような業務を、ずっと少ない人数で回せるようになる。ITを後付けするんじゃなくて、ITをベースにして今までに無い事業やビジネスモデルを考えるべきだと思ってました。そういう事やるのって受託ビジネスでは無理だから、やっぱり自分はSIerじゃなくて自社サービスを開発する仕事がしたいと。

伊藤:確かに、クックパッドとかはITベースで考えないと出てこないビジネスですよね。クックパッドが出てくるまでは、レシピや料理本的な内容をWebに掲載するサイトはありましたけど、CGMでユーザーからレシピを集めてそれをシェアする双方向な形のビジネスモデルっていうのは、ITというかWebベースでビジネスモデルを考えなてないと出てこない

佐藤:そう、それが言いたかった!(笑) クックパッドは「料理本」という業界自体を浸食するような事をやっていて、ITってそういう力があると思うんです。

◆転職後の現実

f:id:paiza:20150123165909j:plain:left伊藤:それで、実際に自社サービスを開発する会社に移って、どう感じてますか。

佐藤:まず、ギノ(paiza運営元)の開発チームは、2週間のスプリントでスクラム開発をしているので、2週間毎に成果を振り返るというリズムも良いなと思っています。自分の考えた物、作った物の成果を短いサイクルで確認できるので実感があると言うか、学びの機会が多いです。

あとはエンジニア全員が、前職では40人に1人いるかいないかだった「技術オタク」レベルの人だなって思います。前職では、「この技術を使ったらもっと便利になるなー」というようなことでも、「全員が分かる技術じゃないものを使うな!」ってことが結構あったんですけど、そういったことがここでは絶対にない。僕は前職で一度、「『クラスの継承』の概念が分からないやつがいるから使うな」って言われたこともあったので……。

伊藤:同感です。少人数のほうが少数精鋭になるなと思います。継承に関してはかなり特殊な例だと思いますが(笑)。あと、僕は前職の企業はとにかく人が多かったんですが、少ない方が断然技術に関することやコンセプト等を共有しやすいし、最適化もしやすいなと思います。

佐藤:伊藤さんは、大手からギノというスタートアップ企業に転職して、どういった違いを感じますか。

伊藤:大手で良かったところは、やっぱり人が多い分、社内wikiやライブラリがすごく充実しているんですよね。開発に関する調べものは、Googleよりも社内wikiを検索した方が早いくらいだったので(笑)。あと大手はエンジニアの母数が多い分、中には飛び抜けた技術を持っているすごいエンジニアも何人かいましたし。ただ大手では、正直自分は組織の中の部品に過ぎないなという感じでした。作るのも大きなサービスの一部分に過ぎなくて、「この機能は自分が作ったんだ!」と胸を張って言えるようなこともなかったんですけど、今は自分で提案して自分で作ったシステムがどんどん世の中に出て行っているので、個人の裁量が大きくてすごく楽しいです。その分、マネタイズも考えないといけないのは大変ですけど。

谷口:やっぱりそういったビジネスにシビアな点が自社サービスを開発する仕事でのつらいところですかね

佐藤:それは本当に難しいところですね。エンジニアも、自分達でサービスが売れる方法を考えていかなければならない。

伊藤:自分で考えて作ったシステムで、結果が出ないと落ち込みますよね。ここをこうしたら絶対に利用者が増える!と思ったのに全然増えないとか。僕はギノの前に勤務していた2社目の自社サービスでSNS機能を作ったんですが、もう、社内の人間以外はほとんど誰も使ってくれてなくて、ただの社内SNSみたいになっちゃったことがありました(笑)。会社に赤字を残す申し訳なさを痛感しましたね。

佐藤:常にシステムを実際に使ってくれている人が、どういう気持ちで使ってくれているかを考えていかないといけないですよね。

伊藤:それは本当に常に考え続けていかなければならないところですよね。ゴールがないというか。

谷口:一般的に技術者というのは、マネタイズや経営にまで関わってくるところって、弱い部分なのかなと思いますが。

佐藤:そうですね。経営的なマネタイズを考える人と開発をする人は分けた方がいいのかなと思うこともあるんですが、自社サービスの開発が長い伊藤さんはどう思いますか?

伊藤:いや、どちらかに偏ってしまうと良くないんじゃないですかね。本当にごく少数の技術が飛びぬけている人は、技術のことだけ考えていても良いとは思いますが、一般に自社サービスを開発するエンジニアは、ただシステムを開発するだけじゃなくて、自分でKPIを計測して、そこから見えた問題点に対して、解決できるようなシステムを考えて実装していく……というサイクルの中で、マネタイズに関しても意識できるプロダクトオーナー目線が必要だと思います。

佐藤:エンジニアがマネタイズに関わると、マネタイズを優先しよう!ってなった時に、例えばコードの読みやすさや保守性を犠牲にしなきゃいけなくなっちゃって、エンジニアとしてのジレンマに陥る気がするんだけど、その辺はどう考えますか?

伊藤フェーズに別けてマネタイズとエンジニアリングのバランスを取ると言う事かなと思っています。例えば立ち上げたばかりの頃は、まずとにかくビジネスを立ち上げることが最優先なので、多少書きなぐるのは致し方ないとは思いますが、利益が出てきたらその後はコードをきれいにしたりといった運用を楽にするためのリファクタリングとか、数年単位のトータルで考えたらコストの削減になる業務に取り掛かっていくことも必要じゃないですか。フェーズに応じてやるべきことを考えるには、ビジネス面とエンジニアリング面の両方を知る必要があると思ってます。だから、エンジニアもマネタイズに関しては意識いかなきゃならないし、逆に経営者側にもシステム開発の経験があって、開発の負担や優先度をちゃんと分かってくれる人だったりすると、エンジニアもストレスが少なくて済みますよね。

佐藤:なるほど。自社サービスを開発している企業なら、経営層の人もエンジニアの素養を多少は持つべきだし、エンジニアも経営に関する視点を持つと良いんでしょうね。

◆自社サービスに向いている人、SIerに向いている人

谷口:最後に、どういったエンジニアが自社サービスの開発に向いていると思いますか?
佐藤:とにかく能動的な人でしょうね。SIerで開発をしていた時は、何もしなくても仕事を振られたので、それを淡々とこなしたい、受動的でいたいという人はそれでいいのかもしれませんが、僕は「この機能を追加した方が便利になる」と思ったら、「やるな」と言われてもやってしまうような人間なので、受動的でいると楽しくないんですよね。

伊藤:同感です。ルールの中できっちりやっていきたいという人は、SIerがいいかもしれませんね。自社サービスの場合は自分達でルールから作っていかなければならないので、難易度が高い面はありますが、それも含めて楽しいですよね。

佐藤:どっちが良いとかではなくて、きっちり仕様を詰めて設計したものを安定的に作っていきたい人は、SIerの方が良いんじゃないでしょうか。自社サービスは何か機能を作るにしても、上からおりてくる仕様書等があるわけじゃないので。

伊藤仕様書じゃなくてユーザーの反応を見ながら作っていかなきゃならないですし、さっきも話に出ましたけどマネタイズとも向き合っていかないといけないので、そこが厳しいところですよね。でも、そういう厳しさを面白いなと感じられる人は、自社サービスの開発に向いていると思います。

■まとめ

いかがでしたでしょうか。

転職をお考えのエンジニアの皆さんは、転職者の例として、参考にしていただければと思います。

自社サービスの開発にも、SIerでの開発にも、楽しい面もあれば辛い面もあると思います。ただ、やはり「自分で考えたシステムを作りたい」「自分の技術を磨いていきたい」という方は、自社サービスの開発が向いているのではないかと思います。

paizaでは、自社サービスの求人を数多く掲載していますので、興味のある方は是非ご覧下さい。
自社製品/自社サービスの求人情報 | ITプログラマー・エンジニア転職のpaiza




paizaではスキルのあるエンジニアがきちんと評価されるようにし、技術を追い続ける事が仕事につながるようにする事で、日本のITエンジニアの地位向上を図っていければと考えています。特にpaizaではWebサービス提供企業などでもとめられる、システム開発力や、テストケースを想定できるかの力(テストコードを書く力)などが問われる問題を出題しています。

テストの結果によりS・A・B・C・D・Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

http://paiza.jp


プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編