🌱

コードが書けない私は、エンジニアと呼べるのだろうか? ― AI時代の新卒CREが出した答え

に公開

1. はじめに

こんにちは、TOKIUMでCRE(Customer Reliability Engineering)をしている阿野です。

皆さんは「エンジニア」と聞いてどのようなイメージを持たれるでしょうか?

私は、「画面と向き合い、キーボードをカタカタ鳴らしながら大量のコードを書く人」というイメージでした。映画やドラマなどに引っ張られている気もしますが、私の中ではコードを書くという認識が強くありました。

そんな私は、今年の6月から開発未経験でエンジニアの世界に足を踏み入れました。1人前のエンジニアになるために、たくさんコードを書けるようになろう。そう息巻いて実務をスタートしました。しかし、半年経過した今でも、私は自分でコードを書くことができません(いまだにif文を調べたりしてます...)。私の思い描いていた姿とは程遠い現状です。

"コードが書けない私は、エンジニアと呼べるのだろうか"

この記事では、そんな私が、CRE業務や生成AIの台頭を通してどんな答えを出したのかをお話しできればと思います。同じ悩みを抱えている方の、何かのきっかけになればうれしいです。

2. CREという業務、書けない焦燥感

新卒で配属されたのは、CREという部署でした。

CRE(Customer Reliability Engineering)は、もともとGoogleが提唱した「顧客信頼性エンジニアリング」という概念に由来する職種です。そのミッションは、技術的な側面から顧客の不安を解消し、プロダクトへの信頼(Reliability)を最大化することにあります。

このミッションを遂行するために、CREチームでは技術的なサポートが必要と考えられるプロダクトの不具合や疑問について調査を実施します。「この画面でエラーが出る」「出力結果がおかしい」といった営業サイドで解決できない問い合わせに対し、仕様書を読み込み、ソースコードを辿りながら、原因を特定するのが主な役割です。

CREの業務特性上、一日の大半は既存ロジックの読解と検証に費やされます。つまり、新しくコードを書く時間はあまりありません。その傍で、他の開発チームに配属された同期たちはどんどんコードを書くスキルを高めていっていました。「みんなコード書けるようになっていっている。なのに自分は...」と焦る日々を過ごしていました。

そんな私は、自分でコードを書く時間を増やすために、社内の開発部配属研修で作成したアプリのブラッシュアップをしてみることにしました。

なんでもいいからとにかく手を動かさなければ、という焦りから始まったチャレンジですが、同期の協力のおかげでチーム開発として進めていけることになりました。チームメンバーの知見を吸収しながら書く経験を積む日々に、少しずつ成長の手応えを感じ始めていました。

(※ブラッシュアップしたアプリは、本番環境にデプロイされ、現在は社内システムとして利用されるまでに至りました!)

3. AIによって揺らぐエンジニアの価値

しかし、この開発の中で、私の思考を変える大きな転機が訪れます。Claude Codeといった生成AIとの出会いです。

驚きました。人間が何時間もかけて書いていたコードは、AIが数分で生成してしまいます。プロンプトを与えるだけで小さなアプリだったらすぐ作れてしまいます。プログラミング言語に知見がなくても、AIにコードを書いてもらうことができるようになったのです。

この生成AIの台頭により、私がずっと追いかけていた「書く」という価値が一瞬で崩れました。エンジニアの価値だと信じていた「コードを書く」ことをAIが圧倒的な速度でこなす様を目の当たりにして、自分の存在意義そのものが揺らぐような感覚がありました。

しかしその中で、ある問いが浮かびました。そもそも、私が思い込んでいた「エンジニア=コードを書く」という認識は、本当に正しいのでしょうか。

4. エンジニアの本質は、書くことの先にある

私は改めて、自分が属しているCREという職種を見つめ直しました。CREはエンジニアの役職の一つとして存在していますが、一からコードを書く機会はそれほど多くありません。では、我々の責務はなんなのでしょうか?

CREのミッションは、技術的な側面から顧客の不安を解消し、プロダクトへの信頼を最大化することです。このミッションを実現するため、日々、我々が持つ技術的な知見を用いて調査・検証を行い、お客様のお悩みを解決しています。この技術的な知見を用いて、課題を解決することこそが、私たちの責務ではないかと考えました。

そして、これはCREに限定した話ではないと思っています。

世界中のプロダクトやそれに付随する機能は、誰かの不便を解消したり、何かの課題を解決したりするために存在しています。コードを書くという技術は、その課題解決を実現するための手段の一つであることに気づきました。

つまり、どんな開発現場であっても、本質にあるのは技術的な知見を用いて、目の前の課題を解決することであり、その責務はCREも他のエンジニアも変わらないのだと、私はそう思うようになりました。

5. おわりに

振り返ると、当時の私は、コードを書くことそのものをゴールに設定してしまっていました。しかし、CREとしての実務や生成AIの台頭を通して、技術の本質はその先にある誰かのために技術を使い、課題を解決することにあるのだと気づかされました。

"コードが書けない私は、エンジニアと呼べるのだろうか?"

記事の冒頭で自分自身に投げかけたこの問いに対し、今の私は、「エンジニアである」と答えて良いと思っています。

もちろん、ここがゴールではありません。むしろ生成AIによって、求められるハードルは以前よりも高くなっていると感じています。AIが出力する膨大な情報を精査し、作り出したものに責任を持たなければならなくなったからです。

激動の時代の中、AIの凄さに自分の価値を見失いそうになることもありますが、これからも研鑽を積み、誰かを助けられるエンジニアになれるよう努めていきたいです。

TOKIUMプロダクトチーム テックブログ
設定によりコメント欄が無効化されています