こんにちは!はじめまして!!!
Marvel株式会社 広報の渡邊と申します。
いきなりですが、実は私は10月にMarvelに転職したばかりです。
前職はエステティシャン✨
、、、そう、何を隠そう、私はITの知識がゼロです。
全く自慢にはなりませんが、現在ブラインドタッチを練習中というほど、
パソコン自体も入門したばかり。
そんな渡邊はこの度IT企業であるこのMarvel株式会社に入社し、
広報という重役を任せていただきました。
美容業界で広報業務はしていましたが、ITにおいては全くの未経験。。。
さあ、どうしよう、、、
そこで気が付きました。
一早くシゴデキ広報になるには、
IT知識は必要不可欠!
勉強するしかない!!!
そんな思いで、この「業界勉強奮闘メモ」を記事として、
私自身が振り返ることができるように。
また私のように「IT知識を身につけたい!」という方の参考に少しでもなれるように。
自分なりに勉強してまとめたものを残していこうと思います!!!!
どうかこれからお付き合いの程、よろしくお願いいたします!!!!!!!!
温かい目で見守っていただけたら嬉しいです🥲🤲🏽
__________________________________
記念すべき第一弾は「Go言語」について。
((「いきなりGo言語!?」と思う方もいるかもしれませんね、、、。))
ちなみに皆様、Go言語はご存じでしょうか??
「存在は知っている」という方も多くいらっしゃるかと思います。
勿論私は今回初めてGo言語の存在を知りました、、、。
Go言語は今「開発側の期待の新星!」とも言われている程に、
今後の市場価値も高まっていく言語として注目されています✨
そこでMarvelでも今後積極的に取り入れていく予定です!!!🔥🔥
皆さんがどんどん興味のある案件に関わることができるように、
Marvelで学びの機会をどんどん増やしていきます💻🖱️
さて、今回はさっそく私も「Go言語」を勉強してみたので、こちらに記録させていただきます!!
_________________________________
≪ 目次 ≫
1.Go言語とは?
①メリット
②デメリット
③Go言語でできること
2.Go言語の需要・将来性について
①求人数と案件数
②実際にGo言語を採用している有名企業とサービス
__________________________________
1.Go言語とは?
2009年Googleによって開発されたプログラミング言語。
「プログラミングの環境を改善する」ことを目的としていて、バックエンドに向いていて、
コードが書きやすいのと処理速度が早い事が大きな特徴の言語です。
【①メリット】
1.macOS、Linux。Windowsなど様々なOS上で動作できる(IOSにも対応)
そのため環境を選ばずに動作させることができる。
2.コードを簡潔に記述できる
シンプルな書き方で記述できるため、メモリにかかる負担も少ない。
3.高速で動作する
コンパイル言語で処理が高速。スクリプト言語のように、中間言語からコンパイルして機械語に変換する必要が無い。
4.並行処理が優れている
Goroutine(ゴルーチン)というマルチスレッド機能を使うことで作業が分担され、処理が早くなる。
5.メモリの安全性が高く、効率的に管理できる
シンプルな記述のため、複数のプログラマーが携わる開発においてもコードに大きな差が生まれにくく、エラーが発生しやすい「ポインタ演算」の機能もそもそも備わっていないためメモリの解放忘れが発生しにくい。
【②デメリット】
1.「継承」ができないため、既存コードの使い回しとコード修正が難しい
2.三項演算子(If分のような条件によって真と偽に分岐する処理を1行で表現できる演算子)がないため、条件分岐のコードが長くなる。
3.例外処理そのものがない
Go言語で例外は「発生時に呼び出し元が処理する」との考え方を取っているため、決まった型以外のコードを正しく処理できない。
4.Genericsが実装されたばかりで情報が少ない
【③Go言語でできること】
1.webサービスやwebサーバー開発
webアプリケーション開発において、通常だと必要なApacheなどのWebサーバーソフトが必要だが、Go言語はアパッチ不要でwebサーバーをたてることができるため、Go言語のみで、作ったプログラムをweb上で動かす仕組みが作ることができる。
開発に時間がかからない上に、メモリにかかる負担も少なく並行処理が可能な点から、膨大なデータを取り扱うwebサービスにも対応が可能。
2.モバイルアプリケーション開発
Go言語には「Go mobile」というスマホアプリが開発できる仕組みがある。「Go mobile」や「Go cloud」などのツールが標準搭載されているため、コードを書き換えずにiOS、Android、web用と併用が可能であり、手軽に作ることが出来る。
3.コマンドツール開発
サーバーの仮想化に使われる「Docker」のコマンドツール版の開発にも使われている。Go言語でコマンドラインツールを作ることで定型業務の自動化も可能。
4.分散システムの開発
ブロックチェーン(1つのデータをブロックに分けて管理できる技術)においてもGo言語を採用しているケースが増えていて、ゴルーチンによる軽量・高速な並行処理も行えるため、高いパフォーマンスが求められる分散システムにも対応出来る。
5.ドローンなどのIoT開発
Go言語の「Gobot」というフレームワークにより、ドローンやロボット開発にも適している。また、開発だけでなく操作や制御をするシステムを作成することも手軽にできる。
2.Go言語の需要・将来性
【①求人数と案件数】
●求人サイトの求人数(2022年1月時点)
求人ボックスにおけるGo言語エンジニア求人数:約3,300件
indeedにおけるGo言語エンジニア求人数:約7,200件
●案件数(2022年10月)
TechReachの場合、Java1298件に対してGo言語136件
求人数、案件数ともにJavaScriptやPHPと比べると少ないが、上記の求人のうち、約半数が一か月以内に公開された求人!!
↓
現在かなり注目を集めていて、今後の需要も高まっていく言語である。
また、まだまだGo言語を扱えるエンジニアが少ないため、需要と供給が追いついておらず、覚えておくと今後かなり市場価値が上がる言語でもある!!
【②実際にGo言語を採用している有名企業とサービス】
・ヤフー株式会社
データ保存においてGo言語を使用し「Dragon」というオブジェクトストレージを開発
インデックス作成
その他にも
・AWA(音楽ストリーミングサービス)
・メルカリ(フリマアプリ)
・Gunosy(情報キュレーションサービス・ニュース配信アプリ)
・クックパッド(料理レシピの投稿・検索サービス)
・ぐるなび(飲食店に関する情報提供サイト)
などにも採用されている。
【備考】
・レバテックフリーランスの調査(2021年12月)によると、
プログラミング言語の平均年収TOP10 1位✨
・HackerRankが発表した
2019年にエンジニアが学びたいプログラミング言語ランキング 1位(37.20%)✨
という結果からも、エンジニアがかなり注目している言語と言えます。
___________________________________
最後に...
冒頭でお伝えしたとおり、Marvelでは今後、Goエンジニアの育成にも力を入れていく予定です!
実際に現在大活躍をされているGoエンジニアも在籍しております。
月一回開催している勉強会でも「Go言語」が取り上げられるかも。。。!?
皆様がより自己のスキルの幅を広げ、活躍の幅を広げられるようにサポートしてまいります。
ぜひそのような機会があればご参加いただき、活用をしていただけたらと思います✨