every Tech Blog

株式会社エブリーのTech Blogです。

Goエンジニアになって半年経ったので振り返る

Goエンジニアになって半年経ったので振り返る

この記事は every Tech Blog Advent Calendar 2025 の 23 日目の記事です。

はじめに

こんにちは!デリッシュキッチンで主にバックエンドの開発を担当している秋山です。

私は今年の6月にエブリーへバックエンドエンジニアとして中途入社し、そこから実務でGo言語を使い始めました。 それまでは約3年間主にRuby on Railsを触っていました。

この記事では、Goに転向して半年経った今感じていることや学びを振り返りたいと思います。

Goを使い始めて感じたこと

他の言語から来ると最初は戸惑う部分もありますが、使っていくとGoの良さが見えてきます。 ここでは、他言語から移ってきた人の視点で感じたことを書きます。

Goバージョン間の後方互換性が嬉しい

2012年にGoの1系が出てから毎年2回メジャーアップデートされますが、Goでは後方互換性の維持を考慮されています。 そのため、比較的容易にGoのバージョンアップを行うことができます。

業務の中でGoのバージョンアップを行わなければならないことがありました。 Goに触れる前は「メジャーアップデートに破壊的変更はつきもの」だと勝手に認識していたので、Goのバージョンアップの容易さに驚かされました。

後方互換性が保たれているおかげで「アップデートしたら動かなくなるかも」という不安が少なく、安心して最新バージョンを追えるのが良いポイントだと思います。

エラーハンドリングに違和感があった

Goで書かれたアプリケーションコードを初めて見た時の話です。 try/catch(rubyの場合はbegin/rescueですが)のエラーハンドリングに慣れていたこともあり、下記のようにnilチェックを行うエラーハンドリングに当時違和感がありました。

x, err := call()
if err != nil {
    return err
}

ちなみに、rubyでは通常このようにエラーハンドリングが行われます。

begin
  x = call()
rescue => e
  # call()で例外が発生した時にここの処理が実行される

今ではGoの書き方に慣れてきまして、エラーを値として扱うことで明示的に処理フローを追いやすくて良いなと思います。

GoのFAQが便利

他にもRuby/RailsからGoに移った時に

  • クラスってないの?
  • 継承ってないの?

などのような疑問が出ましたが、下記のFAQに回答がありました。

go.dev

このFAQを読んだだけでもGoの思想に対する理解を1歩進められそうです。

FAQ以外にもgithub上には議論が白熱しているissueやdiscussionもあるので、Goの機能追加の背景なども知れてより理解が深められそうです。

エラーハンドリングについても議論が白熱したみたいです。

github.com go.dev go.dev

AI活用で転向のハードルは下がっている?

AIにコードを書いてもらう機会が増えたり言語理解にAIを使用することができるようになり、新しい言語を学ぶハードルは確実に下がっていると思います。

ただ、Goを始める前「AIにコードを書いてもらうから転向もすんなりいけるかな」のように思っていた節がありましたが、実際にはそんなことはありませんでした。

日々の業務ではCursorを使わせてもらっており、Goの知識が少なかった私にとってはCursorは非常に強力なツールです。

しかし、AIが書いたアプリケーションコードを人間が全く確認せずにそのままリリースすることは現時点でリスクが高いので、AIが出力したコードをまずは自分でレビューします。 この時結局Goの知識がないとAIコードのレビューに時間がかかってしまいます。

また、チーム内でのレビューもGoの理解なしには難しいところがあるので、結局はGoの理解が大事だなと思いました。

Goエンジニアの成長を促進するエブリーの環境

Goエンジニアへの転向において、会社の環境も大きな助けになりました。

外部イベントへの積極的な参加

エブリーでは外部イベントの積極的な参加や登壇を推奨しており、実際に登壇を行っているメンバーもいます。 私自身も今年の9月に行われたGo Conference 2025に参加しました!

ちなみに、エブリーは今年もGo ConferenceにプラチナGoルドスポンサーとして協賛しました。

Go Conferenceの様子は下記ブログをご覧ください。

tech.every.tv

会社としてこのようなイベントに積極的に協賛しているのは私自身モチベーションにつながります。

また、つよつよエンジニアの方と話す機会もあり、僕もつよつよに成長したいと感じました。

定期的なGo勉強会

エブリーでは現在2週に1回の頻度でGoの勉強会が開催されています。

この勉強会では、持ち回りで担当者がテーマを持ってきて使い方を学ぶだけでなく、なぜそうするのか・どうしたら良さそうかなど参加者それぞれが疑問に思ったことをどんどん深掘りしていくスタイルになっています。

この勉強会に参加することで、日頃の業務で使っているだけでは得られないGoの知識をの取得や理解を深めることができています。 また既存のコードに対しても「本当はこの書き方の方が正しいよね」という気づきも多く、実務のコード品質向上にも繋がっています。

今後も日々邁進

AIが活躍する現在も言語理解や日頃の情報キャッチアップは大事だと思っています。 そのため、GoももちろんですがGoに限らずこれからも技術向上に邁進していきます!

参考