Eyes, JAPAN Blog > これからweb技術を学ぶ人のためのガイドライン

これからweb技術を学ぶ人のためのガイドライン

yahata

この記事は1年以上前に書かれたもので、内容が古い可能性がありますのでご注意ください。

YUKI150321550I9A4447_TP_V

こんにちは、CTOの八幡です。

最近、社内の技術研修が整いつつあります。
エンジニアの皆さんには、Git、セキュリティ、アルゴリズム、web開発、チケット駆動開発の基礎を研修として学んでいただくことになっています。
私がアルバイトの頃にこんな研修を受けたかった…!会社全体の技術レベル底上げ体制が整ってきているのを肌で感じます。

その一方で、「分からないことをどうやって学んだら良いか分からない」人がいるという課題も浮き彫りになってきました。
何が分からないか分からないから質問もできないし、全く前に進まない…そんな経験が誰しもあるのではないでしょうか。

本記事では、特にweb技術の習得に関して、分からないことをどうやって学んでいけば良いのかという方法をご紹介できればと思います。

何かを学ぶために必要なこと

何かを学ぶために重要な要素は「フィードバック」です。
フィードバック無しで成長はありえません。フィードバックが無いと、自分が学んだことは正しいのか?次に学ぶのはこれで良いのか?と泥沼にはまり、何をすれば良いのか分からなくなってしまいます。
逆に、成果が目に見える形でフィードバックされると進むべき道が明確になり、モチベーションも高まるフィードバックループに入ることができます。

フィードバックを得るための最もシンプルな方法は、良い先生を見つけることです。
プロのアスリートであってもほとんどはコーチがついていて、適切なフィードバックを受けながら練習を続けていることからも分かるでしょう。

そうはいっても、誰もがすぐに良い先生を見つけられるとは限りませんから、独学で適切なフィードバックを得るためのやり方も考えておく必要があります。

独学でフィードバックを得るためには、適切な課題設定が必要不可欠です。
難しすぎず、簡単すぎず、ちょうど良い課題を設定していかなければいけません。
ただし、自分ひとりで最適な課題設定をして学習を進めるというのは、実はかなり高度なスキルです。
難しすぎて嫌になったり、簡単すぎてモチベーションが続かなかったり…ここで適切な教材を見つけられずに挫折していく人がとても多いです。

Web教材を使ってみよう

自身がある場合は自分で課題設定を考えるのもよいですが、まずはwebで公開されている教材を利用して学ぶことをおすすめします。
なぜなら、そういった教材は難易度設定がしっかりしているケースが多いからです。
ゲームを作ったことがある人ならば、難易度設定の難しさはよく分かることでしょう。

Progateというサービスは、web技術の教材を公開しているサイトです。

実際にコードを書きながら、ステップバイステップで言語やライブラリの使い方を学んでいくためのレッスンが揃っています。
また、仕様書に沿って自分で1からwebサイトを作るというプロジェクト形式のレッスンもあり、より実践的に学ぶことができます。

周辺知識を調べてみよう

しばらく進めていくと、教材に載っていないHTMLタグやJSの細かい機能のことを調べたくなってくるはずです。

ひとつ注意しなければいけないのが、webで適当に検索して調べるだけでは間違った情報を掴んでしまう危険性が大きいということです。
単純に情報発信者の知識不足で間違っている場合もありますが、昔は正しかった情報が古くなって正しくなくなっているケースも多いです。
特にweb技術は移り変わりが速くて、1年前の情報ですら古くて間違っているというのもあり得る話です。

情報を調べるときには、必ず信頼できるソースをあたりましょう。特にweb技術であればMozilla Developer Network(MDN)がおすすめです。

また、Google検索の結果にちいさく表示される更新日時を確認するのもよいでしょう。
あまりにも古い情報を鵜呑みにしないように気をつけることです。

ベストプラクティスを調べてみよう

どんな分野でも「ベストプラクティス」と呼ばれるものがあります。
囲碁でいう「定石」のようなものと考えてみてください。
過去の経験の蓄積から分かってきたベストなやり方のことをベストプラクティスと呼びます。

ベストプラクティスは、どんなプログラミング言語や設計にも共通するものもあれば、プログラミング言語やライブラリに特有のものもあります。
例えばデザインパターン(Observerパターンなど)やプログラミング原則(DRY原則など)のようなものは多くのケースに共通しています。
逆に、特定のプログラミング言語にのみ通じるコーディングルールのようなものもあります。

Strategic Choiceというサイトでは、デザインパターンや設計原則などが数多く紹介されています。
設計や原則で迷った時にパッと目を通してみて、気になった単語を深掘りしてみることをオススメします。

エラーを解消してみよう

プログラミングにエラーはつきものです。
残念なことに、エラーを恐れてエラーメッセージに見ないふりをする人はとても多いのですが、それではいつまでたってもプログラミングは上達しません。
エラーメッセージは、文字通りプログラムから発せられたメッセージですから、きちんと読み解いて解消していけるようになるのが理想です。

ただし、最初から全てのエラーメッセージを読み解くのは難しいかもしれませんから、まずは「エラーメッセージでググる」ところから始めてみましょう。
同じエラーに遭遇した人がどうやって解決したのか、大抵すぐに答えが見つかるはずです。
余裕が出てきたら、原因を詳しく探りながらより根本的な対処方法を調べてみると良いと思います。

開発者のための有名なQ&Aサイトが、StackOverflowです。どうしても解決できない問題は、こういったフォーラムに投稿してみることをオススメします。

技術情報を収集してみよう

情報収集は様々な方法がありますが、流行りのトレンドを追いたいならば
「2016年 web ライブラリ」などといった検索ワードで調べてみると、まとめ記事がたくさん見つかります。

他にもTwitterなどで業界の有名人をフォローしておくと、色々と新しい情報が得られるかもしれません。
業界の有名人と呼ばれるような方々は、情報をアウトプットして共有することにメリットを見出しているような方が多いですから、遠慮無くフォローしていきましょうw

Qiitaなどのサービスを利用してみるのもオススメです。
Qiitaは技術情報オンリーの情報共有サービスですから、初学者にとっても有用な情報が多く集まっています。

まとめ

いかがでしたでしょうか。

今まで手に馴染んでいた技術から離れて新しい技術を学ぶというのは不安も多いですが、既存の情報を十分に活用することで、効率的に学習を進めることができます。
この記事が、新しいことを学ぼうとしている方々の助けになればと思います!

手前味噌ながら、プログラミング言語の習得については
弊社アルバイトスタッフがプログラミング言語の学習の記事を書いています。こちらもあわせて読んでいただけると良いかもしれません。

担当:八幡

Comments are closed.