🧑‍🎓

自分が大学1年生の時に欲しかった資料

に公開

はじめに

この記事は,IT系の仕事に転職したいがどのようなものがあるのかどうかも全くわからず自分のスキルをどのようにつければいいのかがわからないから教えてと言われた際に作成したものである.

自分でこのスキルを身につけるためにはどのように形成していけばいいのかを考えたり,本などを読んで全体像を確かめていくのももちろん大切ではあるが,実際に何もわからない状況だとそれすらも考えられないのではないか?周りに教えてくれる人がいないと何もできないのでは?と思ったのでもし自分が大学一年生だったらこんなふうにスキルを作っていくなぁと思ったことをつらつらと書いていく.

また,この本を読め!とかではなく,それ以前の道筋を考えたのでみてもらいたい.

あくまでも個人的な意見なのでこんな意見があるのかぁくらいに思ってもらっていい.

その代わりかなりバイアス高めに書いていく

まず,考えられる範囲でどのようなITの仕事があるのかをツリー形式で書いていく

IT系は主に二つの職種に分けられる

  • フロントエンド
    • webサイト
      • サイトの作成(html / cssなど)
      • サイトの最適化(SEOなどの検索をした時にヒットするようになるもの)
    • ゲーム作成
      • キャラクターデザイン
      • UIやステージの作成
  • バックエンド
    • サーバー(AWS / Google Cloud)
      • サーバーの作成
      • サーバーの効率化
    • API連携
      • chatbotなどの様々な大きいシステムとの連携
      • SaaSなどのAPI連携部分の作成
    • 機械学習モデルの作成
      • LLM(chatgptなど)
      • 画像認識(自動運転や倉庫など)

おおよそこの程度に分解できる.それぞれ細かく解説していく前に現在IT業界の研究や開発の環境がどのようになっているのかを書いていく.

3年前までIT業界は,特に新人にとってかなり仕事を得やすい業界であった.それは勉強すること(inputの量)=仕事に直結していたからだ.これは,IT業界で仕事を得るためにはいかにプログラミングで使える知識を増やして(どのようなライブラリがあってどのように使うことができるのか)自分ならではのスキルの増やし方ができたからである.

具体的には,エンジニアは何か物を作る際に,まずネットで誰かが書いた記事を何個も見ながら手探りで自分の用途にあったものに変えていく作業をずっとしていた.それによってinputだけでもかなりの時間が取られてしまっていた.

日本では,多くの学生が会社に入社する前に何かしらのアプリケーションを作成することでこれらの証明ができた.これはinputをきちんとoutputできるかどうかのテストにもなっていたのである程度のクオリティがあればきちんとoutputできているという印象にもなった.

しかし,chatGPTなどのLLM(large language model)によってその状況は一変している.

基本的に俺はもうchatGPTなしでコードを書くことはほぼない.これは,今まで最も時間がかかっていたinputの作業とoutputの作業効率がとてつもなく高くなっているからだ.感覚としては,超絶優秀な90パーセントのクオリティのものを作ってくれる相棒が常に隣にいて教えてくれるようなものだ.これによって現在IT業界の就活は大きく変わってきている.今まではoutputのクオリティが低くてもそもそもoutputすること自体に価値があったのだが,そのoutputのクオリティをLLMが大きく変えてしまったのである.

ではどのようにしてこれからの将来エンジニアは仕事を築き上げることができるのだろうか.

答えは,『考えて物を作る,そしてその物の量を増やす』ということだ

まず手に職をつけるという意味では,outputの量を圧倒的に増やし,それをインターネットに記事として公開するのが最もおすすめだ.適当な物を作成した人は正直何年も現場でやってきた人にとってみればすぐにわかってしまう.ただ,その適当な物をインターネットにアップロードして解説している人は今ですらまだあまりいない.なぜなら多くの人が自分が作ったものに対して恥ずかしいと思うからだ.ただ,outputが前よりも格段に簡単になった現代,どんなものをその人が作成したのかを企業側はとても重視する.よってoutputを大量にし,その解説記事を書くことで結果自分のポートフォリオとなる.

必ず自分で何かを開発して,それを記事にしなさい.

じゃあ,いったい何を開発すればいいのか?そもそも自分が何に興味があるのかがわからないと考えるだろう.

おすすめは世の中で開発して何かを記事にしてまとめて発信している人のX(旧Twitter)をフォローするだけのアカウントを自分で作成してgoodなどを押したりすることだ.とにかく自分の目で情報を見てどのようなことを感じるかを日常化するのが大切.

もし機械学習系(論文など)に興味があるのであればhttps://x.com/Ayarnte_55

これのフォロー欄にあるアカウントを見てみるといい

まとめると,

物を作って,それの記事を書く.情報収集は全てxで行う.

これを実践すればいい.

これからは個々の仕事に対してどのような物を作成してスキルをつけた方がいいのか,そしてどのように仕事をゲットすればいいのかを考えていく.

https://www.internsinasia.com/destination/south-korea?utm_source=chatgpt.com

フロントエンド

webページ関連

まずwebページ作成に関しては,正直将来に続くような仕事はないかもしれない.なぜならもはやITの人でなくても簡単にwebページの作成ができるようになってきているからだ.むしろ,デザインの勉強をきちんとして行ったほうがいいと個人的に感じている.パワポのように自分でなんとなくデザインを決めるだけであとはwebページを作成するようなツールも世の中に出てきているので,これを主軸にしようとするのであればエンジニアというよりデザイナーという認識を持ったほうがいいかもしれない.

ただ,副業としてであれば一番早く仕事を見つけて受けることができるだろう.

ロードマップ

  1. 自分のポートフォリオ作成を行う
  2. 自分が気に入った会社のポートフォリオに似たものを勝手に作成してネットに公開する(自分の工夫点などを踏まえた記事とともに)
  3. 2の過程を繰り返す
  4. 3と同時並行でフリーランスサイトで何か記事を探す
  5. 副業がいい感じになってきたら本業にする

ゲーム作成関連

これはかなり特殊なスキルが必要になる.もしこのゲーム業界に行きたいのであれば他のスキルは正直いらない.これだけやればいい.ただ,ゲーム業界に行きたいのであればロードマップに従うべし.

ロードマップ

  1. 自分が最も好きなゲームの丸パクリを目指す(apex,valorantなど)
    1. まず自分が好きなゲームの選定
    2. 一旦最も簡易的な方法でゲームとして成立するレベルで作成してみる(FPSなら敵を倒すくらい)
    3. bの記事を書く
    4. aとbの差を埋めるためにbをより洗礼させていく(UI設計,サーバー設定など)
    5. dで改善したことがあればその都度記事にする
    6. aのゲームを完成させる
  2. 1ができたらこれを武器に副業サイトで依頼を受ける
  3. 何個か受けたらいつか本業になる

バックエンド

サーバー関連

これが一番需要があるし,LLMに支配されにくい分野になっている.なぜかというとプログラミングコードを書いて頑張ると言うよりかはサーバー攻撃に耐えるための設計や,用途に合わせたサーバー設計や効率化などコーディングを単純にするだけではできないことが多いからである.また,勉強したこと=仕事に直結しやすい.なぜなら多くの設定の仕方を学ぶことができればそれをそのまま業務に活かす場面が最も多いからだ.

ただ,逆にいうと初心者が副業として仕事を得るにはかなりハードルが高い.Google Cloudや AWSの資格を取るのが一番いいかもしれない

ロードマップ

  1. Google Cloud or AWSの資格もしくは開発の本を購入する
  2. それを元に記事を書く
  3. 2を元に副業サイトで募集されている要件を自分で勝手に実装してみる
  4. 3を元に副業サイトで仕事を受ける

API関連

これは要するにchatGPTなどを自分の開発した任意のシステムに連結するためのものである.具体的にはchatbot作成などの便利な独自ツールを外部のシステムを呼び出すことで作成するというものだ.おそらく大半のAIエンジニアと名乗っている人たちは実際のモデルを何か作成するのではなく,すでにあるモデルのapiを使って自分たちのシステムを作成している.

現状これが一番仕事がある分野になっている.それは,またITシステムとして導入されていないような企業などにとってカスタマーセンターの代わりに独自のchatbotシステムを作成することでその負担を減らすことができるからだ.仮にAI関連の仕事をやりたいかつ手っ取り早く仕事が手に入れたいのであればこれらをマスターする必要がある.

この分野で最も重要なのが,とにかく多くの開発経験である.実際にchatbot作成を適当にするだけでは30分で終わってしまう.自分なりのシステムを考えてそれを開発する能力がここでは問われている.また,この分野で実際にいい質の仕事を手に入れたかったらGoogle Cloudなどの能力も当然問われてくる.

ロードマップ

  1. https://www.amazon.com/Building-LLM-Apps-Intelligent-Language-ebook/dp/B0CMD2W6Q5
    このような本を購入して実際に本に従って何かアプリケーションを作成する
  2. 1の中でも随時きちんと記事を書く(最も重要)
  3. 1が終わったら,自分でアプリケーションを考えて作成する
  4. 記事を書く
  5. 副業サイトに4を元に仕事を得る

機械学習モデルの作成

先ほどのapi連結させる仕事は現在市場に多く存在しており副業としても最適なものであると思う.しかし,もしあなたがAIの最先端で戦いたいのであればapi連結の仕事を受けるべきではない.なぜなら実際にはAIを使っている仕事ではあるが,具体的にどのようにAIを育てていくのかを勉強し,outputしない限り技術のトップに君臨することはできないからだ.

実際に僕はこの領域でスタートアップ企業に入り実際の自動運転のモデルをひたすら作成している.これは研究開発の分野であるが自分なりにどのように世界に立ち向かうかどうかを決めることができる分野なので知的好奇心を求めるのであれば一番おすすめである.

しかし,この分野は誰よりも勉強して誰よりも考え誰よりもアウトプットしないと生き残れない世界である.実際に戦う相手はchatGPTなどを作っているOpenAIやGoogleなどであり,いつ新しい技術が出てきて仕事を奪われるかわからないからだ.

ただ,過去2年間はかなりAPI関連の仕事が増えてきていたが,ここ最近では機械学習モデルの作成を行うことができる人材も重宝され始めている.それは,apiにはとてもお金がかかるということである.実際にchatbotを作成すると,どれだけそのapiを使って文章を作成したかによってお金が増えてしまうからである.また,個別のチューニングができないので実際に運用上性能を自分たちの要求に特化するように上げようとしてもできないのである.

正直ここにロードマップを書くには,個人的な能力値,そしてやりたいことなどが明確になってからでないとわからない

もしあなたがこの分野に挑戦したいのであれば追加のロードマップを書こうと思う

最後に

まとめると,どの分野においてもアウトプットを発信していくことが最も大切になってくる.

とにかく副業を目指しているのなら必ず物を作成し,アウトプットすることを心がけよう.

また,どの分野でも一流のエンジニアはこれらすべてをこなすことができる.自分もまだまだできないことだらけだからこそ頑張ってアウトプットしていこう

以上

Discussion