私がプログラミングスクールで使っている教材・補助教材を一挙無料公開
私は池袋でプログラミングスクール、QUELCODE(くえるこーど)をいよいよ始めるのですが、フォロワーさんからのリプをキッカケにスクールで使っている教材・補助教材を公開してみようと思います。ここに至るきっかけになった一連のツイートはこちら。
のりきさんです。お会いしたことは無いのですが、周りの方々から凄腕のエンジニアだと聞いています。凄腕がこう言っているのです。応えないわけにはいきません。
まずプログラミングの勉強って何から始めたらいいの?って方が読者対象です。
教材の前に事前に必要なアカウント・ソフト類をインストールしておく
これだけは作っておく、必要なアカウント
・Gmailアカウント
・Githubアカウント
・Slackアカウント
書籍リーダー
エディタソフト
・Visual Studio Code
・Sublime Text
・Atom
お好きなエディアで問題ありません。他にも様々なエディタがありますが、自分に合ったエディタを選びましょう!vimとかは慣れてから手を出すでいいと思います。
※因みに僕はNetBeansというソフトが好きです…笑(ねこびーんかわいいし…)
コミュニケーション用ソフト
Slackの使い方がわからない!という方は、公式サイト「Slackはじめてガイド」を読みましょう。
開発ソフト
・Github Desktop(もしくはSourceTree)
・GoogleChrome
・Firefox
・Vagrant(流行りはDockerだけど最初はこれ)
・Sequel Pro(データベース操作ソフト)
・MAMP(Windowsの人はXAMPP)
・Google日本語入力(英語の変換がひらがなからできるから楽)
開発作業で一通り利用するアプリケーション一覧です。学習が進むたびに別のソフトウェアやプラグインが必要になることもありますが、上記に上げている一覧は必ず必要になりますので、必ずインストールをしておいてください。
大事なのは自分色に染めること。開発ソフトを自分好みにカスタマイズして使っていきましょう
教材リスト(書籍やサイト)
書籍は、紙媒体でも構いませんが、できればKindleアプリなどを使った電子書籍が学習に便利だと思います。タブレットを持っている人はより効率が上がると思います。(紙は手で押さえながら掲載されているコードを書き写す必要があり、タイピングを要すプログラミング学習においては向かない)
HTML・CSSの教材
Web系のプログラミング言語を目指すのであれば、まずはこれ。どのような言語でも必ず最終的にHTMLとCSSに落ちてくるからです。まずは基本がしっかりしていなければなりません。
PHP
よくわかるPHPの教科書 【PHP7対応版】
もっとレベルアップしたい人は→TECHNICAL MASTER はじめてのPHPプロフェッショナル開発 PHP7対応
PHPはRubyと比べて環境構築が楽、優秀なフレームワークやWordPressに代表されるCMSなど、様々なソフトウェアが揃っており、技術選定の際に選択肢が広がりやすいです。また、初学者はとにかくファーストキャリアを付けること。これに始終しますので、そう言った点でも様々学習していると企業さんの採用に引っかかりやすいという点があります。以前私が書いたnote(プログラミング初学者にPHPをオススメする5つの理由)にPHPを私が選択した理由を書いています。
WordPress
本格ビジネスサイトを作りながら学ぶ WordPressの教科書 Ver.4.x対応版
↑が難しいと思ったら→基礎からのWordPress 改訂版
Wordpressはプログラミングを目指す人に向いていない!と、賛否両論ある事は知っていますが、意外と何かと使われるシーンが多い、Wordpress。弊社でも実際にホームページではなくシステム開発の現場でよく技術選定がされます。手軽にリッチな管理画面を構築可能であるからです。また、初学者がとにかくどこかの企業に引っかかる確率を少しでも上げるためにこれも選定しています。
※早くもWordPressのメジャーバージョンが5になってしまった…。近い内に教材の選定のし直しをしなければならない…。
SQL
どのようなプログラミング言語やフレームワークを使おうが、データベースは無視して通れません。データベースの基本的な仕組みから、複雑なSQLを作成するところまで、この一冊でカバーできます。
CakePHP
あえて流行りのLaravelではなく、CakePHPを選定しています。その理由は、Laravelは本当に自由な書き方ができてしまう反面、Cakeの場合はその命名規則に至るまで厳格なルールがあります。自動的にMVCデザインと呼ばれる書き方が出来ます。初学者はまずは形を知る必要があり、LaravelやRailsはこれを知った後から手をつけるで構わないと私は考えています。守破離の精神です。
サーバー(Vagrant OR さくらVPSで構築。特にさくらVPSは2週間無料で使えますので是非活用したいところ)
CentOSで自宅サーバー構築
※必要に応じて、逆引き集を手に入れてもいいと思います
これも何故VagrantやDockerが流行っているのに、わざわざCentOSとかを教えるの?と思う人がいるかもしれません。サーバーやVagrant,Dockerなどのツールは、Linuxサーバーがベースとなっており、これを構築できなければそもそもVagrantやDockerなどのスタートラインにすら立つ事はできません。また、クローズドなシステム開発では未だに物理的なサーバーを設置している所も多く、その為、1からサーバー構築を行うことができるスキルを保有しておく必要があります。
セキュリティ
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版[リフロー版] 脆弱性が生まれる原理と対策の実践
セキュリティは上記の書籍だけに止まらず、OSI参照モデルやOSやコマンドの細かい部分など、専門性が高く、分野も非常に多岐に渡りますが、最低限Web系の技術を扱っている者として、これだけの攻撃方法とその発生原理ぐらいは理解しておいて欲しいというのがこちらの書籍です。システムは作って終わりではなく、長期的に運用されます。その為、時間の経過とともにリスクが高まる情報セキュリティで、自分の仕事として扱う最低限度の知識は持っておいてください。という私の願いです。
何か一つの言語をマスターして、他の言語へ取り掛かる際の補助教材
最速マスターシリーズを見てもらっています。プログラミング言語はほぼどのような言語でもやれることは変わりませんが、時には自分がやったこと無い言語を触らざるを得ない場合があります。そんな時に活躍するのが「最速マスターシリーズ」
これは基本文法やよく使う処理などを完結にまとめたもので、無知→とりあえずコードが読めるようになる、になるにはうってつけです。私もよく使っています。
まとめ
いかがでしたでしょうか?QUELCODEでは実際に新しい単元に入る前に、30分から1時間程度の少セミナーをやってから新しいテキストに入ってもらっています(心理的ハードルを下げたり、すんなり理解してもらうためという目的でです)。また、単元の終わりには知識がしっかり付いているか確認するためにテストを行っています。
また、独自の教材として、「エラー解決の方法」「適切な質問の仕方」「実際の仕事の進み方」から、「法律」「税金」等、実際に働き出した際に必要とされる現場のノウハウをまとめています。
※これも見たいという声があれば公開を検討しようかな
これからプログラミングを始められるという方は、ある程度参考にしていただいて学習を進めれば、きっとバランスの良いWeb系技術のエンジニアになれることでしょう。最後に下に、私の本業の会社で、採用に使っているスキルシートを載せておきます。これをレベル1までできるようになれば、少なくとも私の会社(受託開発業)では最低限の仕事はできると思います。ご参考までに!
ご意見、お問い合わせはこうやん(@kou_yan)までお気軽にどうぞ!
本当に実力が付くプログラミングスクールリスト、有料ですが公開しています
QUELCODEもよろしくおねがいします!
この記事が気に入ったらサポートをしてみませんか?