この記事はアドベントカレンダー15日目の記事です🎄🎅
HRBrain Advent Calendar 2025
はじめに
はじめまして、2025年4月からHRBrainでバックエンドエンジニアをしているげんきと申します。
早速ですが、皆さんはGo言語に触れたことがあるでしょうか?
Go言語はGoogleが開発し、今では多くの名だたる企業に採用されており、開発者からも高い人気を誇る言語です。
HRBrainでもGo言語を採用していて、私は入社と同時にGo言語を触り始めました。
私はこれまでJavaScript / Ruby / PHP / C#など色々な言語を経験してきましたが、正直これまで言語に強いこだわりを持つことはありませんでした。
ただ、HRBrainに入ってGo に触れれば触れるほどそのシンプルさに惹かれ続けており、初めてこの言語を書き続けていきたいというこだわりを持ち始めました…!
この記事では他言語を触ってきた私が約半年間で感じたGoの魅力を紹介できればと思います。
※本記事はGo言語の魅力・メリットを紹介するものであり、他の言語を否定するものではありません。
それぞれに違った良さがあるのは大前提として、n=1の個人的な「推しポイント」をまとめました。
文法のシンプルさ・愚直さ
私だけではなく、他言語経験者がGo言語を触り始めて一番特徴的だと感じる部分がこれなのではないかと思います。
ループは for のみ、条件分岐に三項演算子がない if , switch はある)など、はじめは「あの言語ならもっと楽 or 短く書けるのに…」と思うこともありましたが、選択肢の少なさがレビューで不要な議論を生まなかったり、長期的に保守しやすいコードになるなど、チーム開発を円滑に行うための原動力の1つになっているのではないかと思います。
また、Go言語のエラーハンドリングはエラーを戻り値として返し呼び出し元で明示的にエラーの検査を行うのが唯一の方法で、この愚直さも好きな点の1つです。
愚直なエラーハンドリングのおかげで、どこでエラーが起きたかがわかりやすく、問い合わせ発生時などのエラー調査でも助かっています。
シングルバイナリ
アプリケーションが依存するライブラリやGo言語のランタイムが1つの実行バイナリにまとまってくれるのもシンプルで好きな点です。
直近でコンテナイメージのセキュリティスキャンで検出された脆弱性を解消するタスクを担当したのですが、OSへの依存度が低かったりランタイムを別で用意する必要がないので、コンテナのベースイメージが distroless などの必要最低限のもので済み、他の言語と比較してセキュリティ面でも強みがあると実感しました。
少しそれますが、パッケージ管理ツールが Go Modlue 一択なのも無駄なツール選定が発生しないのでいいですよね。
go mod tidy で依存関係を整理し、 go build で依存関係も含めてシングルバイナリに包含される、このシンプルさがGo言語らしくて好きです。
標準パッケージの豊富さ
今までの開発経験だと、Webアプリケーションを構築する際に「全部入り」のフレームワークを採用することが多かったですが、Go言語では全部入りフレームワークに依存せず標準パッケージのみで必要最低限のアプリケーションが構築できてしまうのは驚きました…!
サードパーティへの依存が少ないことで、学習コストが少なくチームとしてスピーディに開発を進められる、またセキュリティ面や速度面でもメリットがあるのはかなり魅力的だと感じました。
Go言語そのものの文法のシンプルさに加え、フレームワークやサードパーティパッケージへの依存の少なさのおかげでGo言語の経験が浅いメンバーでも比較的速やかに貢献していける言語だなと思います。
さいごに
まだまだGo言語を「完全に理解した」状態にはほど遠いですが、触り始めてから短い期間でも上記のような魅力にどんどん惹かれていっています。
まだGo言語を触ったことがない方でも、公式のチュートリアルである A Tour of Go であったり、日本語の書籍も充実しており入門者にも優しくなっていると思うので、ぜひその魅力に触れてみてください!
そしてGo言語による企業の人事課題を解決するアプリケーション開発に興味がある方はぜひ弊社のカジュアル面談にお越しださい!
以下のサイトよりご応募をお待ちしております。