今からでも遅くない!Webアプリ開発スキルを身に付ける方法
今回は私も実践しているWebアプリ開発に必要なスキルを身に付ける勉強方法を紹介します。
異業種だけどエンジニアに興味があるという方は特に参考にしてみてください。
Contents
はじめに
組込系エンジニアをやっていた私がWebアプリ開発に携わって約3年程度経ちましたが、その間ずっとプロジェクトに入って開発をやっていたこともあり基本的な部分は把握できたと思っています。そんなWebアプリ開発未経験で右も左もわからない状態から、一人で開発できるようになるまでに行ったことや勉強方法について紹介したいと思います。
この業界は技術の進歩が早くまた言語も多様なので、一つ覚えたらそれで終わりではありませんし今後もまだまだ勉強しないといけないことは増えてくるでしょうが、基本的には同じやり方で習得できると考えています。
経歴について
まずは簡単に経歴を紹介したいと思います。
上述した通り、私はWebアプリの開発に携わる前は組み込み系のエンジニアを4年程度やっていました。
組み込み系ではC、C++を主に使用しており、そこから転職でWeb業界に踏み込みJavaとPHPを1年半ずつ経験し今に至ります。
Java、PHPといったサーバサイドだけでなく、HTML5やCSS3、JavaScriptなどのフロント側、開発環境くらいであればゼロから構築することも出来るのでインフラ周りも一通り経験しています。
Webアプリ開発スキルを身に付ける方法
以下を際限なく繰り返すことで開発に必要な知識を得ることができると考えています。というか自分はこの方法しかやっていません。
またWebアプリに限らずモバイルアプリ開発などの開発系全般に共通して活用できる方法です。
- 参考書や入門サイトを見ながら実際にコーディングして理解していく
- わからないところはとにかく調べる(ググる)
- 開発案件に入って実際のコードに触れる
- セミナーやプログラミングスクール、eラーニングを活用する
参考書を見ながら実際にコーディングして理解していく
詳細
文字通り、参考書を初めから通しで、また実際に手を動かしながら進めていくという方法です。
IT系の本は大体分厚くて読むのが億劫になると思います。私もそうでした。
が、その分得られる情報が多くネットで調べても出てこない情報も記載されているため、ゼロから始めるには最適でその言語やフレームワークなどの機能を網羅的に押さえることも可能です。
また、パラパラと読むのではなく、実際にコードを書きながら学習することが重要です。
小中学校でやってたドリルと同じ要領で、実際にコーディングしながら進めることで知識が定着するためです。
注意すべき点
この方法で注意すべき点は参考書の選定です。
巷には、初心者向けと謳っていながらある程度知識がないとさっぱり理解できないという参考書も多いため、参考書選定を誤ってハズレを引くと無駄な時間を消費してしまいます。
あとは、古い本だと掲載されている情報も古く、最新のバージョンで実際に動かすとエラーになるといったケースも多いです。そんな時は後述するググって調べて解決します。
参考書の選定方法
失敗しない参考書選びとしては、Amazonのレビューで評価が高いものを選ぶことが重要です。
レビューを投稿されている方は現役のエンジニアや少なくともその言語を把握している方が多く、またレビューを投稿されている方の多くは、自身のスキル関係なくその参考書の内容に対してレビューされているからです。
例えば、初心者向けと謳っている本に対して「本当に初心者向けなのか?」という第三者目線でのレビューです。
自分のスキルレベルと、レビューの内容や評価ポイントを踏まえ、今の自分に適しているのか?と考えながら参考書を選ぶと失敗が少ないと思います。
わからないところはとにかく調べる(ググる)
詳細
レビューが高い参考書を選んだとしても、参考書記載の情報が古かったり、時には間違っていることがあり、実際に動作させた時にエラーになるケースが少なからずあります。
記載通りにコーディングしていてもです。
また、文中に出てくる単語や用語すらわからない、イマイチピンと来ないといったケースもあります。
そんなときは迷わずググりましょう。
勉強や開発を進めていく中で躓くようなところは、同じように躓いた先駆者が居て、質問サイトで質問していたり、自己解決して答えや解説をブログなどでアウトプットしているケースが多いためです。
ググる際のポイント
ググる際のポイントはアプリ名や自分で作成したソースファイルなどの名前は除いて、エラーメッセージのみコピペして検索するです。
アプリ名や自作のソース名を含めると有益な情報に辿りつけないケースが多々あります。
また、複数件ヒットする場合は一通り記事を読んで内容と対策を理解するのが良いです。
エラーメッセージは大体英語でそのまま検索すると検索結果にも英語サイトがヒットするケースが多いですが、英語が読めなくてもGoogle翻訳などの翻訳サービスを使用するとカタコトながらニュアンスは理解できるので、十分解決に導いてくれると思います。
開発案件に入って実際のコードに触れる
詳細
コードの読み方や基本的な文法は上記2つで賄えるのですが、実際の開発を経験することも非常に勉強になります。
実際の開発現場で働いているエンジニアの中には、自分では思いつかないコーディングをされる方が多々居て、一例としては、可読性の高い(読みやすい)、汎用性の高い(使い回しがしやすい)、保守性の高い(修正しやすい)といった、動作するだけでなく今後の改修や拡張なども意識されているものです。
参考書やネットの情報ではこの辺りを意識したコードに出会う事は少ないので、実際の開発現場に入って高スキルのエンジニアの方と一緒に仕事をするのは自身のスキルアップに非常に有益です。
逆に謎めいたコードを書く人も居るので、悪い見本という意味でも勉強になると思います。
開発案件に入ることが難しい方は?
異業種で働いていて、IT業界への転職を考えている方などは、実際の開発案件を経験することが難しいと思います。
また激務で忙しなく働いている先輩に対して質問しづらいといったこともあるかと思います。
そのような方は後述のセミナーやeラーニング、プログラミングスクールを活用すると解消できると思います。
セミナー
日本の主要都市の多くでは、特に東京では頻繁にセミナーが開催されています。
この手のセミナーは、エンジニア上がりのフリーランス講師の方やエンジニアをやりつつ副業でやられている方、中には企業が主催しているものなど、実際の開発業務を経験されている方が多いので学べるものも多いです。
一言にセミナーといっても、初心者向け~上級者向け、規模もマンツーマンから数十名規模と様々で、自分のレベルや目的に合ったセミナーを選択すると良いと思います。
また、土日開催や平日でも定時後の時間帯から開催されるものもあるため、サラリーマンの方でも参加しやすいかと思います。
セミナーの開催情報はネットで調べても出てきますが、私はストリートアカデミーというWebサービスを活用しています。
個人的にストリートアカデミーの気に入っている点は、Webに限らずセミナー情報が豊富で参加者のレビューが確認できる点と、講師の方とメッセージでやり取りできる点です。
1つ目は、Web系はもちろん、Web以外のセミナー以外にも多種多様なセミナー情報が掲載されているので、興味のある分野のセミナーがないかも簡単に調べることが出来ます。
こんなにあります。(2017年1月5日時点)
また実際に参加された方のレビューが確認できるので、自分に合っているか?やセミナーの雰囲気などを踏まえたうえでセミナーを選択できます。
こんな感じです。
お金を払って参加して、内容が合わなかったり雰囲気が悪かったら最悪ですもんね。
2つ目は、セミナー申込、参加前に講師の方にメッセージで質問できる点です。
どのような内容なのか、自分のニーズに合っているのか、受講することでどういった効果があるのかなどを事前に確認できます。
実際に私もストリートアカデミー数回セミナーに参加しましたが、どのセミナーも有益で得られるものも多かったと感じます。
eラーニング
地方在住でセミナーへの参加が難しい方や時間が合わない方は、オンラインで自分の好きな時間に勉強できるeラーニングがおススメです。
インターネットが繋がる環境であればどこに住んでいても勉強できるので、仕事の昼休みや通勤や移動中などちょっとした時間を有効活用できるメリットもあります。
eラーニングでオススメなのはschooとドットインストールです。
詳細は別の記事にまとめたいと思います。
プログラミングスクール
実際に私は経験したことがありませんが、プログラミングスクールのcodecampさんも良さそうです。
現役エンジニアのマンツーマン指導で時間と場所を選ばないオンラインでの受講も可能なようです。
スクールというだけあってレッスン回数が多くコースのため料金も高く感じますが、レッスン1回で計算すると4,000円弱と高過ぎるとは感じず、なにより現役エンジニアによる指導とのことで現場で即戦力となれるようなスキルが身に付きそうです。
エンジニア不足が問題視されている昨今なので今後もニーズは高いですし、需要と供給のバランスの意味でも価値が高くなっていくので元はすぐ取れると思います。
また、条件はありますが国の助成金も活用できるとのことで、企業の研修として活用するのも活用できるかと思います。
私も資料ダウンロードしてみます(笑)
さいごに
以上、長くなりましたが私が実践しているWeb開発における勉強方法を紹介してみました。
そんな私も今現在Laravelをひぃひぃ言いながら学習しています。
終ったら次はSCSS、Ruby(Rails)・・
勉強は決して楽ではありませんが、先輩はみんな通ってきた道です。
1日10分でも良いので継続するのが重要で、チリツモ精神で頑張りましょう!
ディスカッション
コメント一覧
まだ、コメントがありません