
受託開発会社から自社開発会社へ転職し、バックエンドエンジニアでありながらフロントエンドのスキルも身につけたというエンジニアさんの転職ストーリーをご紹介しています。
バックエンドから、今はフロントエンドまでをカバーすることができるようになった佐藤さん。自身のスキルアップを常に視野に入れてチャレンジするマインドと、後進の育成にも尽力する優しさのあるエンジニアさんです。
Webアプリケーションの自社開発会社へキャリアアップ転職した、佐藤さんの転職STORY。ぜひ参考にしてみてください。
インヴェンティットが3社目で、最初は独立系のSIerに3年ほど在籍していました。そこでは基幹系の伝統的なシステム、COBOLを扱っていました。車の保険のシステムや、帳票を印刷するものなど、といったシステムです。SIerなので、客先に行ってシステム開発をする仕事でした
2社目が前職で、SESの会社。そこには5年間いたでしょうか。クレジットカードのシステムです。店舗でクレジットカードを使ったときに、データがオンラインで流れる先のシステム。カードのブランドを判定して、データを流す先を切り替えたりするようなものでした
いえ、何か大きいできごとというよりかは、自分がなりたい未来を描いてみたら…というタイミングです
人間関係はとても良かった。さらに言うと、SESの会社でも5年間同じシステムをやっていました。中長期的に1つのシステムに関わることで、僕にはそっちが向いているというか、同じシステムをずっとやりたいとは思っていたんです。
同じところで知識をつけて、できることを増やし、他の人にも教えられるようになって活躍できる。そういうところに仕事のやりがいを感じていたんです
ただ、SESとして働く以上、いつかは異動することになってしまいますから…そんなことを考え始める内に、転職という選択肢をいつの間にか選んでいました
そこで、腰を落ち着かせるというか、システムのことをじっくり理解して役に立っていけたらということで自社でサービスを扱っている会社中心に探したという経緯です
前職はJavaがメインだったので、言語経験が活かせる会社の方がすぐに仕事ができそうだと、Javaを使う自社開発会社をメインに探しました
とはいえJavaでやりたい!というこだわりはなくて、Javaだったら慣れてるからいいな、といった感覚です
インヴェンティットの場合はJavaをやりつつ、別のシステムではRubyを使っている会社だったので、Javaの経験を活かしつつ、Rubyもキャッチアップしていき、スキルアップできそうだなと
あと、面談内で見てたことも補足すると、「協力的なチーム環境」であるか、その仕組みが整っているかには注目していました。作業時は孤独な闘いも多いですが、基本的には開発ってチーム戦なので。開発チームの人柄とかも見てましたね
3回だったと思います。その中で開発部長や開発チームのメンバーと話をする機会がありました
面談では、全体的に穏やかな雰囲気。今所属しているチームのリーダーもその面談の場にいたんですが、堅苦しくないのがよいなと思ったんですよね
自社サービスを行っている会社への元々のイメージとの乖離はあまりなかったんですが、思っていた以上に、メンバーが自分たちのプロダクトを何としてでも回して、売上を増やしていくんだという共通の目的を持っていたんです。
SESだと時間単位の契約で、成果物がどうこうというところではない。インヴェンティットは、営業さんだけではなく、エンジニアも含めてみんなが「売上」という同じ方向を目指して進んでいるという雰囲気が感じられました。SESでも成果物のことは考えなければいけないんですが、意識の高さが違ったなと
あと、責任感の強い人が多いですね。自分が開発した箇所のテストは自分自身でやりきる。多少忙しくても自分がリリースしてテストします!とか
感心しますし、自分も負けられないなと
もともと技術者として長くやっているエンジニアが多い会社なんです、インヴェンティットは。
設計ドキュメントを丁寧につくるというよりも、ガンガンソースコードを書いてシステムをつくり、出していくという流れなんですね
だから、今までのシステムを見ても英語でコメントが書いてあったりして。ソースを読めばわかる人も多いので、仕様についての説明がなかったりもします。これはどういう意図でやっているんだろうと理解するのが難しいようなこともあったりして、入社して1年程度ですが、今でも成長実感できるタイミングは多いです
10年以上在籍している方もいらっしゃいます。業界歴でいうと20年以上と長い方も多く、知識が豊富な方が多い会社ですよ。
僕はまだシステムの全貌が全然わかっていない状況なので、日々いろいろな仕様を調べながらやっています。理解ができるごとに、やりがいを感じています
社員の方が採用ページに「質問があったらSlackで投げると誰かが必ず答えてくれる雰囲気があります」という話を書いて、まずそこで惹かれました
所属するチームによって形は違いますが、開発を進める上で、この仕様ってどういう風になっているんだろう…とか、ちょっとした疑問を解消する質問会があります。
はい!口頭だとやっぱり聞きやすいんでしょうかね、みんな思い思いに質問してますよ
はい、出社は週に1回だけですね
そうですね、リモートだけどコミュニケーションはとりやすいんですよ。毎日進捗状況を確認する場があって、自分の進捗を報告したあとに確認したいことがあれば、「○○さん、このあと残って話せませんか」みたいな感じで
といっても、他のみんなもそうですが、時間を切ってコミュニケーションはとっているかな~と思います。さっき言った質問会も、質問がなければ1分で終わったりもする。朝の進捗状況の報告が15分ほど、2回程度。少ない日はその2つだけでミーティングで終わることもありますよ


mobiconnectは、企業や教育機関向けのサービスであって、個人で使う機会はないと思います。僕自身も、MDMとは何かさえ知らない状況で、そういう方が多いとは聞いていました
でも実際に開発することになって、機能を知っていくことになります。たとえば、PCから操作をするとiPhone端末が自動で再起動されたり、アプリが立ち上がったり。そういう動きを見ると面白く思えました。いろいろできて、確かに便利だな、と感じたんです
iPhoneやAndroidを導入している企業様側からしたら、端末を一台ごと初期化したりするのはけっこう面倒なんですよね。端末を大量に使っている企業様だと尚更です。これを全て手作業でやるんですから
それを自動化できるというところがすごくて、MDMの意義があるわけです。入社後になって、それを実感できたというところがあります
開発とは別のところですが、サポートが充実しているところも挙げられますね。サクセスチームとサポートチームというものがあって、手厚くサポートされている印象があります
AndroidとiOS、それぞれ同じ画面を使って操作するんですが、それぞれ処理が分かれていて、動作が少しずつ違うんです。同じ機能制限をするにしても、Androidならこう動くのが正しい、みたいなことを理解して、調査した上で違いがあることを整理。それでマニュアルをつくっているチームに仕様を共有して連携するというチーム戦が、僕にとってはやっぱり魅力です
また、新機能の開発については、AppleやGoogleが新しい機能をこれから提供するというアナウンスがあったときに、それをmobiconnectでもできるようにしよう、というものがよくあります。そのためにiPhoneやAndroidの最新の情報を追ったりします
また、テストのために新しい端末が必要になり、会社で購入して、それが手元にくるのもちょっとした楽しさです。お!これが新しい端末か!みたいな。新しいガジェットに目がないというわけではないんですが、手元に最新のものがあるというのはそれだけでワクワクしますね
あとは、同じiPhoneでもバージョンによって若干違いがあります。Androidはいろんな機種があって、画面のタイプが違ったり、ホームボタンの挙動が違ったりという細かい違いがあるんですよね。検証がとても大変ですが、やりがいを感じる点でもあります
新しい画面をつくる、つまりフロントエンドを触る機会がありました。mobiconnectはユーザーインターフェイスが2種類あります。新しいものと古いもので。だんだん新しいバージョンに移行していくんですが、新しいバージョンの画面をつくることになりました。今までは改善を主にやっていたので、古いバージョンの修正を担当していたんです
新しいバージョンのつくり方のベース、開発ルールは別のフロントエンドがつくってはいるんですが、それをもとに新規でつくる機会がありました。RubyのRailsを使って、その基本的な思想に沿った形で書くというものです
その案件はルールをしっかりしていこう!という試みで、Railsの機能を最大限に駆使して開発するということでした。当時、僕に関してはRubyやRailsをそもそも知らないし、経験もなかったんです
僕がいるのはバックエンドチームなんですが、開発部はいろんな部署を横断的に経験させてくれるという文化があるんです。バックエンドチームといいつつ、修正案件で画面を触るようなフロントエンド的な作業も多くありました。新しい画面をつくるということになり、バックエンドチームからも3人選ばれて担当することになりました。
勉強にはなるんですが、0からの学習はやはり大変でしたね(笑)でも同時に、Rubyは楽しいと感じたりもして
コーディングがすごく大変で、Rubyに詳しい方にレビューしてもらっての繰り返しでした。最初は大量の指摘があって、その対応だけで数週間かかっていましたよ(笑)それを終えて、最終的に承認を得たときがいちばん達成感がありました
フロントエンドは実際に画面を触って確認できるというところはもちろん挙げられます。想定通りに画面が動いたときというのは、ちゃんとつくっているんだっていう実感が湧きやすいですね。バックエンドだと視覚的に動作が途中途中では確認できないので
今新しい案件に取り組んでいて、今回はバックエンド担当ですが、フロントエンドの方が書いたソースを見てレビューできるぐらいにはなりました
また、フロントエンドからバックエンドにデータをもらう処理においては、フロントエンドの作業を事前に見られるようになったので、準備することもできるという、相乗効果になった経験でした
はい。インヴェンティットではレビュー文化がしっかりしていて、フロントエンドの作業をやったときも、実際細かくレビューしてくださいました。逆に時間を使わせて申し訳ない気持ちになったほどです
ただ、レビューしてくださる方も新しく入った人に覚えてほしいという気持ちもあると思いますし、お世話になった分僕も返したい!そんな想いです
こうやったら綺麗に書けますよ、といった提案を指摘で書いてくれたり、今後の役に立つアドバイスがもらえたんで、僕も同じように返したいなと
はい。自分のわかっている範囲であれば教えるのは好きな方です。ただ、今はわからないことが多くて、あまり指摘できていないのでスキルアップしていきたいですね
インヴェンティットでも同じように知識をつけて人に教えられるようになっていきたいと思っています
今年から新卒が入るようになり、メンターにもなりました。そういう方たちの良きメンターになれるように知識をつけていきたいと思います
(笑)。すごいかどうかは別にして、育成にも関わりたいと思っていたので、よいチャンスをいただいたなと
現在僕が目指しているのは「再現性のある環境を整える」ことです。僕もまだ困る点として、ベテランが多い会社だからこそ、ドキュメントや仕様書があまりないという点
自分の知識をつけた上でそういうものをつくれるようにしたいです。新しく入る方もスムーズに開発に入りやすくなるのでしょうから
そういうドキュメント類を整備してわかりやすくして、インヴェンティットのWebアプリケーション開発は楽しい!ということを、入社当初から感じてもらえる動きをとっていきたいなと思っています
COBOLからスタートして、今ではRubyでバックエンドを担当しながら、フロントエンドの修正もできるというマルチなスキルをもつ佐藤さん。自社開発会社のレベルの高さに食らいつきながらスキルアップを続け、後進の育成にも気を配れる環境だということがよくわかりました。
インヴェンティットのような、コードのレビューがしっかり受けられてスキルアップできる環境は、エンジニアの成長には欠かせないものだということを改めて感じるインタビューでした。
※画像引用元(https://www.yourinventit.com/)
インヴェンティット株式会社は、自社開発で企業・法人向けのWebアプリケーションを開発している会社です。スマートデバイスをコントロールするMDMの開発に関して優れた実績を持ち、社会に貢献するアプリの開発に携わることができます。今回インタビューに応えてくれた佐藤さんのように、実力と経験のあるメンバーのもとで成長しながらクラウド上での開発での経験を積むこともできる、向上心のあるエンジニアにとって優れた環境です。