コーディング方法を学ぶための独学の開発者ガイド

だからあなたはコーディングを学びたいですか?私の個人的なアドバイスは、ブートキャンプに参加することです。ブートキャンプは、構造化されたカリキュラム、メンター、専用の学習時間、学生間のコラボレーションとネットワーキングを提供するからです。

残念ながら、コーディングを学びたいと思っているすべての人が、ブートキャンプに必要なお金と時間のコミットメントを支払う余裕があるわけではありません。

幸いなことに、多くの著名なソフトウェア開発者が選択した代替手段があります。それは独学のルートです。コードを学ぶときは、無料または有料のオンライン/オフラインリソースを使用して、自分のスケジュールで学習します。

しかし、この自己学習ルートで成功し、初心者開発者からジュニア開発者にすばやくジャンプするには、ブートキャンプの魔法のいくつかを独学の旅に組み込む必要があります。この記事では、その方法を紹介します。

始める前に、この記事は元々、Developers In VogueMTBセッションで私が行った講演であったことを知っておく必要があります。いくつかの良いフィードバックを受け取った後、私はそれをよりアクセスしやすい記事に変えることにしました。

それで、一杯のコーヒーまたはあなたの好きなソーダをつかんで、ペンとメモ帳を手に入れて、そしていくつかのメモを書き留めてください。また、ランダムな引用符をあちこちにドロップしますので、気を引き締めてください。

では、どのように始めますか?

自分でコードを教えるときは、次の5つのフェーズを実行する必要があります。

  1. ニッチを選ぶ。
  2. あなたのニッチのための構造化された学習リソースを見つけてください。
  3. 学ぶ。
  4. 何か、何でも作ろう!
  5. 通信網。

各フェーズをさらに詳しく見ていきましょう。

ニッチを選ぶ

成功したいのなら、自分を制限してください。

独学で開発者の旅を始めるときは、ニッチを選ぶことが重要です。これはあなたがあなた自身を圧倒しないことを確実にします。学習が制限され、小さなサブセットに注意を向ける機会が与えられるため、エントリポイントを作成できます。

ソフトウェア開発は非常に用途が広く、さまざまな形で提供されます。プログラミングとソフトウェア開発が一般的に何を含むかについての概要を知ることから始めます。

ここでは、プログラミングとソフトウェア開発のキャリアの概要を説明する2つの優れたリソースを紹介します。

  • 2020年にフルスタックWeb開発者になる方法、Colby Fayock
  • freeCodeCampYouTubeチャンネルでのプログラミングとコンピュータサイエンスの紹介

一般的な概要を理解したら、本当にワクワクする分野に落ち着くために、いくつかの内面的な質問をする必要があります。以下の質問に答えることはあなたのニッチを選ぶのを助けるべきです。

  • コーディングを学ぶことで何を達成したいですか?あなたはフリーランスでお金を稼ぎたいですか、良い仕事を得たいですか、それともあなたのスタートアップのアイデアを構築したいですか?
  • どんなシステムを作りたいですか?Web(フロントエンドまたはバックエンド)、モバイル(AndroidまたはiOS)、デスクトップ、組み込み、データ分析など。

これは、キャリアの後半で新しい分野を試したり実験したりできないという意味ではありませんが、始めてみてください。

あなたのニッチのための構造化された学習リソースを見つける

そこにあるすべての選択肢の中からニッチを選んだことを祝福します。

次に行うことは、ニッチ市場で学ぶ必要のあるトピック/テクノロジーの進歩的なリストを考え出し、それらのトピックに関する構造化された学習リソースを見つけることです。

どの学習リソースを選択するかを決定するときは、練習用の演習に沿って構造的な進行とコードがあるものを選択してください。以下の点に注意してください。

  • この分野ではどの言語とテクノロジーが使用されていますか?前のステップから目標を達成するために学ぶ必要のある最小限のリストを作成します。ここでは最小限に重点を置いています。これは、選択した分野のすべてを学ぶのを待ってから、目標に向けた最初の一歩を踏み出す必要があるからです。あなたは本当に長い間待っているでしょう。
  • どのようなツールが必要ですか?あなたが学ぶ必要があるツールを見つけてください。コードエディタ?いくつかのソフトウェア?先に進んで、それらをインストールしてください。
  • 学習順序は何ですか?ほとんどのフィールドでは、最初に1つのツール/言語を次々に学習する必要があります。常に基本から始めて、そこから先に進むことを忘れないでください。

特定のニッチに関してさらに質問がある場合は、TwitterまたはFacebookを使用して、選択したニッチで活動している人々を見つけることができます。彼らにメッセージを送って、彼らがあなたを助けることができるものについてのポイントにまっすぐに行きなさい。技術コミュニティの人々がどれだけ喜んで手伝ってくれるかに驚かれることでしょう。

Twitterの場合、Twitterのさまざまな技術分野のアクティブな人々を一覧表示するスレッドがあります。このスレッドをフォローすると、Hacksultanがその分野に関連する質問に答えることができます。

そして、この記事の最後に、すばらしい無料の学習リソースのリストがあります。

学ぶ

「2匹のウサギを追いかけると、何も捕まえられません」。

素晴らしい、あなたはそれをしました。目標を達成するために何を学ぶ必要があるかを理解し、使用する学習リソースも見つけました。今度は、それらを同時にではなく、順番に学習するときです。

一貫性を保つ

最初にすることはあなたの学習のための時間を取っておくことです。あなたがそれについて学びそして利己的になるあなたの毎日のスケジュールの間に毎日特定の時間を設定してください。

毎日2時間の学習は、1か月あたり15時間の学習よりもはるかに優れています。ここでは、一貫性が重要です。あなたは仕事を得ることを学びたいですか?それからあなたはそれがあなたの仕事であるようにあなたがそれを得るまで学ぶ必要があります。

目標を設定します

また、効果的な学習のためには、自分に責任を持たせることができるように、毎週の目標を設定する必要があります。

研究によると、意識的に目標を設定した人は、物事を達成する可能性が高くなります。そして、それらの目標を書き留めるのに余分な努力をする人々は、物事を成し遂げる可能性が最も高いです。

月末に何を知りたい、または何ができるようにしたいですか?それを達成できるように、週ごとにどのように学習を構成しますか?それを書き留め。

集中し続ける

また、概説した学習計画と選択した学習リソースに焦点を当てることを忘れないでください。

テクノロジーの分野では、常に光沢のある新しいオブジェクトがあります。これは、学ぶべき新しいことです。夢中になったり、圧倒されたりしないでください。そのため、多くの焦点を当てる必要があります。1つの完成したチュートリアルは、10のサンプルチュートリアルよりも優れています。

何かを作ろう!何でも。

「あなたと才能のある人との違いは練習です。それはたくさんあります。」

初心者の開発者として、チュートリアルゾーン、つまり「チュートリアル地獄」で立ち往生するのは簡単です。多くの人がそこで立ち往生し、初心者に長く滞在します。これは、手を汚さずにチュートリアルを次々と見る場所です。

プロジェクトの構築は、学習フェーズに相互に排他的ではありません。学習は実際には決して終わらないので、学習と構築の間を絶えず繰り返す必要があります。

これが、練習を始めるために、多くのコードに沿ったプロジェクトを特徴とする学習リソースを選択することを強調した理由です。ただ見るだけでなく、一緒にコーディングするようにしてください。これは、何かを作り始めるのに役立ちます。

練習を積む1つの方法は、すべてのモジュールの最後で、コーディングしたプロジェクトに追加できる機能について考えることです。あなたが得た新しい知識で何かを構築してみてください。

派手すぎる必要はありません。最も重要なことは、コードを記述し、エラーが発生し、デバッグ方法をグーグルで検索し、理解を深めることです。練習は知識を固めるので、練習します。1つの完了したプロジェクトは10の視聴されたチュートリアルよりも優れています。

あなたはグーグルを使ってプロジェクトのアイデアを見つけたり、これらの楽しいアイデアをチェックしたりすることができます。

通信網

ネットワークとは、単に公の場で学び、そこに身を置くことを意味します。あなたがサイロであるならば、あなたは多くを得る立場にありません。それで、どうやってそこに身を置くのですか?

コミュニティに参加してMeetupに参加する

コミュニティはあなたに挑戦し、同時にあなたに刺激を与えます。あなたは、あなたと同じ分野にいて、あなたと同じ苦労をしている人々に気づきます。また、協力して生涯にわたる友情を築く機会も得られます。

これは、BolajiAyodejiが参加できるいくつかのグローバルなリモートテクノロジーコミュニティのリストです。また、あなたの街の地元のコミュニティも探してください。

自分を売る

機会はもはや最も適格なものではなく、最も目に見える適格なものになります。

自分を売ることは、自分自身とあなたが現在していることについて話すことを意味します。これはあなたにより多くの露出を与え、あなたに多くの機会を開くことができます。

GitHubアカウントを設定し、そこにコードをプッシュします。Twitterアカウントを開始して、学習または構築していることについて話します。

質問をする

魅力的な質問をすることは、ネットワークを作り、他の人に自己紹介するもう1つの方法です。質問をするのは本当に恥ずべきことではありません。

特定の問題で立ち往生している場合は、ソーシャルメディアと物理的なつながりを活用してください。人々のDMやメールに滑り込む方法を学びましょう。返信が届かない唯一の理由は、リクエストの言い方がよくわからない場合です。

ヒント:連絡するときは、「こんにちは」を送信して時間を尋ねるのではなく、準備された質問をいくつか送信することをお勧めします。

現在直面している課題に答える質問のリストをまとめる必要があります。誰かが自分がどのような時間の約束をしているのかを前もって知っていれば、あなたは反応を得る可能性が高くなります。

サンプルメッセージは次のとおりです。

こんにちは、私の名前は、あなたが元気にやっていることを願っています。私はあなたのコンテンツをしばらく見てきましたが、あなたはに精通しているようです。私は理解しようとしてきました。私は試しました。助けていただけませんか。ありがとう。

結論

この記事が、初心者としてコーディングを学ぶ旅にいくらかの明確さをもたらしたことを願っています。

最後にもう1つ、コーディングは難しく、自分で学ぶのはさらに難しい場合があります。あなたは間違いなくいくつかの悪い日に出くわすでしょう。

物事が意味をなさない日には、気楽に過ごすことを忘れないでください。長期的には、学習に対する一貫性と忍耐力は間違いなく報われるでしょう。

さあ、続けて素晴らしいことを!

これは、始めるのに役立つさまざまな分野の無料の学習ガイド/リソースのリストです。

フロントエンドWeb開発:

  • IreAderinokunによるフロントエンド開発者学習ガイド
  • freeCodeCampのレスポンシブWebデザイン認定とフロントエンドライブラリ認定

UXデザイン:

  • OpemipoによるUXラーニングガイド。
  • Googleによるラピッドプロトタイピング

バックエンドWeb開発:

  • Bitdgreeによるバックエンド開発学習パス
  • Udacityによるバックエンドの紹介

Android開発:

  • MindorksからAndroid開発を学ぶ方法
  • GoogleによるAndroidの基本
  • UdacityによるAndroidアプリの開発

iOS開発:

  • iOS開発者になる方法
  • Swiftを使用したiOSアプリ開発の概要

データサイエンス:

  • コグニティブAIによるデータサイエンスの基礎
  • Udacityによるデータ分析へ

クラウドとDevOps

  • Udacityによるクラウドコンピューティング入門
  • UdacityによるDevOpsの紹介

これを楽しんだら、私のブログをチェックして、ツイッターでフォローして、DMを送ってください。