中級者向けのRails学習リソースはどこにある?独学で壁を突破する方法
Railsのチュートリアルをいくつか終えて、講座を受けたりスクリーンキャストを見たりしながら、サンプルアプリの模写もこなしてきた——そんなあなたは、そろそろRails開発を次のレベルへ進めるタイミングにいます。
しかし、なぜか行き詰まってしまうものです。初心者向けには膨大な数の書籍、講座、動画があるのに、中級Rails開発者向けのチュートリアルはどこにあるのでしょうか?
以前とは状況が違う
Rails開発者としての「基礎知識を身につける」段階を超えると、学習リソースは急激に減っていきます。なぜなのでしょうか?
中級Rails開発者になることは、初心者の頃とはまったく別のプロセスです。単に難易度が少し上がるだけのように見えますが、実際にはまったく異なる学習アプローチが必要になります。
「初心者はここまでを知っていて、中級者はそれをもう少し深く知っている上に、周辺知識も持っている」という発想は捨ててください。中級者にとっての学習は、より焦点の絞られたものになります。多くのことを浅く知るのではなく、少数のことを深く学ぶ段階なのです。
まず、集中して取り組む分野をいくつか絞りましょう。テストやTDDについて詳細に学ぶ、Railsが推奨するデザインパターンをいくつか深く理解する、優れたデータモデルの設計方法を習得する——ただし、一度に全部やろうとしないこと。一つずつ、本当に深く学んでいくのがポイントです。
Railsの基本を理解していれば、APIドキュメントを読む力が自然と身につきます。たとえまだ全体を把握できなくても。TDDに関する最高の書籍も、Rails専用のものでなくても読めるようになるでしょう。十分な量のRubyコードに触れた後なら、ソースコードを読み込んで、ほとんどの人が到達できないレベルでRailsの内部構造を理解できるようになります。
一つのことを深く学ぼうと集中するとき、利用できるリソースはぐっと増えます。そして、一つ学んだことが他のすべての学習を容易にしてくれるのです。
(3つ目、4つ目のプログラミング言語の習得が簡単に感じられる人がいるのは、まさにこのためです。核となる概念は共通しているため、新しい言語の中級段階を通過するために学ぶべきことは格段に少なくなります)。
次に何を学ぶかはどう選ぶ?
一度に一つのことを学ぶなら、最初に何に集中するかを選ばなければなりません。しかし、学ぶべきことが山ほどあるとき、どうやって選べばいいのでしょうか?
興味のあることは学びやすいと思いませんか?私にとっては間違いなくそうです。では、新しいことを学ぶ意欲を自分の中で高める最良の方法は何でしょうか?
答えは、自分のアプリを作ることです!たくさん、たくさんのアプリを。ゼロから作るだけでなく、既存のアプリを改造したり、新機能を追加したりしてみましょう。
アプリを書いていると、必ず行き詰まります。何度も何度も。でも、それは実は素晴らしいことです!「行き詰まり」を愛することを学びましょう。それは新しいことを学ぼうとしている証だからです。行き詰まることを楽しめば楽しむほど、さらには積極的に求めるほど、エキスパートへの道は近づきます。
調べて、学んで、解決策を実装できたら、別のアプリでもう一度同じことをやってみましょう。ドキュメントを見ずに書けるか試してみてください。本当にその技術を身につけるのです。そして、アプリの開発を続けながら、次に行き詰まる場所を探していきます。
私はこの学び方が好きです。最も頻繁に出会う問題に集中できるからです。「勉強のための勉強」ではなく、目の前の問題を解決しようとしているので、学びのスピードも格段に速くなります。そもそもあなたがソフトウェア開発に魅了された理由は、そこにあるのではないでしょうか?
この方法だけではカバーしきれない
Railsの基本を理解したら、偶然の出会いからも学べるようになります。中級・上級のRails開発者が何を話しているのかがわかるようになると、ふとした会話から、思いがけず面白い学習の道へと導かれることがあります。
そこで私は、何か新しいことを学ぶ初心者段階を終えたら、複数の技術ブログを購読するようにしています。コミュニティのリーダーたちをSNSでフォローし、その言語向けの週刊ニュースレター(RubyWeekly、iOS Dev Weekly、JavaScriptWeeklyなど)にも登録します。
全部を読む必要はありません。むしろ読むべきではないのです。ただ、質の高い情報がレーダーに引っかかる状態をつくり、興味をひかれたものだけを読み、掘り下げればいいのです。この方法で本当に役立つヒントを数多く得てきました。そうでなければ、ずっと後まで出会えなかったであろう有用なトピックにも巡り会えました。
さあ、次は何を学びますか?
良い中級リソースが見つからずに行き詰まっていると感じたら、自分の学習を自らコントロールしましょう。アプリの開発を始めて、その作り方に注意を払うのです。うまくいくか半分自信のないことにあえて挑戦し、行き詰まれる場所を探しましょう。その行き詰まりを足がかりに、その小さな部分だけに関するAPIドキュメント、ガイド、チュートリアルを見つけてください。必要ならRails本体のソースコードを読み込むのも有効です(最初は戸惑うかもしれませんが、コードに触れれば触れるほど、だんだん慣れていきます)。
小さな部分を本当に理解し、その分野のエキスパートになりましょう。そして、次の一歩へ進むのです。
-
2020年に学ぶべきおすすめプログラミング言語8選【特徴と学習方法を徹底解説】
「今どきのプログラミング言語はどれを学べばいいのだろう?」とモニターを眺めながら悩んだ経験はありませんか?この記事では、その疑問に対する答えをご紹介します。 世の中には数え切れないほどのプログラミング言語が存在し、その中から時間をかけて習得する価値のあるものを見極めるのは一苦労です。端的に言えば、それぞれの言語には何らかの用途があるため「すべて学べばよい」ということになります。しかし、時間が無限にあるわけではないなら、需要の高い定番言語に絞って学ぶのが賢明な選択でしょう。 新しいプログラミング言語は次々と登場していますが、時代の流れに耐えてきた実績ある言語はごくわずかです。こうした言語こそが
-
学ぶべきRailsスキルが多すぎる?初心者でも迷わない学習の始め方
Railsコンピテンシーチャートをご覧になったことはありますか? CodeFellowsのBrook Riggio氏が作成したこのチャートには、現代のRails開発者が知っておくべきすべての概念がまとめられています。一度見てみましょう。 恐ろしいでしょう?まるで200本もの触手を持つ怪物が、あなたに襲いかかろうとしているように見えます。 Railsの学習が尻込みしたくなるのも無理はありません。SQLやデプロイメントのような一部の分野は、それだけで独立したキャリアパスになり得ます。アプリケーションアーキテクチャに何年も費やしても、専門家だと実感できないかもしれません。 しかし、このチャートは正