こんにちは!
アイガーの採用担当です。
今回は、開発メンバーの西尾さんに、普段の働き方についてインタビューしました。
「エンジニアは実際にどんな1日を過ごしているの?」
「どんな風に開発を進めているの?」
「AIを活用した開発って、実際どんな感じ?」
そんな疑問をお持ちの方に向けて、リアルな働き方をお届けします。
ぜひ最後までご覧ください!
◼️1日のスケジュールを一言でいうと
ーご自身の1日を一言でいうと、どんな1日ですか?
設計→レビュー→実装→確認で、ひたすらコーディングする1日です。
基本的に、1日を通してコーディングをしています。
今はClaude Codeと対話しながら、「どんな機能を作りたいか」を整理し、現状のコードを把握したうえで必要な要素を洗い出し、計画を立てています。
その計画に問題がないかを確認してから実装に入り、最後に想定どおり動いているかをテストする。
この一連の流れを、日々繰り返しています。
◼️まずは開発環境を整える。1日はここから始まる
ー1日の始まりはどのようにスタートしますか?
まずは会社用のブラウザ、VS Code、ターミナルを立ち上げて、Dockerなどの開発環境を整えるところから始まります。
朝に入ってすぐ作業に集中できるよう、最初にきちんと環境を立ち上げることを大切にしています。
ー朝一で必ず確認するものは何ですか?
連絡手段はSlackですが、朝まとめて確認するというよりは、連絡が来たタイミングでその都度確認して、必要なものをブックマークしています。
朝はそのブックマークしたTODOを見て、やることを確認する程度です。
やること自体はほぼ決まっていることが多いので、「すぐにコーディングに入れる準備を整える」という感覚に近いですね。
ー今日の優先順位はどのように決めていますか?
基本的には前日からの流れで、次にやるべきことが明確になっている状態で朝を迎えることが多いです。
そのため、朝に改めて優先順位を大きく見直すことはあまりありません。
◼️午前はひたすら実装。価値を生むのは「考える時間」
ー午前中はどのような業務に時間を使うことが多いですか?
午前も午後も大きな違いはなく、基本的には実装に時間を使っています。
PMではないので、お客様との調整はそこまで多くなく、社内確認が中心です。
ー最も価値を生んでいる時間はどの瞬間だと思いますか?
コーダーとして一番価値を生んでいるのは、思考にリソースを割いている時間だと思っています。
方向性さえしっかり決められれば、実装自体はAIコーディングがかなり担えるようになってきています。
だからこそ、方向性を定めるためのヒアリングや、設計が間違っていないかを人間がチェックする工程に頭を使っている瞬間こそ、最も価値があると感じています。
ーチームとの連携はどのように行っていますか?
口頭でのやり取りが多いですね。
必要に応じてSlackも使いながら進めています。
◼️午後もコーディング中心。判断に迷ったら、まず確認する
ー午後はどのような業務に取り組んでいますか?
午後も午前と同じく、基本的にはコーディングです。
1日を通して、実装を中心に進めていることが多いですね。
ー意思決定が必要な場面では、何を基準に判断していますか?
まず、会社として定めている行動指針が判断の基準になります。
そのうえで大前提として大事にしているのが、PMに確認することです。
自分一人で勝手に判断して、お客様にそのまま伝えることはしないようにしています。
自分の判断が間違っている可能性は常にあるので、確認を挟みながら進めることを意識しています。
ー想定外のトラブルが起きた場合、どう対応しますか?
まずは冷静に現状を把握することだと思います。
焦って動くのではなく、何が起きているのかを整理することを大切にしています。
◼️1日単位ではなく、1週間単位で進捗を捉える
ー1日の終わりに振り返ることはありますか?
正直に言うと、毎日きっちり振り返るということは、今はあまりできていません。
システム開発は比較的スパンの長い仕事なので、1日単位というよりも、1週間単位で進捗を見ることが多いです。
ー良い1日だったと感じるのはどんな時ですか?
タスクをどんどん終えられている時や、お客様が求めているものを届けられそうだ、あるいは届けられたと感じられる日は嬉しいですね。
ー改善のために意識していることは何ですか?
自分はメモを取っても見返さないタイプなので、「勝手に溜まっていく仕組み」をつくることを意識しています。
自分が何をしたのかが自動的にログとして残っていて、振り返りたい時にいつでも見返せる状態をつくっておく。
能動的に記録するというより、仕組みとして蓄積されるようにしています。
◼️複数案件を横断。今向き合っている開発領域とは
ー1日の中でどんな開発業務を行っていますか?
今は、Next.jsを使ったフロントエンド・バックエンド開発、Pythonを使ったバックエンド開発、Nest.jsを使った開発、Android Studioを使ったネイティブアプリ開発など、複数の案件に携わっています。
案件によって使う技術や求められる役割が異なるので、日々さまざまな領域に触れています。
ーフロント・バック・インフラのバランスは?
基本的にはフロントエンドとバックエンドが中心で、インフラはほとんど触っていません。
現在進めている案件は、バックエンドを含むシステムをゼロから開発しているので、フロントとバックが半々くらいです。
一方で、既存システムへの機能追加案件だと、バックエンド8割・フロントエンド2割くらいになることが多いです。
◼️コードを書く時間だけじゃない。AIとの対話も仕事の一部
ータスクはどのように管理されていますか?
個人的にはGoogleカレンダーやGoogle Tasksでタスク管理をしています。
できるだけGoogle系のツールに揃えたいという考えがあるので、その形にしています。
会社全体では、スプレッドシートで管理していることもあります。
ーコードを書く時間とコミュニケーションの比率は?
基本的には、ほとんどコードに向き合っている時間です。
ただ、今は人とのコミュニケーションだけでなく、AIとのコミュニケーションも仕事の一部だと思っています。
自分で直接コードを書くことは以前より少なくなっていて、AIに現状を把握させ、設計させ、それを自分がチェック・修正し、計画を実行させ、最後に想定どおり動くかを検証する。
もし想定どおりに動かなければ、それが自分の指示ミスなのか、情報の抜け漏れなのかを確認して、次に活かしていくという流れです。
◼️受託開発だからこそ面白い。“必要なものを必要な形で作る”
ーこのプロダクトならではの技術的な面白さは?
受託開発の面白さは、お客様のビジネスモデルに最適化したシステムを作れることだと思っています。
既製品のソフトウェアは汎用的に作られている分、「もう少しこうしたい」「自社の業務フローには合わない」といった要望がどうしても出てきます。
そうした時に、必要な機能を必要な形で実現できるのが、受託開発ならではの魅力です。
たとえば今携わっている案件のひとつに、顔認証で部屋の鍵を開けるシステムがあります。
似たような既製品はあっても、自社でデータを管理したい、既存の基幹システムと連動させたいといった要望があると、独自に作る必要があります。
自分は、特定の言語やフレームワークそのものの面白さというより、「何ができるか」のほうに興味があります。
プログラムは関数の組み合わせで大抵のことができる、いわばレゴブロックのようなものです。
「こういう仕組みを作って、こういう要素を組み合わせれば、求めているものが作れそうだ」と考えるプロセス自体が面白い。
必要な機能を、必要な時に、必要な分だけ作れる。
ビジネスモデルに最適化できるというのは、受託開発ならではの醍醐味だと思います。
ー難しい課題にどう向き合っていますか?
難しいの定義にもよりますが、物理的・技術的・金銭的に不可能でない限り、基本的には実現できるという前提で考えています。
その中でも、要件が複雑だったり、ステークホルダーが多かったりして一筋縄ではいかない課題については、地道に整理しながら進めていくしかないと思っています。
◼️「知っている」が増えると、できるイメージが湧いてくる
ー入社してから成長を感じたポイントは?
一番大きいのは、「知っているか、知らないか」の壁を越えられたことです。
システム会社にいなければ得にくい知識、たとえばデータベースの設計思想や、良い設計とは何か、後から問題が起きにくい構造とはどういうものか、といったことを先輩エンジニアから直接学ぶことができました。
実際のコードベースや開発環境に触れながら、サーバーやAWSの裏側がどう動いているのかも知ることができています。
「知っている」ということの価値は、「できるかどうかわからない」状態から「こうすればできそうだ」というイメージを持てるようになることだと思っています。
手が届くイメージが持てるようになると、一気に前に進める感覚があります。
その感覚を掴めたことが、自分にとって一番大きな成長だと思います。
ースキルアップのために取り組んでいることは?
Reactを使ったサイトを自分で作ってみたり、身につけた知識を誰かのために使ってみたりと、実践の中でスキルアップしていくのが自分には合っていると感じています。
正直、プライベートの時間で座学中心にインプットし続けるのはなかなか難しいので、実践ありきの方が自分には合っていますね。
◼️仲が良く、誠実。アイガーらしいチームの空気感
ーチームの雰囲気を一言で表すと?
すごく仲がいいと思います。
役割や上下関係はもちろんありますが、みんな年齢が近くて、ざっくばらんな雰囲気です。
大手企業にありがちな古い慣習や無駄なものが少ないのも、働きやすさにつながっていると感じます。
また、この規模の会社だからこそ、信頼をとても大切にしている印象があります。
信頼を損なうことが致命傷になりかねないからこそ、お客様第一の姿勢や、誠実であること、「どうすればできるか」を考える姿勢がしっかり根付いていると思います。
ー働いていて楽しい瞬間はどんな時ですか?
ギスギスした雰囲気がなく、社内で愚痴をあまり聞かないところですね。
みんなが自分の好きなことや得意なことを、ちゃんと仕事にできている会社だなと感じます。
◼️時間・AI・役割の広さ。正直、大変だと感じること
ー正直、大変だと感じることは?
大きく3つあります。
1つ目は、時間の制約です。
限られた時間の中で成果を出さなければならないので、常に時間に追われている感覚はあります。
2つ目は、AIとの向き合い方です。
AIを使うことで生産性は上がる一方で、根本的な理解が浅くなりがちだという課題感があります。
AIなしでコーディングしてきた先輩たちとの基盤の差は、これからよりはっきり出てくると思います。
すべてを一から学び直す時間が現実的に取れるわけではないからこそ、設計力や人間としての価値判断、経験則など、AIだけでは得られない領域を意識的にキャッチアップし続ける必要があると感じています。
3つ目は、求められる幅の広さです。
マネジメント、ヒアリング、開発と、やることが多い。
広くこなせるだけではなく、特定の場面でしっかり力を発揮できる自分なりの強みを持つことが、これから必要だと思っています。
◼️それでも続けたい。システム開発で自分の強みを見つけたい
ーそれでも続けたいと思う理由は?
システム開発の中で、自分だけの強みを見つけられるかもしれないと思ったことが一番の理由です。
また、自分の周りにはAIもシステムもあまり馴染みのない人が多いのですが、これからシステム開発はより身近なものになっていくと思っています。
自分がそのノウハウを持っていれば、周囲の人たちの無駄な手作業を減らせるかもしれない。
そう考えると、この仕事には大きな意味があると感じます。
自分は、黙々とパソコンに向かって仕組みを作るのが好きなタイプです。
「じゃあそれは自分がやるよ。その代わり、自分が苦手なことは得意な人に任せたい」
そんな感覚で、自分の得意を活かせるこの仕事を続けていきたいと思っています。