新卒1年目のエンジニアたちにインタビュー!

インタビュイー: 松本 龍弥(写真左)

DIGITALIO デジタルギフト事業本部 所属。新卒入社8ヶ月。経営学部出身。デジタルギフトサービス、デジコの会計機能周辺を担当。ゲーム開発からプログラミングを始め、Web業界を志向。サマーインターン「Treasure」に参加し、その後 CARTA HOLDINGS(以下、CARTA)に入社。

インタビュイー:福田 拡未(写真中央)

fluct パブリッシャーグロース事業本部 DATA STRAP本部  所属。新卒入社8ヶ月。文学部英文科出身。fluct DATA STRAPにて広告配信レポートの開発を担当。 独学でプログラミングを学ぶ。学ぶ中でWeb業界に関心を持つ。本選考から入社。

インタビュイー:瀧澤 哲(写真右)

Zucks アフィリエイト事業本部 所属。新卒入社8ヶ月。工学部電気電子系出身。高専卒。Zucks Affiliateの管理画面開発を担当。音響研究を専攻していた。Web業界に関心を持ちTreasureに参加し、その後 CARTAに入社。

学生時代のプログラミング経験は?

瀧澤 哲(以下、たき): 電気電子系出身です。C, C#をちょこっと書いていました。高専4年のときに「何かを作れ」という課題が出てPythonをはじめました。就活までは音の研究をしていました。Webの勉強をはじめたきっかけは他社のインターンです。そのインターンで音の研究をしている現場に行った時に続けていく辛さを感じました。そこから、Goに触れ始めて サマーインターン「Treasure」に参加しました。

松本 龍弥(以下、りゅうや): 経営学部出身です。大学1年からプログラミングをはじめました。当時プログラミングを教えてくれていた人がゲームを作っていたため、ゲーム開発からスタートしています。大学2年までゲーム作成をし、そこからWeb開発に興味を持ちました。Webの勉強はRubyがメインで個人開発でサービスを作るのが好きでした。

ー なぜゲーム開発からWeb開発に関心が切り替わったんですか?

りゅうや: 職業としてのゲーム作りを意識したのがきっかけです。個人でゲームを作るのは面白かったのですが、会社でゲームを作るとなると話が変わります。会社では企画者の面白いと思うゲームを作るため、企画者と自分の感性がズレる可能性があります。そうなると長くは続けられなさそうだと気づきました。またVRゲームを作っていたのですが、市場がまだ熟成していないためで仕事にするのは難しそうだと判断しWeb業界に来ました。

福田 拡未(以下、アラジン): 文学部英文科出身です。実は大学3年生までパソコンを持っていなくて、レポートなども家族の共有パソコンで書いていました。

ー そんな状況でWebに興味を持った理由は何がきっかけだったんですか?

アラジン: コロナ禍で授業がオンラインになり、パソコンが必要になったので親に買ってもらったんです。ブラウザでデベロッパーツールを開いてしまったのをキッカケにHTMLを見て興味を持ちました。

ー どうやって学んだんですか?

アラジン: 技術の話ができる友達もいなかったので本を頼りに座学で学んでいました。 コードは少し書くけど、浅く広くWebに関する知識を調べていたのがメインでした。フロントエンド、バックエンド、インフラの本を買って自分で調べて学びましたね。大学の先輩でWeb系企業に入った人が居たのでその人と話して知識を得たり、夏のインターンもインフラ寄りで探してたりして学びを深めました。そのインターンではTerraformを書いていました。

なぜCARTAに入社したのか。魅力を感じたところや、決定のポイントを教えて下さい

たき: Treasureが良かったからですね。事業内容へのこだわりはあまりありませんでした。面白い人が居て入ってからも楽しく働けそうな会社を探していました。CARTAを選んだ理由は、Treasureでそれが十分に感じられたからです。

ー 他社のインターンや選考には参加しましたか?

たき: 行きました。ですが、Treasureや選考でCARTAの中の人を見てマッチしていそうだと思い入社しました。

りゅうや: 僕も一番の決め手は”人”ですね。自分の意見がちゃんと言えそうな環境だな、と思って選びました。また、CARTAの事業内容は幅広いので、特定領域をやりたかったわけではなかった自分にとっては、入ってからの選択肢が広く見えました。色んな事業に触れることで経験を増やしてみたかったのが大きいです。

アラジン: 僕も決め手は”人”ですね。事業にはこだわっていなくて人で選びました。僕はインターン経由ではなく本選考経由で入社しました。選考中に出会う人たちが良い人たちで、本質的な価値や技術的な面についてしっかり考えている人が多いと感じたので選びました。選考途中の期間にfluctのSREエンジニアと3時間ぐらい話す機会があり、技術的にも人間的にも凄さを感じることもありました。広告業界にはすごい人が多いな!という印象で選びました。実際に入社してから、自分が属する広告事業について詳しくなると、広告領域の技術力の凄さ、高さも分かってきました。

仕事について

ー 今取り組んでいる仕事(事業内容・技術の観点で)を教えて下さい

たき: 今はZucksアフィリエイトの内部向け管理画面を作っています。この管理画面は10年以上前の古いシステムでEC2環境上で動いているのですが、これをECS環境に載せ替える仕事をしています。レガシー脱却を目指して、PHP5.6から上げたいのですがライブラリが古くなかなかできません。そこでコンテナ化することで延命化しています。ECS移行は、世の中的にも情報が多いのでやればできるんです。今回の仕事は1インスタンスで動いていたものを分解化して、コンテナ化していく必要があります。当然インフラの知識がないと出来ないし、業務のドメイン知識も必要です。

ー キャッチアップはどうやってる?

たき: 対象の技術について書かれているブログや文献、リファレンスを調べたり、社内の人にSlackで聞くことが多いです。社内の上位グレードのエンジニアはめっちゃ技術力が高くて、そのレベルの人がゴロゴロ居ます。正直その人からのアドバイスはインターネットの情報より有益だったりします。

ー りゅうやさんはどうですか?

りゅうや: デジコというサービスの会計周りの開発を担当しています。請求書をCSV出力する機能があるのですが、データの蓄積によって年々処理完了までの時間が延びてしまっているので、その部分の改善をしています。

ー やってみてどうでしたか?

りゅうや: 会計の知識がめちゃめちゃつきました。 長期的な運用に耐えられるように仕組み化することが必要なので、経理の知識をしっかりと理解した上でシステムに落とし込んでいく必要があります。もちろん自分の考えだけでなく先輩に聞いて改善案をもらいながらやっています。 やることは淡々としているのですが、いきなり入ってきた人がパッと出来るものではないです。この仕事で得た会計の知識は今後ずっと役立つと思いますね。

ー 知識のキャッチアップはどうしたんですか?

りゅうや: 経理に聞いたり社内の会計に詳しいエンジニアに聞きます。 数を重ねると段々わかるようになってきました。

ー アラジンさんはどうですか?

アラジン: 日頃のタスクとしては広告にまつわるデータをまとめるレポートツール(以下DATA STRAP)の面倒を見ています。

DATA STRAPは事業社ごとの広告配信実績値(単価やインプレッション数)を、それぞれのレポートツールや管理画面から集めています。DATA STRAPが集めているデータ取得元の事業社は80社を超えており、fluct SSPもその対象の1つです。毎日データ収集のために動いているバッチが80個近くあって、毎日なにかしらエラーを吐いてしまうんですね。なので、それがどうして起きたのかエラーを調査して改修します。ちゃんと動いていないと実績値のレポーティングが正しく動作しないため重要度は高めです。

DATA STRAPはfluct社内でも使われているため、fluctのビジネスサイドから欲しいデータのリクエストが来たら都度対応して出しています。自分が担当する技術領域は特に決まっておらず、フロント、バックエンド、インフラに手を付けています。

ー メインに担当する業務はなんですか?

アラジン: メイン業務としてはレポートのデータ取得、レポートの分析、アラート機能の開発です。アラートは本来気付きにくいものを気付けるようにするのが目的で、事故になりうるものをアラートを用いて気付けるようにしていけるようにしています。

アラートがない場合、重大な事故を引き起こす可能性のある設定ミスや、広告事業者としてあってはならないこと、例えばそもそも広告が全く配信されないなどの事象に気付けない可能性があります。

fluct SSPは10年以上前からあるSSPです。そのため歴史的な経緯を含め、事業背景を包括的に理解することが本当に難しいと感じています。その背景理解も含めて適切な実装になるよう日々取り組んでいます。

働く時の1日の流れ

ー 普段の業務について1日の流れを教えて下さい

たき: 午前中は在宅が多いです。10時くらいからチームのSlackチャンネルにタスクリストを書き、仕事を始めます。 大体8時間ほど働いて帰ります。 仕事の合間に社内カフェに行ってコーヒーや社員と雑談することが多いです。大まかな流れはこんな感じです。

10:00-       始業
11:45-12:30  昼会
12:30-13:30  休憩 (ついでに出社)
13:30-14:00  再開
16:00-       夕会
18:30-19:00  帰宅

りゅうや: 僕も10時くらいからスタートします。朝に朝会があってタスクリストをチームに共有します。19時くらいまでは淡々とコードを書いて夕会をしています。朝会、夕会では特に仕事とは関係ない話もしています(笑) 雑談が多いチームですね。 大まかな流れはこんな感じです。

10:00-10:30 朝会
13:00       休憩
17:00       夕会
-19:00      淡々と開発

アラジン: 午前は10時くらいから在宅して、午後から出社しています。週2で出社しています。タスク共有会では仕事以外のことも話します。大まかな流れはこんな感じです。

10:00- 仕事開始
13:00- 日次バッチの通知を見て対応(調子悪そうであれば修正)
(日によってはここで出社)
14:30- タスク共有会
15:00- 自分のタスクを処理
19:00  業務終了

ー みなさん共通して、チームで集まって話す機会があるんですね。ビジネスチームとの会話はどれくらいありますか?

たき: 週次MTGがメインですね。タスクがあるときは時間を取って話します。

りゅうや: 週次で事業部全体の会議があるので、そこで顔を合わせます。人数が多いのでその場で直接の会話は少ないですが、Slack上での会話は多いです。僕が居るチームはデザイナーさんが多いことが特徴です。プロダクトチームにデザイナーが3人居て、デジコ(りゅうやの在籍プロダクト)ってUIがお洒落なんですよね。プロダクト開発の話をするときもUXの話題になりがちです(笑)

アラジン: 8人チームで6人がエンジニアです。ビジネスサイドの人ともたくさん話をしますし話さない日はないです。ビジネスサイドの一部はSQLが書ける人もいるのでそのサポートもやっています。

1年目の感想

ー 1年目ならではの感想を聞いてみたいです。入社してから成長したなと思ったポイントはありますか?

たき: んーむずいですね(笑) 学生の時からのdiff(違い)か。成長って言葉を聞くとエンジニアは技術力、知識量に視点がいきがちですよね。 今は、ビジネス的な要件変更や変遷を踏まえた上で、長く使うための設計や勘所を知っているから良いものが作れることがわかってきました。

現状、僕らはレガシー(技術的負債)と戦っているのですが、 レガシーをどう改善するかを語る際には、「この先レガシーをどうやって生まないか」 が議題になります。すると、仕組みを作りたくなる。仕組みでは解決しない場合は文化から変えたくなる。 もちろんそれにあったチームでの動きも考えたくなります。こう見てみると「レガシー」に取り組むことは徐々に技術を離れて「自分たちの文化やチームの動き、運用」のような抽象的なレベルにエスカレーションしていきます。

つまり作って終わりではないわけです。 問題はレガシーを定期的に直すことが必要ですが、誰もがやりたいわけではないところです。 技術力ももちろんついていますが、最近はこういったことが重要だと感じていますね。オトナになったと思います。

りゅうや: 会計に詳しくなりましたね。これはわかりやすい成長です。あとは、インフラの知識がまったくなかったのでインフラに強かった先輩に教えてもらいながら身につけていきました。サービス移管中なのでインフラを安全に移行するための知識を教わっています。

それから "エンジニア" というものの認識が変わりましたね。技術の事ばかりを考える人が多いという先入観でしたが、技術を知っているビジネスマンという認識になりました。 それぞれの専門性を集めていった結果みんなでプロダクトを作ってビジネスにしていく。 これは自分の中ではポジティブな変化でした。だからこそ「何を成長と呼ぶのか」は難しいですね。

最近は「適切な破壊ができることには高い技術力が必要である」という価値観が芽生えました。 社内には長く運用されているプログラムが数多くあります。時折、仕様変更に伴う破壊をしないと徐々にレガシー(技術的負債)が蓄積し、それを取り除くのが困難な課題になります。 CARTAのシニアエンジニアたちは適切な破壊をしつつ新しいものを作る技術力があります。 チームで話していた時に、新機能追加の前にリファクタリングをする、つまり綺麗にしたあとに新しいものを載せるという考え方を教わりました。 学生の時は創造することしか考えていなかったため衝撃的でした。

アラジン: 技術力は付いたと思います。 元がないので特にそう思いますね。大きく言うとエンジニアというものの認識が変わりました。

学生の時は、爆速でゼロイチ(0 → 1)で動くものを作れる人が凄いエンジニアなのだと思っていました。今は、いろんな選択肢をいろんな角度から提案できる人が凄いエンジニアなのだと気づきました。 特にOJTやチームリーダーはCARTAエンジニア像を体現していると思います。既存のものをうまく作り変えたり、"作らない" も含めていろんな選択肢を取れる。"作る" を選ぶなら、作る能力ももちろん凄い。そう思うようになりました。

また、技術に限らず仕事の仕方に対する考え方も変わりましたね。

ー 具体的にはどんな考え方になりましたか?

アラジン:短期間がんばって燃え尽きるのではなく、長い目で見て仕事をしていく視点を身につけました。時間内でパフォーマンスを出すためにどうするかを考えるようになりましたね。

あとはマインドセットですね。 仕事って必要なことをやるだけではなくって、自分が楽しんでできているかを日々感じたたほうが良いというアドバイスをもらい、そう思うようになりました。新卒だと「やんなきゃ」が多くなりやすいです。自分が楽しめているかを自問するようになりましたね。 学生時代にはなかった視点だと思います。

ー 入社前と入社後のギャップはありますか?

たき: 入社前から元々いい会社だと思っていましたね。実際には全くギャップがないです。業界内では名は知られていないけれど、優秀なテックリードや事業部CTOがたくさんいます。 逆説的には、外に技術的なアピールをそんなにやっていない人たちが多いともいえます。 会社内ではやっているけど、世間的には表立ってないですね。 入ってみるとめっちゃ強い人が居ると思いました。

りゅうや: 想像よりすごい人がいっぱいいましたね。

ー "すごい"とは具体的には?

りゅうや: 具体的には、

  • 1人でもやれることが多い
  • 弱点があまりない
  • プロダクトのエンジニアリングも見れるし、ビジネスサイドもわかる
  • どこかしら弱点があって他者が補うイメージだったがそうでもない

以上のように平均のレベルが高いと思います。

会社に入る前、仕事にみんながちゃんと向き合っていればいいな、と期待して入社しました。 実際に入ってみると、みんな全力で取り組む人でしたね。 素直に尊敬できるし良い組織だな、と思います。 僕は入社前に相当入念にCARTAのことを調べて入っているのでギャップはさほどなかったです。

アラジン: 技術力の高い人が想像以上にたくさんいましたね。そのうえで、 事業に対する理解ももちろんある。 "なんでその領域に関する知識ががあるの?" と思わず思ってしまう人もいます。様々な人がいて面白いですね。 興味の対象に対して深堀りしていく人がたくさんいて面白いです。

あとは、文化が強みの会社だと思います。言葉だけで形骸化される文化も多いように思えますが、CARTAでは本当に体現されています。素直にすごいなと思いました。

人を軸として大切にしていて、いい人が多いし、 変な "しがらみ" がありません。 本質的な事にアプローチするならば上下関係を気にせずに忌憚なく意見をいってよい文化があります。新卒でも正しい意見ならちゃんと通るのは本当に凄いと思います。つまり、年次で判断していなくてちゃんと言葉の「中身」で評価される会社だと思います。

反面、裁量も大きいですが、その分サポートも手厚いです。僕の居るチームは「技術的に優秀で仕事ができる」前提で仕事を任せられるため、課題が漠然として、粒度も大きいまま来ることがあります。

とはいえ、周りがサポートしてくれますし教育もしてもらえます。Huddle(Slackの通話機能)をしていると僕を含む新人を助けてくれようとチームのみんながワイワイ寄ってきます。タスクに直接的に関係なくても通話に参加してくれるので和気あいあいとしています。

また、Slackのチャンネル数が多く、個人が分報を行うチャンネル(以下、times)が数多く存在します。その中で色々と意見を言ったり議論をして、物事をいい方向に持っていっている印象があります。もちろん中身は玉石混交ですが...。一つ例を上げると、いちエンジニアのtimesに会長が登場して議論する距離感の近さがあります。

ー 逆に入社前のイメージ通りだったことはありますか?

りゅうや: Treasure(サマーインターン)の雰囲気が会社全体に広がっていたことかもしれません。インターンだから見せてくれた綺麗な一部分かと思っていたけど会社全体としてそうでしたね。これはいいギャップでした。

これから

ー これから頑張っていきたいことはありますか?

たき: 言語化が苦手という自覚を子供の頃から持っています。 CARTAの評価制度 「技術力評価会」 は、自分が半期でやってきた仕事を他の事業部のエンジニア(評価者)に90分で説明して評価される場です。限られた時間で、事業内容や背景、課題を評価者に伝える必要があります。 つまり、自分のやっていることを自分が理解した上で、相手にうまく伝えられないと、そもそも評価されません。 もっとうまく言語化ができるようになっていきたいですね。

あと、レガシーを早く潰しきっていきたいです。 その上でレガシーをできるだけ産まないような仕組みや文化をつくっていきたいです。

りゅうや: 意思決定のときに悩みすぎないようにしたいですね。 僕は「もう、ほぼ合ってるだろ」と事前に仕様を決めて作業に入りがちです。 もちろんメリットがあるのですが、結局前提を勘違いしてて方向性が変わることも多々あります。でも、間違いながら修正していくほうが早いこともあります。「決めて動く」と「間違えながら直す」方法を取捨選択できるようになりたいです。

ー なぜそう思うようになりましたか?

りゅうや: 仕事を進めていると、やってみないとわからないことがでてきます。どうせわからないんだから早く失敗して改善したほうが良かったと思うことがあったんですよね。その時は早く失敗したほうが的確に判断できたんじゃないかと。それがきっかけですね。

ー アラジンさんはどうですか?

アラジン: 技術者として技術力をのばしていきたいですね。エンジニアとしての能力として「長く残るものを作れるか」という視点で伸ばしていきたいです。言い換えれば構造的にも保守的にも変更的にも良いコードを書けるか、という視点を大切にしていきたいです。様々な選択肢を自分の中に持てることが良いエンジニアの条件だと思うんですよね。

また、思考力と技術力をセットで上げていきたいです。

試行錯誤を「作る前」と「作る最中」の2フェーズに分けるなら、作る前は「思考力」、作る最中は「技術力」が重要になると思います。

  • 作る前に本当に必要なものか考え意思決定する思考力
  • 作らないとわからないときに検証を速く行うための技術力

技術力が「思考力」を下支える基礎になると思っているので、まずは技術力をベースとして鍛えていきたいです。

事業理解ももちろん必要だけど、業務領域の知識は事業が変わると必要な知識ももちろん変わります。新しい領域に挑戦した場合、まずは言われたものを作ることになります。 まずは期待されるものをしっかり作れること、そのために基本的なエンジニア能力をしっかりつけていきたいです。

ー ありがとうございました。

24卒本選考もオープン中

CARTA HOLDINGSでは2024年4月入社の新卒採用もオープン中です! 様々な産業に「進化」をもたらし、未来の可能性を一緒に拓いていくエンジニアの仲間を募集しています。

【24卒】ソフトウェアエンジニア職