メインコンテンツへスキップ

理系の非情報学科からITで働くまでに、どんな順序でなにをやればいいのか考えてみた

·4075 文字·9 分
mota
著者
mota
AI開発、個人開発、ベトナムでの仕事と暮らしについて書いています。
目次
理系の非情報学科からITで働くまでに、どんな順序でなにをやればいいのか考えてみたの画像

https://tnihei.com/posts/na7bd4804a16f/

大学では情報系を学ばなかった私が、ベトナムIT企業でPM・PMOとして働くまでの道のり
#

「IT業界に興味はあるけど、プログラミングやコンピューターサイエンスって、なんだか難しそう……」「やっぱり最初はHTMLとCSSから覚えないといけないのかな? 」 そんなふうに考えていませんか? でも実は、必ずしも“表面的なWeb技術”から学ぶ必要はないんです。 むしろ コンピューターサイエンスの基礎 をしっかり押さえるほうが、後々ラクに学習を進められるかもしれません。

私(mota)は、ベトナムのIT企業でPMやPMOとして約2年半働いています。 実は大学時代は、工学部の情報と電気を学ぶ学科に在籍していたものの、プログラミングや開発実務を本格的に学ぶ機会はほとんどありませんでした。 にもかかわらず、今こうしてベトナムでPM・PMOをこなせているのは、社会人になってから「もっと早くやればよかった!」 と感じる学習ステップを経験できたからです。

今回は、「もし過去の自分に最短ルートをアドバイスするなら?」 をテーマに、非情報系学科やプログラミング初心者がITエンジニアとして活躍するための勉強法やロードマップを共有します。 実は、 HTML・CSSを最初にやらなくても大丈夫 という話を詳しくするので、ぜひ最後まで読んでみてください。

ここでいったん、有料部分に入る前に軽く内容をお伝えすると。 ポイントは“コンピューターサイエンスの基礎”を学び、やってみたいことを一気に試す こと。 その上で 自分に合った技術スタックやツールを取り入れる と、実務でもかなり役立つんです。 では続きは以下で解説します。


なぜ情報系を本格的に学べなかったのか
#

まず、私が大学で専攻していたのは 山形大学工学部情報エレクトロニクス学科電気電子通信コース です。 電気系は「つぶしが効く」なんてよく言われますが、実際に情報分野をどれだけ学べるかというと、想像以上に限られていました。 ソフトウェア開発をガッツリやるカリキュラムはほとんどなく、卒業時点でのプログラミングスキルは正直ほぼゼロに近い状態……。 「情報エレクトロニクス学科」といっても、実質的には“非情報系”に近い感じだったんです。

https://infoele.yz.yamagata-u.ac.jp/information/ele/3/

大学ではソフトウェアの概念的な部分に少し触れた程度で、本格的にプログラミングを学ぶことはありませんでした。 結果的に、** 「理系だけどプログラミングわからない」 **という一見ミスマッチな状態に。 これからITエンジニアを目指す人は、こうしたギャップをできる限り埋めながら勉強を進める必要があります。

HTML・CSSよりも先にコンピューターサイエンスを押さえよう
#

「初心者はHTMLとCSSから!」 という声をよく聞きますが、私が最初におすすめするのは プログラミング言語そのものではなく、コンピューターサイエンスの基本 を理解すること。 なぜかというと、 仕組みや基礎を理解しておくと、各言語の構文や記法の違いをスムーズに理解しやすい からです。 細かい文法は後回しにしてでも、土台となる考え方を押さえておくと、のちのち「とりあえずやってみよう!」 と手を動かす際に迷いが減ります。

ステップ1:RecursionCSで基礎固め
#

まずは RecursionCS ( https://recursionist.io/ ) にログインして、無料でできる初級コースを受けてみましょう。 ここでコンピューターサイエンス全般をざっくりと学習できます。 プログラミング言語ごとに見るのではなく、 **「コンピューターとは?」 「アルゴリズムとは?」 「データ構造とは?」 ** といった俯瞰した視点を持てるようになるのが狙いです。

理系の非情報学科からITで働くまでに、どんな順序でなにをやればいいのか考えてみたの画像

無料の初級コースを終えたら、一旦ここでプログラミング実践に移ってみるのがおすすめ。 理由は後述しますが、まずは楽しみながらコードを自分の手で書いてみましょう。

ステップ2:Paizaでプログラミングに慣れる
#

https://paiza.jp/

次は、 Paiza を使ってプログラミングに慣れてみるのがおすすめです。 Paizaのランクを上げれば就活や転職の武器にもなるので、一石二鳥ですね。

  • Paiza新卒 でまずはランクDの問題を解く
  • わからないところは Paizaラーニング で学習

言語はJavaScriptかPythonあたりが無難。 初心者向けの情報が豊富で、理解もしやすいです。 ランクDかCくらいに到達したら、次のステップに進みましょう。

ステップ3:RecursionCSに戻って中級・上級へ
#

ある程度プログラミングに慣れてきたら、もう一度 RecursionCSに戻って課金 して中級・上級、あるいは自分が興味のあるコースをざっとやってみます。 **1ヶ月だけ頑張ってみる! ** と期間を決めるのがおすすめ。 もちろん、楽しくなってきてコミュニティのチームプロジェクトに参加してみるのもアリ。 課題をチームでこなし、発表する機会を通じて「実際の開発の流れ」を体験できます。

理系の非情報学科からITで働くまでに、どんな順序でなにをやればいいのか考えてみたの画像

サーバー構築&フロント実装で全体の流れを理解する
#

次は サーバーサイドやフロントエンドを動かしてみる ステップです。 実際に動くサービスを作ってみると、プログラミングをもっと“生々しく”体験できます。

ステップ4:Node.jsとExpressでサーバーを立てる
#

まずはローカル環境で簡単なサーバーを立ててみましょう。 おすすめのチュートリアルは以下のブログです。

Node.jsを使うと、JavaScriptでサーバーを動かせます。 「サーバーサイドでもJSが使えるんだ!」 と気づくと、一気にスキルの汎用性が高まります。

ステップ5:MySQLと連携してCRUD操作
#

次に、データベースを使う感覚を知るため、 MySQL とExpress.jsを接続してみましょう。 CRUD(Create, Read, Update, Delete)を学べば、アプリの基本構造がしっかり掴めます。

ステップ6:Reactを学んでフロントとつなぐ
#

続いてフロントエンドとして React を導入。 以下の手順・要素をざっくり試してみると、いっそう全体像がつかめます。

  1. Reactの基本的なチュートリアルをこなす
  2. MUI (Material UI) でスタイルを整える
  3. React Router Dom でページ遷移を実装

MUI: The React component library you always wanted

Reactでフロントを構築し、API経由でNode.js+MySQLのサーバーとやりとりすれば、簡単な フルスタック アプリの完成です。

https://www.youtube.com/watch?v=XKSYF2aZnkQ

ステップ7:Firebaseでデプロイ&認証を体験
#

ローカルで動くようになったら、クラウド上でも動かしてみましょう。 Firebase は無料枠があり、最初のデプロイにはぴったりです。

Firebase Functionsでサーバーレス構成を試すと、 “サーバーって物理マシンじゃなくてもOKなのか! ” という気づきが得られます。

ステップ8:AWSに興味があればサーバーレスを試す
#

さらにクラウドに慣れたい人は、 AWS でLambdaやDynamoDB、API Gatewayを使ったサーバーレス構成に挑戦してみましょう。 ただし、AuroraDBは無料枠に注意が必要なので要チェックです。

ステップ9:テストツール(Jestなど)を触れる
#

慣れてきたら、 ユニットテスト自動テスト も学んでみましょう。 JestはJavaScriptで使いやすく情報も多いので、チュートリアルをやってみるだけでも大きな収穫になります。

たまに座学に戻る:基本情報技術者試験など
#

開発に疲れて「もう嫌だー!」 となったときは、 基本情報技術者試験 の勉強がおすすめです。 座学ベースに戻ってみると、「あ、そういうことだったのか」と腑に落ちることが意外とあります。

ちなみに私は、入社前に基本情報の午前試験を通過したものの、午後試験では2点差で落ちてしまいました。 そのまま翌日にベトナムに飛んだので、次に挑戦するタイミングを逃したまま……。 でも、勉強した内容が後々理解の助けになったのは間違いありません。

Pythonで研究や日常業務を効率化するのもアリ
#

研究のデータ整理や日常業務の自動化に Python を使うと、プログラミングが“役立つツール”であることを実感できます。 たとえば研究データをスクリプトで高速処理するとか、雑務を自動化するとか。 “やってみたらすごく便利” という成功体験は、モチベーションアップに直結します。

まとめ:HTML・CSS後回しでも、エンジニアロードはひらける
#

こうして振り返ると、「最初からHTML・CSSに飛びつかなくても、コンピューターサイエンスの基礎を押さえてから実践に入るほうが、結果的にスムーズに学習できる」と強く感じます。 私自身は大学ではプログラミングをまともに学ばずに卒業し、入社後の研修や独学で埋め合わせしましたが、「もっと早くやっておけばよかった……」と思うこともしばしば。

  • RecursionCS で基礎を俯瞰
  • Paiza でプログラミングに慣れる
  • 再度RecursionCSで 中・上級
  • Node.js+Expressで サーバー構築
  • MySQLやMongoDB、FirebaseなどDBも体験
  • ReactやMUIで フロントエンド の楽しさを知る
  • AWSなど他のクラウドを試す
  • 時々は 基本情報 などの座学で理解を深める
  • 研究や日常業務に Python 活用もアリ

この流れをざっと回してみれば、「あ、ITエンジニアの仕事ってこういうことなんだ!」 と具体的にイメージできるようになります。 大学で情報系を専攻していなくても、いくらでも取り返せる ので、ぜひ自分の手を動かしながら試してみてください。

以上、大学ではソフトウェアを学ばなかった私が、ベトナムのIT企業でPMやPMOとして働くまでに「こうしておけばよかった!」 と思う勉強法でした。 偉そうに書きましたが、私もまだまだ勉強中。 もし「早速やってみよう」という方がいれば、ぜひ今から始めちゃいましょう!

関連記事