プログラム初心者が初級者になるまでの学習ロードマップ

 

最近プログラム未経験の方に、プログラムを教える仕事をしているので、どうやったらプログラミングが上達するのだろうか?ということをよく考えています。
もちろん方法論はいろいろとあると思いますが、現状考えているやり方をメモしておきます。

前提

未経験者プロフィール

  • プログラム未経験
  • 理系出身(あるいはそれに準ずる知識を有する)
  • パソコンの操作はわかるが、ショートカットなどはあまり使えない
  • 学習時間は、20時間/週とれる(平日は1.5時間・休日は6時間程度) = 80時間/月
  • 某らの職についていてITへ転職したい
  • 年齢は、〜30代前半まで
  • 期間は、6ヶ月くらい = 480時間の学習時間

なんか、募集要項みたい…。

未経験者の目指すゴール

  • Web系のプログラムの仕事を受注できる
  • Web系のプログラムの仕事につける

Web系の仕事にしているのは、筆者がそちらのほうが詳しいから。いつか、スマホアプリや機械学習編も書きたい。

想定する学習のゴール

仕事を受注できるレベルまで、と考えると学習のゴールはこんな感じになるかと。書いていて思いますが、結構要求してます。しかし、逆に採用したり仕事を発注する立場だったら、最低限これくらいは必要になってくるかと。(新卒のプレミアムチケット使うとかだと、また別かと思いますが)

  • 自力でWebサービスをつくり、公開できるようになる
    • これには、単なるプログラミングだけでなく、インフラ・ミドルウェアの知識なども必要
  • チーム開発の基礎スキルがある
    • gitやGitHub
    • Googleドキュメントやスプレッドシートなどの使い方
    • 基本的な仕事の進め方がわかっている(作業ログを残したり、問題を切り分けたり)
    • etc
  • IT仕事基礎力がある
    • PC操作がスムーズ(ある程度ショートカットキーとかつかえる)
    • Googleに質問して、自力で問題解決できる(あるいは、その糸口がつかめる)
    • etc

学習のロードマップ

暫定ですが、こんな感じかなー。

  1. プログラミングの練習
  2. 環境構築
  3. フレームワークの練習
  4. サービス公開
  5. (オプショナル)0からサービス作成して、公開

プログラミングの練習

やること

1. プラグラミングの概念&基本的な文法を勉強する
– プログラムがどういう風にうごいているか
– 表示・変数・繰り返し(for文)・分岐(if)
– 処理をまとめるテクニック(関数 / クラス)

ツール

いろいろと試してみたが、おすすめはprogate。書籍は、玉石混合です。

初心者向けにはdotinstallやUdemyも進める記事がありますが、こちらは一度なにかしらのプログラミング経験のある人がブーストをかけるのに役立つものだと思います。完全初心者が、学習して、スキルを身につけるのはちと大変。

2. 環境構築

プログラムを動かす環境作りです。ここはかなりハマりやすいので、経験者を頼ると良いです。

やること

  • エディタ・IDE(統合開発環境)
    • 例:RubyMine / VisualStudioCode
  • プラグラミン言語の実行環境
    • 例:Ruby / Python
  • ライブラリやフレームワーク
    • 例:Ruby On Rails
  • 開発サーバー
    • 例:AWS(Linux)

3. フレームワーク(ライブラリ:Ruby on Rails)の使い方を勉強する

– Webサービスを作る時間を減らすことができます
– バグをすくなくできる

ためにフレームワークを使います。またここらで、

  • Git
  • Comand Line

の使い方も学習していきます。

4. サービスを公開する

勉強用に作ったサイトにちょっとだけ独自機能を足して見ましょう。

そして、それをインターネットに公開します。

ここもきっとハマります。とりあえずはHerokuなどを使って達成感を味わいつつ、SakuraVPSなどを借りてイチから頑張りましょう。

5. 自分のサービスを一からつくる

ここまで来たら、イチから自分の考えを元にサービスを作ってみましょう。

アイディアがなければ、TwitterやFacebookといったSNSや、UdemyやYoutubeなどの動画サイトなど、既存のものに似たサービスを作ってみましょう。

まとめ

これ全部自力でやると大変。完全独学だったらもう少し挫折しにくいアプローチを考えます。

  • このエントリーをはてなブックマークに追加
  • Pocket

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。