当社では新卒や二次新卒のWebエンジニアを時々募集しているのですが、採用面接でよく聞かれるのが「何から勉強したら良いでしょうか?」という質問。
個人的には実際に作らないと作れるようにはならないと伝えていますが、そもそも何を作れば良いか分からないというのは確かにそうだと思います。
恐らく初心者の方はまずはPHPやデータベースの参考書を買ってきてというところから始めるかと思いますが、独りで学習しようとした時に参考書を読んで理解するところで止まってしまう方もいらっしゃいます。(正直読んでても面白いものではありませんので。。)
では、何を作ったら良いでしょうか?
初めてプログラムをする方は自分で何が出来るかもわかりませんし、何を作ったら良いかもわかりません。
今回は当社で新人やアルバイトなどでエンジニアが来ている時にお勧めしている勉強方法を書いてみます。
目次
0. レンタルサーバを借りてみる。
まずはWebサーバがないとどうしようもないのでレンタルサーバを借ります。自分でサーバを借りるという行為は、これからWebエンジニアとしてサービス作るぞ!という意思決定と意気込みです。
ですので、自分で契約するということ自体が私は重要だと考えています。
ドメインはデフォルトでサーバ会社から提供されるサブドメインでも良いですが、後々業務で使用することもあると思いますので独自ドメインの取得からサーバへの関連付けも自分でやると勉強になります。
今のサーバは安いプランでもほとんどPHPやMySQLが入っているかと思いますが、一応確認してから契約するのが良いでしょう。
VPSなど自分で設定出来るものもありますが、最初からサーバ設定含めてやろうとすると心が折れるかも知れないので、個人的にはレンタルで十分だと思います。
1. 問い合わせフォームを作ってみる。
フォームに情報を入力すると管理者と入力したユーザーにメールが配信される一般的な問い合わせフォームです。ここで学べるのはWebサービスにおいては基本中の基本である投稿フォームの仕組みです。
ユーザーに投稿させるようなものであれば必須ですね。
メール通知もWebサービスを始めるなら必須の知識です。
他のフォームの項目を真似しても良いと思いますので、入力したデータを取得して次の画面へ引き継ぐ、その情報をメールで送信する、という工程をどうしたら出来るのか調べながら作っていきます。
ここで、まずはPOSTやGET、SESSIONの使い方などの基礎中の基礎が身に付くと思います。
2. 掲示板を作ってみる。
掲示板ではサーバにデータを保存する仕組みとデータの関連付けの基本的なことが学べます。今はレンタルサーバでもMySQLなどのデータベースが利用できますので、ここではデータベースを使って投稿データの保存は行ってください。
掲示板の基本的な流れは以下の通りです。
フォームから投稿する
その投稿データを保存する
保存したデータを表示する
投稿データに対してコメントを投稿する
コメントは投稿データに結び付けて表示
極端な話、掲示板を作れるレベルであればシステムの基本である入力(In)して表示する(Out)が出来るようになっていますので、工夫次第で簡単なサービスは作れるようになっていると思います。
掲示板も立派なWebサービスですし。
3. Web APIを使ってみる。
マッシュアップって最近聞きませんが、自分でコンテンツを持っていない人間にとてWeb APIほど便利なものはありません。最近のWebサービスはSNSアカウントでログイン出来たりするので、twitterやfacebookのAPIなどは抑えておきたいところです。
とはいえ漠然とSNSでログインしてみてもしょうがないので、楽天APIやYahoo!APIなんかを使って、自分のおすすめ商品一覧などを作ってみるところから始めてみると面白いかと思います。
自分で漠然とこんなものを作ってみたいという構想がある方は、使えそうなAPIを検索してそれについて勉強するのも良いと思います。
4. 1から3で学んだことを組み合わせる。
基礎が出来たら今まで学んだことをすべて組み合わせてみることをお勧めします。もちろんやりたいことをある方は自分で調べてどんどんWebサービスを作ってみた方が良いでしょう。
もう少し勉強したい人はWeb APIで情報を取得して、それをデータベースに蓄積して表示する、など学んだことをすべて組み合わせてシステムを作ってみると良いと思います。
というのは今の時点でアイデアがなくてもWeb APIで取得できる情報からアイデアが出ることもあるからです。
例えば画像検索でこういう検索キーワード使えば面白い画像サービスが出来るな、とかショッピングAPIで自分なりのお勧め条件のショッピングサービスを作れるな、とか色々あると思います。
ここまで出来るようになれば、あとはやりたいことに向かって調べながら進めていくしかありません。
やりたいことと言語を検索キーワードにすれば大体のことは調べられます。
番外: 作ったサービスにアフィリエイト広告を貼ってみる。
これは会社の社則の副業禁止に引っかかるんじゃないか?と思われる方もいらっしゃると思いますが、個人的には自分で作ったサービスには貼ってみて欲しいです。スキルではありませんが、アフィリエイトなどの広告収入もWebサービス運営には欠かせません。
アフィリエイトサイトを選んで登録して自分のサービスに貼り付けて表示するという一連の手順はやっておくべきです。
貼って報酬が出ればモチベーションにも繋がりますし、報酬が全然出なければ広告収入の難しさを身を持って体験出来るでしょう。
会社でサービスの企画などを提案するにしても収益モデルを必ず聞かれます。
Webサービスの収益モデルで広告収入ということをおっしゃる方が多いのですが、それがいかに難しいかということをよく理解出来るかと思います。
===
あとはどれだけ本人がのめり込めるか、だと思います。
もちろん会社で学ぶことも出来ると思いますが、個人的には自分でサービスを作ってみることをお勧めします。
あくまで個人的にお勧めしている方法なので参考までに。