プログラミング

【独学】文系プログラマが教える、ゼロからのプログラミング学習計画

こんにちは、ニュージーランドで働くプログラマのはっしー(@hassy_nz)です。

  • まったくの初心者からプログラミングを勉強したいけど、やりかたがわからない
  • 参考書が多すぎて何から手をつけていいか見当もつかない
  • 独学でプログラミングが身につくのか不安

今回はそんな疑問や悩みにお答えします。

僕も元々は文系大学生で、就職するまでは1行もプログラムを書いたことがありませんでした。
しかしIT企業に内定をもらったのを機に勉強を始め、今では海外でプログラマとして働けるまでになりました。

また2年ほど、プログラミング未経験の大学生にボランティアで開発技術を教えていたこともあります。
そこで教えた学生の中には、めきめき成長して有名IT企業のプログラマとして就職した人もいるんですよ。

その経験を踏まえて、まったくのゼロから独学でプログラミングを学習するための計画を提案したいと思います。
これからプログラマを目指す人の参考になれば幸いです!

ウェブサービスの技術を勉強しよう

Keys

初心者は、ウェブサービスの勉強から始めるのをオススメします。
ウェブサービスとは主にブラウザ(Microsoft Edge、Chrome、Safariなど)で動くシステムのことです。

  • Facebook、Twitter などの SNS
  • Amazon や楽天などのネットショッピングサイト
  • はてなブログ、アメーバブログなどのブログサービス

などがそれにあたります。

なぜウェブサービスなのか?
その大きな理由はプログラムを動かすのが簡単だからです。

プログラミングを学ぶには、プログラミングを行う環境を整えなければなりません。
これが意外にむずかしく、つまづいて挫折してしまう人もいます。
スマホアプリ、特に iPhone アプリ開発はこの作業がかなり面倒くさくて、高額の年会費を払う必要まであるんですよ。

ところが、ウェブサービスのプログラミングならブラウザとエディタ(メモ帳)があれば始められます。
発展的な内容に進むにしたがって、ウェブサーバやデータベースなど必要なものを追加していけばいいので簡単です。
最初は楽に作れるものから覚えるのが一番だと思います。

また、ウェブサービスの基本的な構造(フロントエンド、サーバサイド、データベース)はスマホアプリにもそのまま応用させることができます。
世の中のITサービスがどう作られているのか基礎の部分をしっかり理解すれば、アプリを作るのも非常に楽になりますよ。

ということで、簡単に作れるウェブサービスで、応用の効く知識をしっかり身につけることを強くオススメします。

「ドットインストール」を活用しよう

今はインターネット上で無料でプログラミングを学べるコンテンツが充実しているので、わざわざ入門書を買う必要はありません。
まずはオンラインで勉強し、もっと深く学びたいと思ったときに初めて専門書を買えば十分でしょう。

無料のオンライン講座では、ドットインストールというサイトが有名です。
僕もプログラミング未経験の学生に開発技術を教える際には、まずはドットインストールのレッスンを受けることを勧めていました。

f:id:imo_jo_chu:20170114164417p:plain
ドットインストールの画面

ドットインストールでは、1レッスンが3分ほどの短い動画で構成されているので、テンポよく進めていくことができます。
動画の視聴だけで完結するものもあるが、コーディングを伴うレッスンでは、もちろん実際に手を動かすことが求められます。
環境構築やファイル作成も自分で行う必要があるものの、動画で丁寧にレクチャーしてもらえるので心配ありません。

次に、ドットインストールの中でどの講座から始めればいいのか紹介していきます!

学習すべき内容

HTML, CSS ー 内容を記述する言語 ー

f:id:imo_jo_chu:20170114180331p:plain:w300
HTML CSS は、ウェブページの内容とレイアウトを記述する言語です。
普段パソコンやスマホから見ているウェブページは主にこの2つを組み合わせて作られています。
HTML が文書の構造、CSS がそのレイアウト(画像の配置、文字の大きさなど)を定義する役割になっています。

HTML と CSS を習得すると、皆さんが普段見ているようなウェブページを自分で作れるようになります。
もしあなたがブログを書いているなら、デザインのカスタマイズも簡単に行えるようになるでしょう。

ちなみに HTML と CSS は厳密に言うとプログラミング言語ではないのですが、ウェブサービスを開発する上では必須であり難しくないのでチャッチャと学習しておきましょう。

HTML入門
CSS入門

JavaScript ー 画面の情報を処理する言語 ー

f:id:imo_jo_chu:20170114181217p:plain
JavaScript は、主にブラウザ上で動くプログラミング言語です。
画面上のアニメーションなどを実装するのに使われています。

最近はサーバサイド処理に使われたり、スマホアプリも作れるようになったりと活躍する場面が広がっていて、まさにコスパ抜群の言語といえます。
テキストエディタとブラウザさえあれば動かせる簡易さが魅力で、プログラミング初心者にはぜひとも覚えてほしい言語です。

JavaScript入門

JavaScript を習得すると、ウェブページ上の文字や画像を自由自在に操作できるようになります。
アニメーションだけでなく、入力された値によって画面上の文字や画像を書きかえるといった”プログラミングっぽい”ことが実装できますよ。

ここまでくるとプログラミングのおもしろさがわかってくるはずなので、初学者の方は JavaScript の基本を覚えるところまでがんばって進めてみてほしいです。

基本を覚えたら、jQuery にも挑戦してみましょう。
これは JavaScript をより簡単に記述するために開発されたライブラリで、多くの現場で使われています。
複雑な処理が簡潔に実装できるパワフルな技術なので、覚えればプログラミングがよりいっそう楽しくなりますよ!

ドットインストール jQuery入門

MySQL ーデータベースを構築しようー

f:id:imo_jo_chu:20170114185745p:plain
ほぼ全てのシステムにおいて必須となっているデータベース
システムのユーザ、ブログの記事、通販サイトの商品など、あらゆる情報を格納するための技術です。
当然、プログラマもデータベースを扱う知識を持っていなければなりません。

データベースにはいろいろ種類があるんですが、MySQL で基本を勉強しておけば、ほかにも応用が効くので問題なし。

MySQL を習得することで、大量のデータをコンピュータに保存し、更新し、検索するといった一連の処理が行えるようになります。……と書くと、かなりプログラマっぽく聞こえませんか?

MySQL 入門

PHP ーサーバで情報を処理するための言語ー

f:id:imo_jo_chu:20170114193724p:plain
最後はサーバサイド処理を PHP で身につけましょう。

PHP の役割は、ブラウザとデータベースの橋渡しだと考えてください。
ブラウザから入力された値を受け取って処理しデータベースに保存したり、またデータベースから情報を取り出してブラウザに表示するといったことができます。

PHP入門
PHPデータベース入門

ここまでくれば、ウェブサービスの基本的な技術が身についたと言っていいでしょう。

もちろんまだまだ先は長いんですが、ここまでレッスンを完了できていれば独学で学習を続ける体力が備わっているはずです。
あとは個人の興味にしたがって、トピックを選んで勉強を続けていきましょう。
Java や C# といった他の言語を学ぶもよし、すでに学んだ JavaScript や PHP の世界を深掘りするのもよしです。

参考書籍

最後に、参考書籍を一冊だけ紹介します。

その名の通り、読みやすいコードを書くためのテクニックが詰まった一冊です。

プログラムは動けばいいというものではありません。
実際のシステム開発はチームで行うことが多いため、ほかの人から見て読みやすいか、メンテナンスしやすいかなども重要になってきます。

本書では、変数名のつけ方や関数の切り出し方、コメントのつけ方など、初心者がおろそかにしがちなポイントがきっちり押さえられています。
自己流でおかしなコードを書き続けていると変な癖がついてしまい、いざ仕事で開発を始めたときに苦労しちゃいますよ。
できるだけ早いうちに「きれいなコードとはどのようなものか」を理解するようにしましょう。

おわりに

プログラミングは一度習得すれば世界中どこでも通用する技術です。
IT業界はとにかく人手不足で、それなりの技術さえあれば国を選ばずに働くことができます。

また、プログラミングと聞くとものすごく難しいものかのように身構えてしまう人がいますが、決してそんなことはありません。
難しそうに見えるだけで、ごく普通の論理的思考力さえあれば誰にでも身につけることが可能です。

なんのスキルもない文系大学生だった自分も、プログラミングができるおかげで海外で働く生活を実現するまでになりました。
プログラミングを身につけることで、きっとあなたの人生にも新しい扉がひらけるはず。
ぜひ、軽い気持ちで挑戦してみてください!!

独学はちょっと大変そうだな……と思ったあなたには、プログラミングスクールがおすすめ。
以下の記事で、スクールの選び方をわかりやすく解説しています。

あわせて読みたい
【無料体験あり】現役プログラマおすすめプログラミングスクール3選!こんにちは、ニュージーランドで働くプログラマのはっしー(@hassy_nz)です。 プログラミングスクールに興味があるけど...
ABOUT ME
はっしー
ニュージーランドで働くプログラマ。 日本のIT企業で月100時間超えの残業を経験して過労死しかけたことをきっかけに国外脱出、毎日定時帰りの生活と年収アップを実現させる。脱社畜、英語、海外移住などをテーマに情報発信中。Twitterフォロワーは1万人を超える。ニュージーランド永住権ホルダー。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です