見出し画像

未経験技術のキャッチアップにChatGPTを使って感じたこと

はじめに

こんにちは、ライフイズテックのホンディーです。入社して2ヶ月目になり、社内の各種ツールやサービスのデータ構造にも慣れてきました。
今回の記事では入社直後、特に1〜2週間目の頃を振り返って苦労したこととLLM(ChatGTP)に助けられたこと、その周辺で感じたことについて書いていきます。

初めての経験者としての転職と技術スタックの壁

転職自体は3回目ですが、実は職種の経験者としての転職は今回が初でした。1社目はSIerのSE(マネジメントが主業務。ほぼExcel屋さん)、2社目はWebサービスやスマホアプリのエンジニア、3社目はデータサイエンティストだったので、この2回の転職は未経験者として受け入れてもらいました。

そして今回始めて経験者として転職してきたので即戦力としてバリバリ活躍したいと思っていたわけですがいきなり直面したのが技術スタックの壁です。昨今、多様なツールが登場しているので仕方ないことですが、転職前後で導入されている技術が思った以上に違い、入社初期は戸惑いました。主要なものに絞っても以下のサービスやツールが未経験で、逆に共通していたのは、SlackとGitHub、Salesforceくらいという状況からスタートしています。

Snowflake / ReDash / dbt / terraform / trocco / Jira / Miro / notion … etc.

ある程度要領を得てしまえばどれも難しくないのですけどね。最初にデータ基盤のリポジトリとdbtの公式ドキュメントを開いた時は何から手を付けていいか本当に何も分かりませんでした。

そうだ、ChatGPTに聞いてみよう

幸運にも今はChatGPTという強力な味方がいます。元々コーディングの補助等で使っていたのですが、コーディング以外でもネット上に英語のドキュメントが充実しているツールならChatGPTは詳しいんじゃないか?と思って軽く質問してみると、わかりやすい説明が得られることに気づきました。

例えば、自分がdbtは未経験でほぼ知識がない状態で、すでに程度開発が進んでいるdbtのプロジェクトに途中から参加することになったことを伝え、リポジトリのどこから見たら良いかアドバイスを求めると以下のような答えが得られます。

新しくDBTプロジェクトに参加した場合、以下の順序でリポジトリを読み進めることをおすすめします。

1. dbt_project.yml:DBTプロジェクトの設定が記述されているファイルです。ここには接続情報、モデル設定、パスの設定などが含まれています。プロジェクト全体の設定と構造を理解するために最初に読むべきです。
2. models:ディレクトリ内にはDBTモデル(SQLファイル)が格納されています。これらのSQLファイルはデータ変換ロジックを含んでいます。各ファイルとその内容を調べて、どのようにデータが操作されているか理解しましょう。
3. analysis:このディレクトリには、DBTから直接実行できる分析クエリが格納されています。分析クエリはプロダクションデータベースに影響を与えずに実行できるため、データとその変換の理解を深めるのに役立ちます。
(以下略、testsやmacros等の説明が順に続く)

公式ドキュメントから入るよりずっとわかりやすいですね。
実際にリポジトリがこの通りの構成になっていたので、指示通りの順番でファイルを開いて中身を見て内容について不明点があれば順次ChatGPTに質問して、とやっていくと簡単な修正タスクならすぐこなせるようになりました。terraformも同様です。

ChatGPTが教えてくれないこと

ChatGPTのおかげで既存コードの理解がスムーズに進んだのですが入社後のキャッチアップが全部ChatGPTで完結するわけではありません。当然ながら他にも把握しないといけないことは山ほどあります。

  • ライフイズテックの各事業の現状や目指す形

  • 現時点までの各事業におけるデータの活用状況

  • 現時点のデータ基盤の課題

  • 社内の各部署からの期待

  • データ基盤グループとして目指すこと

  • 社内のDBの具体的なデータの構造

  • ChatGPTが情報を持っていないツールの情報(知名度が低いサービスや直近のアップデートに関する情報)

などなど、これらは当然ChatGPTに聞いても答えが返ってきません。

入社してからほぼ毎日、時間を確保して頂いて先輩社員と話をする場を持たせてもらっているのですが、こういったテーマについてじっくりと質問ができています。

ツールの使い方等をChatGPTに質問するようにしていたことで、知識習得の時短効果自体もありましたが、それよりも先輩社員と話す時間の大部分を、人と話さなければ得られない情報を得ることに使えるようになったことの方が、大きな利点だったと思います。(とはいえ、実際は各サービスの使い方も頻繁に先輩に質問しているのですが。)

それでも公式ドキュメントは大事

技術的な情報に限っても、ChatGPTだけで完結していいわけでもないというのも、実感として感じてきているところです。ハルシネーションとして知られている現象ではありますが、AIがもっともらしいが誤った情報を出力することは普通にあるからです。
また、主要な情報を端的に説明してはくれますが、やはり情報の網羅性や正確性という観点では公式ドキュメントを参照したほうが得られるものが多いです。

ただ、最終的に公式ドキュメントを読むにしてもChatGPT登場以前と今では状況が変わったのを感じています。
僕は元々何を使うにしてもできる限り公式ドキュメントを読むようにしてきましたが、最近は一旦ChatGPTに質問して概要を把握した上で登場したワードをつかってドキュメント内を検索して詳細な情報を読むようにしています。こうすると必要な情報へたどり着くのも早くなるし、主要な情報はすでに把握している状態のため心理的にかなり楽な気持ちで読めるのでお勧めです。

技術選定や採用活動へのChatGPTの影響

ここまでは自分がキャッチアップするのにChatGPTが役に立ったよという話を書いてきましたが、一歩俯瞰して見るとChatGPT(に限らずLLM)のおかげで技術習得のハードルが下がることは、もっと大きな意味を持つことだと感じます。

過去に在籍した会社でも自分が採用に関わることも多かったこともあり、技術選定においては転職市場に人材がいるかという観点も持って進めてきました。あまりにマイナーなツールばかり導入していると採用が進まなくなってしまう懸念があるからです。
しかし、ChatGPTを使えば未経験者でもすぐキャッチアップできる、となれば今後の採用においてはそのツールの経験有無はほぼ気にしなくて良くなります。
技術選定においても転職市場にあまり経験者がいなくても、純粋に機能面を見て自分たちが使いたい技術を選定しても大丈夫になっていくのではないでしょうか。逆にこの技術の情報をChatGPTが持っているかという観点が重要になるかもしれませんね。

まとめ

「生成AI」というだけあって、データサイエンティストがChatGPTを使うと言うテーマの記事ではPythonやSQLのコードを書いてもらったりグラフを生成するなどの使い方を取り上げてることが多いと感じたので、他の使い方もあるよってことで今回の記事を書いてみました。頭の片隅にでも置いといていただけると幸いです。

日常的にChatGPTを使うようになって、仕事の様々な場面でその影響を感じるようになってきました。ライフイズテックではサービスとしてもAIを活用するコースなどを提供していますが、まずは自分の業務においてAIをフル活用し、大きく成果を出せるようにしていきたいと思います。


お知らせ

ライフイズテック サービス開発部では、気軽にご参加いただけるカジュアルなイベントを実施しています。開催予定のイベントは、 connpass のグループからご確認ください。興味のあるイベントがあったらぜひ参加登録をお願いいたします。皆さんのご参加をお待ちしています!


この記事が気に入ったらサポートをしてみませんか?