![見出し画像](https://assets.st-note.com/production/uploads/images/141447391/rectangle_large_type_2_01b24962838ac3d04bd8e312cdf52189.png?width=1200)
新卒エンジニアが先輩エンジニアに聞いてみた【Gさん編】
こんにちは!DIGITALIOの新卒エンジニアCです。
今回は、3年目にしてチームでフロントエンドもインフラもバリバリにできる、エンジニア のムードメーカーG先輩 にお話を伺いました✌️✌️✌️
先輩のプロフィール
ー 経歴について教えてください
昔っから生粋のスポーツマンで、小・中学校はバスケットボール、高校はアメリカンフットボールをやっていました。また、勉強も得意でなかったので、ざっくりとスポーツ関係のお仕事をしたいなと思い、体育大学に進学しました。
けど、自分の肌には合わず、大学を中退して自由気ままにバイト生活を送っていました。
自由で楽しくはあったのですが、その反面このままだったら俺の人生終わると思い…w
色々考えた挙句、その時代盛り上がっていたITの仕事に興味をもちました。
当時は今以上にIT業界も盛り上がっており、俺もホリエモンや前園社長になったるで!という思いで大阪のITの専門大学に通うことにしました。
とはいえ、人生においてパソコンを触ったことがなかったし、なんなら漫画みたいな機械音痴だったので、入学当初はめちゃくちゃ苦労しましたw
それでも諦めなかった理由は「俺はここに人生を変えに来ているんだ」という強い思いを持っていたからですw
専門学校では毎日がプログラミング漬けだったので、2年目になるとある程度は物作りができるようになるんですよね。その辺りからプログラミングが楽しくなり、学校の授業とは別でサマーインターンに応募したり、友人と起業したこともありました。
その流れでCARTAが実施していたTreasureに参加し、そこで社員さんの人柄に惹かれ、ここだったら楽しく働けそうやなーと思い入社を決めました。
ー 休日はどんな感じで過ごしてますか?
トレーニングが好きなのでジムに行くことが多いです。ボクシングジムに通っていたこともありました。また、友人と遊ぶのが好きなので、飲みに行ったり、旅行に行ったり、意味なく東京散策したり...w
お仕事について
ー どんなお仕事されてますか?
今はECナビというポイントサイトのインフラ改善を行っています。
現在、ECナビはEC2インスタンス上で動作しているのですが、そこにECナビ独自の仕組みも混ぜることで、開発・運用周りで色々と苦労することが多いです (勿論、他にも理由はありますが)
また、開発時には1台のEC2インスタンスにエンジニア全員でSSHしながら開発しており、それによって開発時に苦労することもありました (例えば、誰かが重い作業をすると全員の環境が重くなるとか...w)
(他にも課題は色々ありますが) それらの課題を丸っと解決する足がかりとして、コンテナ化を実施することになり、自分がその担当となりました。
ー なぜ、Gさんがその仕事をやることになったのですか?
それは自分が「やりたい!」って手を挙げたのが大きいかもですね。
また、自分は元々フロントエンドが得意で、入社当初からECナビのフロントエンド改善を進めていました。フロントエンドの改善を更に前に進めていく中で、全く知見のないインフラにも触れる必要が出てきました。
その中でインフラの知識を身に付ける必要性を実感したのもあります。
また、自分の理想像としても、アプリケーションからインフラまで一気通貫で面倒が見れるエンジニアになりたかったという理由もあります。
ー どういった場面でインフラ知識の必要性を感じましたか?
先ほど少しお話した通り、自分は新卒入社して1年半程はECナビのフロントエンド改善を進めていました。
今でこそ当たり前にNext.jsを使用した開発ができますが、入社当時はまだまだ開発できる状態ではありませんでした。
その当時OJTだったプロさん(10年目のスーパーエンジニア) と相談しつつ、以下のような改善をゴリゴリと進めていました。
フロントエンドのテスト方針策定
コンポーネントの再設計
SSGの導入実績
トップページのパフォーマンス改善
チームメンバーへのNext.jsの知見共有 (全員が開発できるように)
などなど
この辺りで Next.js の開発がある程度軌道に乗りました。
が、当時はまだ SSG しかできない環境 (Next.js サーバーが起動していない環境) であり、それ故に様々な問題も生じました。それを解決する為に SSR ができるような環境を構築しようと、自分主導のプロジェクトが発足しました。
そのプロジェクトで行った作業は以下です。
既存のインフラの理解
SSRができる環境 (Next.js サーバーが起動する環境) の検討・構築
デプロイ周りの整備
などなど
フロントエンドの改善と言えど、やっていることはかなりインフラ寄りです。このタイミングでは自分はインフラの知識が殆どなく、様々な方々にサポートやご迷惑をお掛けしました。
このプロジェクトを通して、(特に最近の) フロントエンドの改善を進める為にはインフラの知識も必要なことを実感しました。
ー システム改善チームが開催している共有会って?
システム改善チームはサービスのコンテナ化やその他改善を進める中で新しい仕組みや技術を導入しています。
同じくサービスを作る他チームのメンバーにも、新しい仕組みや技術について知って欲しいし、実際に触る時の心理ハードルの低下や、同じ様なことをする際の参考になればいいな、と思って共有会を実施しています。
実際に共有会では以下のような内容をお話ししました。
Next.jsを使用した開発
既存のインフラ構成における通信 (リクエスト) の流れ
Dockerfileのマルチステージングビルドについて
フロントエンドのレンダリング手法
CDK入門
既存環境とコンテナ環境の差
また、これは裏目的ですが、社内でもっとラフに技術や設計の共有会みたいなのが行われるといいなーというお話もしており、そういった組織作りのためにもシステム改善チームが先陣切って共有会を実施しています。
最後まで読んでいただきありがとうございました😉
それでは、また次回の記事でお会いしましょう!