2023/10/16

中堅エンジニアが語る!Mogic流、仮想転職的キャリアアップの道

正社員 エンジニア

練馬区 石神井公園のIT企業Mogicの社内インタビュー。
今回はエンジニアリングチームに所属しつつ、ベーシックエデュケーションチームのチーフを担うYさんに話を聞きました。これまで何度となくエンジニアのメンバーにインタビューをしてきましたが、記事として成立せずにボツにつぐボツ……。
背水の陣で臨んだ今回は、いつになくまじめに質問し、語っていただきました!

最初に自己紹介をお願いします。

Yと言います。エンジニアチームに所属しながら、ベーシックエディケーションという社内教育のチーフを担当しています。大学2年生の終わりからインターンで入社して大学院の卒業まで4年間、正社員になって7年目になりました。あっという間ですね。

インターンから正社員へ、仕事内容と幅が変わりました

インターンで入社して、どのような仕事を担当してきましたか?

インターンは、Webアプリケーション、iOS/Androidアプリを作るサポートから始まって、研究開発をメインにやっていました。WebGL(ウェブジーエル)という言語を使って三次元で動くサービスを作ったり、Web上のデータを自動で収集するツールを作ったりしました。まだほとんどネットに出ていないことをやっていたので、自分なりに調べて作ることが多かったです。それは結構好きなことだったので、楽しくやっていました。

Mogicの初期のころに作られたメディア記事支援システムもありましたね。

そのシステムもやってました。技術的に少しチャレンジングにやっていくことがインターンでは多くて。それは僕の性格的にすごく合っていて好きだったので、集中して一気にガーってやるみたいな感じでした。

正社員になってからは、仕事の内容に変化はありましたか?

正社員になってから、クライアントからの要望を聞いてゼロから作っていく案件や自社サービスLearnOの運用開発に関わるようになりました。いきなり全部をやるというより、部分的にお手伝いしながら、徐々に大きな案件をメインで担当するみたいな。エンジニアとしてはそんなふうにちょっとずつ変わってきたという感じですね。

「おこられ隊」と呼ばれる謎の組織

エンジニアというメインの仕事以外に任されることはありましたか?

イベント管理部を担当しました。イベント管理部っていうのは、Mogicの社内で季節ごとだったり、誕生日だったり、記念ごとでお祝いをするのですが、何人か集まって企画を立てたり、演出を考えたりしました。同世代のエンジニアの先輩とデザイナーと3人でやっていて、あれは結構大変でした。(笑)

どんなことが大変でしたか?記憶に残っているものがあれば教えてください。

大変さは言葉に言い表せない……。いや、もうすべて記憶に残っているぐらいに。今はイベント管理部と呼ばれているのですが、当時は「おこられ隊」と呼ばれていました。イベントするたびに段取りができてなくて、進行もグダグダになってしまい、みんなにヤイヤイ言われてばかりでしたから。

でも不思議なもので、イベントを切り盛りしていくうちにITのサービスづくりもこういうことなのかなってちょっとずつ染みこんでいった感じですね。こちらのアクションで他人がどういう気持ちになって、どういう反応を示すのかとか。

プログラムを書くこととイベントの運営。一見違うもののようでも、人に何かを提供することでは一緒だからでしょうか?

なんかそんな気がしていますね。

神童と呼ばれた自分が、協同作業で感じた違和感

Yさんは小さいころから成績が飛び抜けていて、地元で神童と呼ばれていたと聞きました。やはり、勉強のように一人で突き詰めていくことが得意なように思うのですが、意外にもイベントや社内教育が役立ったのでしょうか?

そうですね。誰か他の人と一緒に物事を動かすって、ほとんどやってなかったと思います。だから、Mogicに入ってはじめて本格的に取り組んだ感じです。

一人でガリガリやってきたのに急に他の人との協働作業となると、違和感があったんじゃないでしょうか?意外とスムーズにできた感じでしょうか?

違和感はありました。やっぱり、全部自分でやりとげたいなあって思いますし。新しいことをやるのは好きなのですが、うまくメンバーと連動できなくてイライラしました。(笑)

振り返って思うのは、自然とチームワークに意識が向くような課題を出してもらっていたんじゃないかなと。というのも、何かこれが大きなきっかけというのを思い出せないんです。小さな失敗はたくさんあって、気がついたらできるようになっていました。

Mogicのエンジニアリング、ここにワクワクする

次にエンジニアの仕事についての話を聞かせてください。どんなものが面白くて、ワクワクするのでしょうか?エンジニアのことがよくわからないので、とても気になります。

僕は割といろいろな部分が好きなタイプです。さきほど触れたように研究開発みたいな新しい仕事をガリガリってやっていくことも好きです。自分で突き詰めて、ガーっとやっていくのも楽しいなって思います。

その先に「ああ、やっとできた!」みたいな感じも好きです。あと、社内のツールを作って、ほんとに身近な人たちが使って喜んでくれる時もいいなと。運用中のサービスを改善していく時でも、自分なりにこういうのがいいなとか、きれいだなというプログラムを書いていくのもそれはそれで楽しい。

一個じゃなくて、楽しみがいくつかあって。かなりたくさんの案件を一気に動かしていくので、その日、その一週間の間にいろいろと違う楽しみが巡ってくるのがいいですね。

他の会社だとそれは難しいかなと思っています。やっぱり一個の案件に張りつきみたいになっちゃうと、その中でここは楽しいよねってなるんですけど、あれこれ違うものはできない。

Mogicはいつもいろんなプロジェクトが一気に動いていくから、エンジニアリングしていく中であちこち楽しみを見出せて。それが自分は楽しいかなと思っています。

バリエーション豊かなMogicのプロジェクト運営

エンジニアの視点からみて、やっぱりMogicのプロジェクト運営は珍しいんでしょうか?エンジニアリング以外ではたくさん経験しているので実感はありますが。

珍しいんじゃないですかね、エンジニアリングに絞ってみても。プロジェクトの種類というか、粒度というか、バラバラですよ。受託案件に近い緻密な案件もあり、自社サービスの運用改善もあり、数年かけて行うリブランドもあり、MicroTechみたいな単発のエンタメ系も出すし、社内ツールも自分たちで作るし。

そこだけでもバリエーションがすごくあるのに、さっきみたいにエンジニアリング以外の仕事も出てくるじゃないですか。そういうのも含めると、ここまでバリエーション豊かに経験できるのはかなり珍しい。

それはYさんだけじゃなくて、エンジニアチームのメンバー全員がそういうやり方をしているのでしょうか?

みんな、いろいろやっています。だけど、それぞれの性格的に合っているものがうまくより分けられている気がします。その人に合ったものが自動的に集まってくるって感じですかね。

エンジニアチームで、個性に合わせて仕事が割りふられているという感じですね。

そんな感じです。だから、結果としてみんなテリトリーは広いと思います。エンジニアリングって一言で言っても。こういう専門って決まっていないんです。

なるほど。エンジニアではないので変な質問になるかもしれないのですが、そこまでテリトリーが広いと一般的なエンジニアより扱っているプログラミング言語は多いのでしょうか?

多くないですね、あまり変わらないと思います。言語は変わらないけど、多くの種類のものを作っています。サーバーサイドもフロントエンドも、みんな一通り書けますね。書けるのですが、いろんな言語を駆使するより、いろんなタイプのシステムを組むという方が近いかもしれないです。

例えば、LearnOは教育系のサービスですから、受講する人たちが教材を見ることがメインです。でも、別の機会につくったチャットサービスはコミュニケーションをリアルタイムに取るのがメインですから違います。同じ言語を使っていても、作るものへの捉え方が違いますし、強みと弱みが違うんですよね。そこらへんを捉える幅が広いって感じなんです。

料理するとしますよね。そういう時に、食材や基本的な道具は一緒です。だけど、今回は中華風にするとか、次はフランスのフルコースとか、その次は家庭料理で飽きのこない味付けにするとか、そういうイメージです。逆にわかりづらいですか。(笑)

いろんなプロジェクトを同時にやれるチャンスがあるから、いろんな料理に挑戦できるみたいな感じなんですね。それでいて、また新しいことをお願いされると好奇心が湧いてきて、やる気につながったりするんでしょうか?

なりますね。新しい方がどうなるんだろうっていうのはありますし。過去にやったことがあるものでも、前よりもっとうまくできることもありますから、そこは自分の課題設定次第ですね。

社内で仮想転職できるMogicならではの魅力

Mogicのエンジニア像に共感する人と一緒に働きたいわけじゃないですか。ほかにも伝えたい部分はありますか?

エンジニアとして特定の会社で担当する仕事って偏ります。知り合いのエンジニアと話していると、どこかにすごく特化する感じがあります。

ベンチャーで新しいサービスをゼロから立ち上げること、大企業ですでに大きくなったサービスをメンテナンスしていくこと、やっぱり続ければ慣れてきますよね。

なんとなく感覚がつかめてきて学習が進んでくると、もっと新しいことを身につけたいとなって、転職かというステップになります。もうここで学ぶものはなくなった。今までとちょっと違うところに身を置いて、新しいことを身につけたいってやつです。エンジニアはなりやすいと思うんですよね。

それは自分の探究心という面もありますし、一つのことしかできないエンジニアだと将来に対する不安があります。この言語が使えなくなったらどうなるんだろう、若手にはかなわなくなるんじゃないかとか。だから、保険の意味でもちょっと幅を広げておきたいじゃないですか。だからやっぱり転職するぞってなってくるんですけど。

そこでいえば、Mogicだと社内で仮想的に転職している感覚があって(笑)。案件のレベルや数、種類でもそうだし、担当する役割も毎回違ってくる。

僕は今だと社内教育も担当しますけど、そういったところで仮想的に転職に近しいことをやって広げられているので、そこは一個の魅力だよねと思っています。

常に新たなものをいくつか抱えながらずっとやっていくので、新鮮な気持ちになって取り組めるということなんですね。

そうじゃないでしょうか。あとMogicは、ただプログラムを書くだけだとあんまり評価されないんですね。いずれ人工知能でプログラミングされるという話もあるし、僕自身にしてもインターンや正社員になってすぐにある程度書けるようになったので、いつか価値が薄まる可能性があるんです。

厳しい言葉でいうと、そういう時代がくることもありえるから。だから、その時代まで考えた時に、もうちょっと広くエンジニアリングを捉えていきたいですね。

エンジニアリングに対する捉え方を変えるっていうのがちょっとよく分からなかったのですが、具体的にはどういうものでしょうか?

作り方やゴールが決まっているものは、過去に一度作られたものなんですよね。だから、どんどん広がって薄まりやすいんです。だったら、まだゴールが決まりきっていないものを見つけて、あれこれ方法を模索するしかない。そうなってくると、やっぱり選択肢を多く持っていた方が解決しやすくなってきます。

一個のものをガッと突き進めようとすると、今まで自分が作ったものを武器として取り出したくなります。だけどそれだと、選択肢が狭いままなので、広げてこれがいいよねと話し合っていくやり方をしないといけないかなと。

エンジニアとして、社会人としてのキャリアを考える

これまでエンジニアとして、社会人としてのキャリアや経験の積み上げ方をどう考えていますか?現在の立ち位置というか。

入社してここまでの10年を振り返ったときに、最初入った時は好きなもの、得意なものをやらせてもらっていたんですよ。しかもすごく小さいパーツでもらっていました。アプリのここだけ作るとか、このサービスのこの機能を作るみたいな。プログラムが動くと楽しいじゃないですか。「やってやったぞ!」といった感じ。

その次に案件もそうですし、イベント管理部もそうなんですけど、自分がごっそり欠けているところを補うフェーズに入ったんですね。まったく見えてないところがあったから、いろいろやりながら弱点を補っていった時期だと思っています。

そこも何となくできるようになってきて、今からもう一回、得意に戻んないといけないフェーズになった気がします。チームワークであっても、どこかで自分が持っている強みでガッと突き抜けないといけないから。自分らしさがないと、そこを抜けられないんですよ。だから、じゃあどうしたらいいのか?

僕の場合、これまで得意なものをやって、弱点を補強する時間があって、じゃあもう一回自分の得意を活かす。これまでの経験を踏まえて、もう一度自分の強みを作り直している段階ですかね。

Yさんが思う強みってどんなものがありますか?

まだ分からないです(笑)。せっせと棚卸しをしていますから。でも根っこは一人でガリっとやる方が得意ですね。研究開発だったり、新しいものを自分一人で深く掘り下げるほうが好きなんですよねえ。

エンジニアとしてこういう個性、強みで作れているところはありますか?

エンジニアって、ざっくり分けるとフロントエンドとバックエンドがあります。ユーザーが手元で触れる部分がフロントエンドのアプリケーション、データを格納する方がバックエンドです。僕はフロントエンドが好きだったんですけど、バックエンドも触りながらやれるようになってきました。

そうすると、フロントエンドを組むときにちゃんとバックエンドのことを意識しながらできるようにもなってきたし、逆にフロントエンドの良いところをバックエンドで組む時に持っていける感じがあって、そのつながった作り方をできているのが今の良いところでしょうか。

バックエンドとフロントエンドの作りが融合されてきて、さらにユーザーが触るWebデザイナーとのコミュニケーションも変わってきたんでしょうか?

そうです。変わっているはずです。例えば、ウェブサービスを作るときに、バックエンドの知識がまったくないと、システムに無理のある要望をたくさん詰め込んでしまうことがあります。クライアントはいろいろサービスを見ているので、この機能が便利だから入れたいよねとか、あの機能ないとカッコ悪いよねとか、要望が出てきます。

でもサービス全体でいったら、すごくページが多くなったり、メンテナンスが大変になったり、他のぺージに展開しづらいといったことが見えてきます。部分的に要望をかなえられても、全体で見ると相手にとってデメリットになりかねない。

デザイナーと仕事を進める時にその部分をできるだけ分かりやすくフィードバックしています。だってチーム全体でシステム感があった方がスムーズですから。

システムの負荷を考えるとここはこう書いたほうがいいよね、お客さんが使っていくうちに慣れていくことも考えると本当はこっちのほうがいいよね、将来的なサービスの変化を考えるとこうしたほうがいいよねといった具合ですね。

エンジニアだけじゃなくて、デザイナー含めて全体が良くなっていく感じですね?

そうです、そうです。デザイナーにとってもエンジニア的な感覚が身につけば成長したことになるんじゃないかなと思っています。

結局自分で気づくしか道はない

もう少しエンジニアとして苦労すること、困ること、どういう悩みがあるのか教えてください。

プログラムって、自分が考えたことを書きだすわけじゃないですか。だから自分の思考の癖や性格が、どうしても深いところで出てきます。

人それぞれの考え方のクセですね。〈らしさ〉とも言えますが、困難にぶつかった時にも出てしまうところがあります。クセが盲点になってしまって、問題がどんどん抽象化していって、うまくいかないけどどうしたらいいか分からないといったことがありますね。ダメなのだけは分かっていて、すごいモヤモヤした状態になっていって、そのときは本当にきついです。

プログラムは、ゼロかイチといった世界だと思っていたので、人間らしさは入り込む余地がない世界だと思っていました。話を聞いていると、人間らしさや個性が影響するんだなって感じました。

ゼロかイチの数学っぽいところはもちろんありますけど、やっぱり文章の方が近いかもしれないですね。インターン生のコードを見ていると、こういうふうに捉えたんだなとか、ここは面倒くさかったんだろうなとか、分かりますね。

うまくいかないなという時は、自分で考えるだけじゃなくて、上司や先輩にフィードバックをもらったりしますか?

両方ですね。両方だけど、でも結局最後に残るのは前者なんですよね。先輩からここイケてないよといった言葉をもらうのですが、「はぁ?」って感じになります。やっぱり、自分で分かってないから、相手からの指摘も分かんないじゃないですか。

何となく言わんとしていることは分かりますが、体に入ってこないというか。そうですよねとは言うんですけど。でも次に自分が組むときはまた同じことやってるんですよ。本当に「あぁ、そういうことか!」ってなるには、自分で気づく以外に道はない。

エンジニアを未知の職業のように感じていましたが、案外他の職業にも通じるところも多いんですね。

そうだと思います。他社でどのような教育をされているかは分からないのですが、Mogicはそこまで細かくフィードバックしないんですよ。だから、それは先輩たちがそれとなく自分でも思っているんじゃないですか。アドバイスはするけど、最後は自分で考えて自分で腑に落ちないと気に入らないっていうのがあるんだと思います。

自分で自分のクセを見つけて、自分で気づいて学んでいくっていう感じですね。ひたすら自分でやって学んでいくという。

すごいモヤモヤしたとき、距離をちょっと置いてまた戻ってくるのでもいいし、すごいのめり込んで立ち向かうのでもいいし。試行錯誤のやり方は自分で見つけるしかないですね。

同時進行で5個+αのプロジェクトをこなす

最近は、どんなプロジェクトを同時に進めているのでしょうか?

LearnOのリブランディング・プロジェクト、業務システムを刷新するCOMPプロジェクト、クライアントの大型開発を2件進めていて。合わせていくと5個ぐらいかぶってやっていますね。そういえば、セキュリティ審査のISMSのメイン担当もやっていました。(笑)

エンジニア以外のプロジェクトにも参加していますよね?

エンジニア以外はイベントをやったり、年に数回MicroTechアプリのプロジェクト運営をやっていますね。

ここがMogicのエンジニアのおすすめポイント

これから入ってくる人に向けて、Mogicのエンジニアでおすすめポイントを教えてもらえますか?

仕事の進め方や時間の管理は、完全に任されています。先輩はお子さんの看病で休まれていますが、そういうことはDiscordのチャット報告一つでOKです。別にエンジニアだけじゃなくて、他チームのフォロー体制があるから、プライベートとのバランスは取りやすいですね。休むことに何も考えないですね。

エンジニアだけじゃなくてMogic全体に共通することだと思うんですけど、絶対やらかしちゃいけない、してはならないリスクだけ事前にカットされているんですよね。根源的なリスクがカットされていて、それ以外のところは好きにやっていいよっていうスタンスで運営されています。

仕事にせよ何せよ、そういう任され方をするんですよね。だから、目一杯やろうとする自由がありつつ、最大の責任がかぶってこないようになっている。自分がやりたいことをわかって回してもらえたり、ゼロから作り上げたりする体験もできるから、そこですね。完全に、すべて自己責任にはならないんです。カットするところはカットされつつ、程よくというか。

最低限のセーフティーネットを張られたうえで、好きにやっていいよっていう雰囲気なんですね。

そうですね。会社の思想がそうだと思いますね。

それは感じます。こんな人に来てほしいというのはありますか?

もちろん今やっていることとかに共感してくれる人に来てほしいですけど、でも最終的には一緒にやっているときに楽しくやれそうとか、刺激がありそうとかがいいですね。今のメンバーも全然タイプ違うので。そっちのほうが大きい気がしますけどね。

最後にこれからの野望があれば、教えてください。

野望ですか。今はないですね(笑)。今はどちらかというと、エンジニアとしてぐるっと戻ってきた感じがしていて。今作っているときが純粋に楽しいですね。作っていて楽しい!

満たされてるって感じですね。しっかり伝わりました。長時間にわたり、インタビューありがとうございました!

こちらこそありがとうございました!でも、スイーツがたんまり食べたいかも。(笑)