完全な開示-私は仕事の時代に利用できる別のプレインターネットで訓練を受けた老人です。若い開発者のスキルが着実に低下するのを見てきました。その主な理由は、若い開発者が情報を保持していないか、インターネットから取得したソリューションを理解していないためです。私は、20年前の1〜2年の経験後の能力レベルが、5〜7年の経験後の能力レベルであることを観察しました。(はい、それは個人的な観察ですが、私は多くの雇用をしました、私は問題に関する統計データを持っていません、そして、はい、私は時々年老いて不機嫌です、一言でこの声明を受け取ってください。 )
すべてを調べることは、時間の面で非効率的です。また、あまり深い知識を持っていない人の症状でもあります。深い知識を持つ人々は、物事を調べることなく問題を解決する方法を知らない人々よりも速くコードを書くことができます。したがって、物事を継続的に調べることなく、より多くのものを処理することを学ぶことは価値があります。
今、私はあなたが物事を調べるべきではないと言っているのではなく、知識を保持することを学び、めったに使用しないもの、または本当に新しい問題や言語やパラダイムに遭遇したときにだけ調べる必要があると言っています。そして、新しいソリューションやツール、言語に対応するために本を読むべきではないと言っているのではありません。
あまりにも頻繁に物事を調べる開発者に対する私の本当の懸念は、あまりにも多くの人(必ずしもあなたではない)が、彼らが抱えている問題と必要な解決策を理解するための分析スキルを決して開発しないということです。その人が明確に理解していないエラーメッセージをどこに入れるのか質問がいくつあるかを読んでください。しかし、それは専門職レベルで活動している人なら誰でもはっきりしているはずです。または、その人が「機能していない、なぜですか」と言うもの。エラーメッセージへの参照がない、またはどのように機能していないか、コードは構文的に正しい。または、動作するはずのコードを与えられた人、
あなたが探しているものが言語のコア機能の一部である場合(データベースにアクセスしている場合はこれにはSQLが含まれているはずです)6ヶ月以上使用している場合、あなたも探していると思われますずっと。探しているのが高度な機能、特にめったに使用しない可能性のある機能である場合は、問題ありません。
しかし、どのようにしてより多くの情報を保持することを学ぶのでしょうか?最初にコードが壊れた理由を理解してください。誰かがあなたに有効な解決策を与えたとしても、それがなぜ機能し、あなたの機能が機能しなかったのかわからない場合は、尋ねてください。エラーメッセージが理解できない場合は、その意味を尋ねてから、自分で解決してください。
そして、あなたが理解していない解決策を切り取ったり貼り付けたりしないでください。実際、カットアンドペーストは一切しないでください。情報を保持したい場合は、入力する必要があります。実際に自分でコードを物理的に書くことは、あなたがそれを学ぶのを助けます。それはよく知られた学習テクニックです。
コードの理解を一般化する練習をします。1か月前に問題ABCに対して得た解決策が新しい問題DEFに対する同じ解決策であることを理解していないため、人々は時間をかけて何度も同じような質問をするのを見てきました。
そのため、何かを調査したら、時間をかけて、どのような種類の問題を解決するのが良いかを考え、そのことについてメモを書きます。次に、解決すべき問題がある場合は、まず考えられるテクニックをすでに書き留めているかどうかを確認するために、独自のメモを確認してください。問題を解決するための複数の方法を評価する場合、問題のタイプ、考えた解決策、およびそれぞれの長所と短所についてメモを取ります。繰り返しになりますが、メモを取ることはあなたの脳内の知識を固めるのに役立ちます。長所と短所についてはすでに独自の思考プロセスがあり、それを再度行う必要はありません次の同様の問題については、さらに可能なテクニックを探してください。
そして、次に何を学ぶかを決定するとき、最初の30日間に相当するさらに別の技術を学ぶ前に、主要な技術の1つをある程度掘り下げます(これは、必要に応じて、実際に仕事を行うのに十分な知識があることを前提としています) 6つのテクノロジーを使用する-最初に6つすべての基本を習得してから、詳細に進んでください。次に、基本的なレベルで新しいことを学び、何かをより深く学び、基本的なレベルで新しいテクノロジーを学びます。時間の経過とともにこれを行うと、それについて尋ねるより高度な質問を理解するため、新しいテクノロジーに求められるものの基本レベルがはるかに深くなることがわかります。
知識を保持することを学ぶ別の方法は、他の人にそれを教えることです。このような場所で質問に答えたり、トレーニングトピックをチームに提示したり、ローカルユーザーグループでプレゼンテーションを行ったり、ブログエントリを書いたり、社内の情報ウィキを維持して他の開発者を支援します。