メインコンテンツへスキップ
見出し画像

PHP/Ruby の次に僕が 「Go 言語」 を選んだ理由

    長年連れ添った PHP と Ruby。それはまるで、気心の知れた相棒のような存在でした。

    特に Laravel や Ruby on Rails といったフレームワークの手に馴染む感覚は、僕に多くの成功体験と、フリーランスとして生きる自信を与えてくれたのです。

    しかし、技術の海はどこまでも広く、そして流れが速い。

    フリーランスという小さな船で一人、航海を続ける僕の心に、いつからか小さな、けれど無視できないさざ波が立ち始めていました。

    「このままで、僕は 10 年後も戦い続けられるのだろうか?」

    これは、僕が愛する相棒たちに背を向ける記録ではありません。

    むしろ、彼らと共に、より遠くの水平線を目指すために、新しい「翼」を手に入れようと決意した、僕の小さな挑戦の記録です。

    居心地の良い「故郷」と、旅立ちの予感

    サラリーマン時代(SE)、僕の手には VB や C# といった、堅牢な武器が握られていました。それらで数々の戦場を駆け抜けた後、僕はフリーランスという新しい冒険の地へ。そこで僕が新たに手にしたメインウェポンが、PHP と Ruby だったのです。

    Laravel のパワフルな機能群、Rails の「設定より規約」という美しい哲学。これらは僕にとって、単なる開発ツールではありません。複雑な案件という荒波を乗り越えるための、信頼できる羅針盤であり、頑丈な船そのものでした。

    今でもその想いは変わりません。Laravel や Rails を使った案件のお話をいただければ、僕は喜んで、そして自信を持ってその船に乗り込みます。それほどまでに、僕の血肉となっている技術なのです。

    クライアントの要望に応え、無事にプロダクトを納品する。その繰り返しの中で、僕はフリーランスとしての確かな手応えを感じていました。まるで、慣れ親しんだ故郷の港で、漁を続けているような安心感。

    ——しかし、その安心感に浸る一方で、僕の心の片隅では、別の感情が静かに育っていたのです。

    それは、遠い水平線の向こう側にある、まだ見ぬ大陸への憧れ。そして、この穏やかな港に留まり続けることへの、かすかな不安でした。

    なぜ僕は新しい 「武器」 を求めたのか

    フリーランスとして生きることは、変化を受け入れ続けることと同義だと、僕は考えています。

    市場の需要、クライアントのニーズ、そして技術トレンド。昨日までの「正解」が、明日にはもう通用しなくなる。そんな世界で、一つの港に安住することは、緩やかな衰退を意味するのではないか。

    僕が感じていた「さざ波」の正体は、まさにこの点にありました。PHP や Ruby が素晴らしい言語であることは、大前提です。しかし、僕がこれから挑戦したい領域——例えば、より大規模なデータを扱うバックエンドサービスや、マイクロサービスアーキテクチャ、あるいは OS に近い低レイヤーの領域——を考えたとき、僕の道具箱には、もう少し違う種類の武器が必要だと感じ始めたのです。

    それは、まるで熟練の剣士が、新しい戦場に合わせて、剣だけでなく弓や槍を求めるような感覚に近いかもしれません。PHP/Laravel や Ruby/Rails という最強の剣はそのままに、新しい戦況に対応するための、新しい武器を。

    僕の「新しい武器」探しの旅は、ここから始まりました。

    僕が 「シンプルさ」 に惹かれた理由

    旅の途中、僕はたくさんの魅力的な言語に出会いました。それぞれが独自の哲学と強みを持っていて、僕の知的好奇心を大いに刺激してくれたのです。

    しかし、その中でもひときわ僕の心を捉えたのが、Go 言語でした。

    Go 言語の第一印象は、「なんて、不器用な言語なんだろう」というものでした。Laravel や Rails のような、至れり尽くせりの「魔法」のような機能は、そこにはありません。コードは冗長に見え、一つひとつの処理を丁寧に、自分の手で書かなければならない。

    しかし、学びを進めるうちに、その「不器用さ」こそが、Go 言語の最大の魅力であり、僕が今、最も求めているものであることに気づいたのです。

    Go 言語の哲学は、「シンプルさ」と「明瞭さ」にあります。

    📌 一つのことを、うまくやる:
    言語機能は最小限に絞られ、開発者は「どう書くか」ではなく「何を作るか」に集中できる。

    📌 コードは、書く時間より読まれる時間の方が長い:
    誰が読んでも理解しやすい、明瞭なコードを書くことを言語仕様が後押ししてくれる。

    📌 並行処理という、現代的な翼:
    ゴルーチン (goroutine) という軽量なスレッドのおかげで、たくさんの処理を同時に、そして安全に実行することが驚くほど簡単にできる。

    Laravel や Rails の「魔法」に慣れ親しんだ僕にとって、Go 言語の思想は、まるで世界の解像度を一段階上げてくれるような、衝撃的な体験でした。

    それは、これまで見えなかった「コンピュータの気持ち」に、少しだけ近づけたような感覚。

    「これだ」

    僕は、直感的にそう感じていました。僕がこれから進むべき、新しい航路を照らしてくれる灯台の光を、見つけた瞬間でした。

    ゼロから始めた僕の学習プロセス

    新しい大陸への上陸を決意した僕は、さっそく独学という航海に出ました。

     
     
    15年のフリーランス / ソフトウェアエンジニア経験を基に、仕事が劇的にラクになる思考法を発信し、あなたの生産性と心の余裕を生み出します。吃音で選んだ物語の力で、人生の深い葛藤を乗り越えるヒントと癒しを提供。フォローで専門知識と心の拠り所となる物語が手に入ります。

    あなたへのおすすめ