go言語って何?そのメリットとデメリットをまとめました!

go言語(golang)の特徴とは

2009年にGoogleが発表したプログラミング言語で、歴史は浅いのですが人気・需要が高まってきています。人気と需要が高い理由は、シンプルで使いやすく初学者でも学習がしやすい事と、処理速度が速いことが挙げられます。また、C言語の開発者Ken Thompson氏、UTF-8やUNIXの開発者Rob Pike氏、memcachedの開発者Brad Fitzpatrick氏など、伝説級のエンジニアによって開発されたという背景も人気の理由の1つです。go言語(golang)の代表的な特徴を4つ紹介します。

①シンプル

C言語やJavaと構文が似ているので、これらの言語を書ける人はよりスピーディにgo言語を習得が可能です。go言語ではさらにシンプルで分かりやすい構文・文法となるように注意が払われています。例えば、繰り返し構文はfor文しかなく、while文やdo/while文などはありません。表現方法を制限することで、コンパイルを高速化し、プログラマ毎の表記のばらつきを抑えることができます。

②時代の流れに敏感

go言語はクロスコンパイルや並列処理をサポートしています。例えばMacで開発しててもコンパイル時にOSとCPUアーキテクチャを指定するだけでLinux、Windows用の実行ファイルを作れます。また、軽量スレッドを用いて処理を並行に実施し、同時に実行されているスレッド間でデータをやりとりするしくみが備わっています。

③充実した開発環境と豊富なライブラリ

go言語は2009年にリリースされた新しい言語ですが、開発を助ける環境が充実しています。さまざまなパッケージやツールが最初から用意されていたり,各エディタやツールのためのプラグインなども多く公開され、ライブラリも豊富にあります。このため、すぐに開発を始めることができます。

④処理が速い

go言語はシンプル構造がゆえに、実行時の処理速度はPythonやJavaと比べても単純に早いです。ここで、google app engineのようなPaaS上で動作させる具体的な例を挙げると、一定時間のアクセス・処理がない場合は、余計なCPU等リソースを消費しないようにコンテナが停止します。アクセスがあってコンテナを起動する際、例えばJavaの場合はJVMを起動するのに時間を要します。go言語の場合、クロスコンパイルができることからVM環境は不要のため、VM起動時間は0となって高速にレスポンスを返すことができます。

⑤安全性が高い

go言語は型宣言が厳格でタイプセーフであることからメモリセーフであり、安全性が高いです。メモリの開放忘れ等も発生しずらく、メモリリーク(開放忘れ)のリスクが低くなります。

goエンジニアの年収は? 

2018年のプログラミング言語別の年収ランキングは、1位:go(平均600万、最大1600万)、2位:Scala(平均600万、最大1300万)、3位:Python(平均575万、1499万)となります。

需要の高さと習得者が現在少ないことが合わさって、ランキング1位となっています。求人数についても、2017年から1.9倍も増加している傾向があり、今後さらに需要が高まる可能性を持っています。

 go言語を使うメリットとは 

開発中におけるメリットと運用が始まってからのメリットに分けることができます。開発中のメリットは「コンパイルが速い」「メモリ安全性が確保されている」「妥当で現実的なレベルの型安全性が確保されている」「標準ライブラリが整備されている 」「シンプルでバランスの取れた言語仕様で習得が比較的容易」があり、駆け出しのプログラマでも仕事がしやすいようデザインされている点にあります。

運用中のメリットは「実行時パフォーマンスが良い」「Dockerなどの素晴らしい大規模プロジェクトでの実績がある」「実行環境としてJVMやインタープリタを必要としないのでデプロイが軽量で済むのと、利用者にランタイムやJavaVMのような追加インストールが不要」があり、システム利用者への負担を減らせるという点にあります。

go言語は完成度の高いシンプルな言語ではありますが、そのメリットを最大限に活かしたり、または、誤った設計をしないように工夫が必要です。go言語が業務の中心となっているメルカリ社では、毎週金曜日に「Go Friday」という勉強会を開催しています。「goをどうやって使っていくか」「どう設計すればよいか」といったgo言語を学ぶための勉強会からスタートし、今ではGoogle Cloud Platform全般に関する知見を共有し、知識を深める勉強会となっています。

 go言語はなぜ批判が多いのか、go言語のデメリットについて 

go言語はシンプルさを追求するがゆえのメリットがありますが、そのために削ぎ落した機能や工夫に対する批判やデメリットがあることも事実です。代表的なものを4っ紹介します。

①Generics (template) がない

go言語にはGenericsがありません。JavaのGeneric TypesやC++のテンプレートで書けるようなことができません。ただし、配列、mapはサポートされているのでJavaやC++で総称型を使うパターンの9割は解決できる課題です。これはセキュアなメモリ管理を達成するために切り捨てられた機能の一つです。

②継承がない

go言語には継承がありません。継承はありませんが、実質的に同じ役割を果たすEmbedという機能があるので、考え方、使い方の違いということになります。

③例外処理がない

例外処理を書かないようにするというのが基本思想です。panic、recoverを使って例外処理と同様なことは実現できますが、気軽に使ってよいものではありません。例外処理を書くと、例外やエラーが発生した際にコードが想定外の順序で実行されてしまったり、処理実行自体がスキップされて困ることがあります。大規模なプロジェクトの中で例外処理を正しく扱うのは困難なため、例外がないことは必ずしもデメリットではありません。

④ベテランプログラマ向けのデザインではない

go言語は乱用するとプログラムを無意味に複雑にしてしまう機能が排除されています。経験の浅いエンジニアでも簡単に理解し、大きなシステムを構築するのに使えるようデザインされています。ベテランからすると物足りなく感じたり、高度なテクニックが活かせない場合があります。

 go言語 経験ありの求人一例

go言語を使って自社開発をされている企業様より求人募集がきています。一例ではありますが、記事中に「Go Friday」でご紹介したメルカリ様を始め、Gunosy様、サイバーエージェント様といった知名度の高い企業様より、go言語経験者の方の求人があります。経験がある方は是非ご相談ください。

転職エージェントに頼りましょう

エンジニア業界の転職は、自分でするよりも転職エージェントを利用した方が良いです。
業界に精通しているキャリアコンサルタントが、あなたの転職活動をバッチリサポートしてくれます。

ただ、キャリアコンサルタントは経験もスキルも正直ピンキリなので、そういった優秀なキャリアコンサルタントに当たるためには、複数の転職エージェントに登録してみるべきです

定番の大手エージェントの中から2〜3社、特化型のエージェントを1社程度、
まずは登録して実際にキャリアコンサルタントに直接会ってみた上で、実際にサポートを進めてもらうエージェントを比較検討してみることをおすすめします。

※以下の各転職エージェントのリンクから各社の登録サイトに直接飛べるので、そちらから早速会員登録をしてみましょう。

エンジニアやデザイナー、クリエイターの転職に特化した転職エージェント

マイナビ新卒やマイナビエージェントでお付き合いのある企業とのコネクションを生かした、幅広い求人提案がウリ。

特徴
【メリット】
  1. あなたの転職希望先IT企業の面接対策を実施!
  2. IT業界に精通するプロの専任キャリアアドバイザー!
  3. あなたが知りたいIT企業の情報をどこよりも数多く所有!
【デメリット】
  1. 自分とは合わないキャリアアドバイザーに当たる場合も

※リスクを回避するためにマイナビITと同時にレバテックキャリアへの登録をおすすめします。

こんな人がおすすめ!
  1. IT業界を知り尽くすプロフェッショナルの話をまずは聞きたい方!
  2. 自分のキャリアで「どのくらいの企業にいけるのか」「どのくらいの年収になるのか」を知りたい方!
  3. 希望するIT企業の非公開求人を教えてほしい!

マイナビITの評判・口コミから分かる利用すべき人

2018.10.29

エンジニア・クリエイター向けのフリーランス支援サービスも展開。 豊富な情報量×きめ細やかなサービスに強み。

特徴
【メリット】
  1. フリーランス領域でも事業を展開。エンジニア・クリエイターの方に寄り添ったアドバイザリングに強み
  2. IT・Web業界トップクラスの求人数!
  3. エンジニアとクリエイターの為に設計されている独自のフォローアップ体制
  4. 現役エキスパートエンジニアから応募書類の添削を受けられる
【デメリット】
  1. IT・Web業界が全くの未経験の転職者は対象になりづらいです

こんな人がおすすめ!
  1. IT・Web業界への転職を希望している方
  2. IT・Web業界に詳しく、知見のあるキャリアアドバイザーからサポートを受けたい方

レバテックキャリアを使うべき人はどんな人?評判をもとに徹底分析!

2018.07.19

レバテックキャリアのサービスへのこだわりを徹底取材!

2018.11.18

22歳から34歳の方は必ず登録すべき!大手エージェント


30代前半ぐらいまでの方で多いのが、自分の進むべき業界・職種が定まっていないケースです。
そういった方は幅広い業界・職種の求人を扱う大手エージェントにまず登録し、コンサルタントと壁打ちしながらキャリア相談をしてみるのがオススメです。

転職決定実績・求人数が業界No.1!
転職者の8割が利用している、国内最大の転職エージェント
定番のエージェントなので、「まだ登録していない」という方は、リクルートエージェントへの登録をまずオススメします。

特徴
【メリット】
  1. 求人数が業界No.1、幅広い業界・職種の求人をご紹介することが可能
  2. 上場企業など大手企業の非公開求人をご紹介
  3. 過去の転職決定実績をもとに、企業別の面接対策を効率的にやることが可能
【デメリット】
  1. 担当のキャリアアドバイザーによって転職サポートの質が異なる可能性がある

こんな人がおすすめ!
  1. 幅広い業界・職種の求人を比較検討したい方
  2. 大手企業の求人 、非公開求人を紹介してほしい方
  3. 転職するかどうか悩んでいて、とりあえず転職相談してみたい方

リクルートエージェントの評判を元社員が大暴露!【利用者の口コミ付】

2019.01.25

20代の登録者数No.1の転職エージェント!
転職サイトでは公開されない20代・第二新卒向けの非公開求人を多数保有!

特徴
【メリット】
  1. 20代の若手層向けの求人が豊富!
  2. 新卒サイトの掲載社数、業界No.1!20代を採用したい企業とのコネクションを活かし、20代向けの全業界・職種の求人を網羅
  3. 20代でキャリアの展望が漠然としている転職者に対しても、キャリアアドバイザーが具体的な提案ができる
【デメリット】
  1. 担当のキャリアアドバイザーによって転職サポートの質が異なる可能性がある

こんな人がおすすめ!
  1. 転職を考えている20代の方
  2. 将来的なキャリアプランについてキャリアアドバイザーに相談してみたい方

マイナビエージェントの評判は?転職のプロが本当に利用すべきか解説!

2018.06.04

リクルートエージェントに並ぶ、国内最大級の転職エージェント!
多くの求人の中から、キャリアアドバイザーが厳選して求人を紹介するスタイル!
「自分に合ったオススメの求人だけを紹介して欲しい」という方はdodaへの登録がオススメ!

特徴
【メリット】
  1. リクルートと並ぶ豊富な求人数。他のエージェントでは取り扱いのない求人を多数紹介
  2. 面接対策などのサポートが手厚く、転職に自信のない方でも安心
  3. アドバイザーの提案力が高く、求人を一定数紹介するリクルートに比べ、キャリアアドバイザーが求人を厳選して提案
【デメリット】
  1. 求人の絞り込みの精度がキャリアアドバイザーごとにバラつきがあり、的外れの提案をされることも

こんな人がおすすめ!
  1. 大量の求人に目を通すのは大変で、求人をプロに絞り込んでもらいたい方
  2. 他の大手エージェントを利用したけど、自分に合わなかった方

dodaの評判って?利用すべき?現役の転職エージェントが徹底解説!

2019.02.20

年収500〜600万円以上の転職を目指す方向け


※ハイクラス求人は絶対数が少ないため網羅するためにも、転職サイトと転職エージェントは両方に登録しておくのがオススメです。

企業の採用責任者やヘッドハンターからオファーが届く!
年収500万円以上の優良求人が多数掲載されている転職サイト

特徴
【メリット】
  1. 年収600〜1500万円のハイクラスの求人の量が豊富で、国内トップクラス
  2. 企業数5000社以上!年収レンジが高い質の求人が揃う
  3. ビズリーチに加盟・提携している中小規模のヘッドハンター・転職エージェントからもスカウトやヘッドハンティングを受ける事ができる
【デメリット】
  1. 現在の年収が300~400万円程で、明確な専門性やマネジメント経験などがない転職者は対象になり得ない可能性があります
  2. 個人の転職者はスカウトメールを受け取る事は無料だが、具体的な求人の内容を閲覧するためには有料会員として月額5000円を支払う必要があります

こんな人がおすすめ!
  1. 何かしらの専門性やマネジメント経験をお持ちの人
  2. 今後年収500~600万以上、もっと言えば800~1,200万円を目指していきたいハイキャリア志向の人
  3. ビズリーチには多くの実力のある中小ヘッドハンターが加盟しているので、有名ヘッドハンターとのコネクションを作りたい方

ビズリーチ(BIZREACH)の評判って?転職エージェントによる徹底分析!

2017.03.19

マネジメント層や専門職といったミドル・ハイレイヤーの求人が豊富。
外資系企業やコンサルティングファームなどの転職サポートにも強みを持つ転職エージェント

特徴
【メリット】
  1. 年収600~1500万円の高年収の非公開求人を大量に保有
  2. 30代~40代の役職者(マネジメント層)やスペシャリストの転職にも強み
  3. 高年収求人領域では国内最大手の転職エージェント(転職エージェント業界全体でもリクルート、dodaに次いで国内3位)
  4. 企業担当のリクルーティングアドバイザーと転職者担当のキャリアアドバイザーが同一人物が対応・担当するので、ミスマッチがなく、丁寧な提案やフォロー、年収などの条件交渉をしてもらえる。(リクルート、doda、マイナビは企業の担当者と転職者の担当者が別)
【デメリット】
  1. 現在の年収が300~400万円程で、明確な専門性やマネジメント経験などがない場合は対象になりづらい
  2. 同一人物が企業担当も個人担当も兼任しているメリットの裏返しとして、企業担当が担当している企業へ傾聴してしまっているケースもあるようです

こんな人がおすすめ!
  1. 現状、何かしらの専門性やマネジメント経験をお持ちの方
  2. 今後年収500~600万以上、もっと言えば800~1,200万円を目指していきたいハイキャリア志向の方
  3. 外資系企業の求人の取扱も国内トップクラスなので外資系企業の求人をご希望の方

JACリクルートメントの評判・口コミから分かる利用すべき人  

2018.10.15

女性の転職支援に特化した、転職エージェント

女性の転職に強みを持つ転職エージェント。
女性に人気の事務職(総務・庶務・秘書・営業事務・経理事務など)の求人も豊富

※サポート可能エリアが1都3県に限られます。
それ以外の方は、全国規模でサポート可能で、女性向けや事務職求人などの豊富な求人をもつマイナビエージェントリクルートエージェントへの登録がおすすめです。

特徴
【メリット】
  1. 女性のアドバイザーが担当!きめ細やかなサポートがウリ
  2. 未経験からでも挑戦できる職種も多数!
  3. 女性の転職に10年以上のノウハウ
【デメリット】
  1. 40代以上の求人が少なく感じられるかも知れません

こんな人がおすすめ!
  1. 女性の転職に特化しているので全ての女性にオススメです!
  2. 「出産を視野に入れたキャリア形成について相談に乗って欲しい」など、女性ならではの転職の悩みに関しても相談したい人

@type女性の転職エージェントの評判は?誰が使うべき?

2018.10.25