第一に、あなたの質問が定式化されているにも関わらず、特に私たちの分野では、あなたがそれらについて読むことができるよりも速く新しいものが現れてくるので、勉強に終わりはありません。そうは言っても、改善したい場合は、次のカテゴリを検討します。最大限の利益/ ROIを得るには、もちろん最も弱い領域から何かを選択する必要があります。
基礎知識
プログラミング言語を知っており、実際の経験を持っているにもかかわらず、基本的な基本的な問題が不完全なままである(特に自己学習した)領域がしばしばあります。データ構造、アルゴリズム、キャッシュ戦略、ハッシュ関数などのことを考えてください...
これにはプログラミング言語の基礎も含まれていることに注意してください-コンパイラ、最適化手法、型システムからカテゴリ理論、モナドなどまですべて。
数年間大学レベルの学位を取得してきたように、あなたがよく教えられているなら、あなたはすでにこのカテゴリーで強くなっている可能性が高いでしょう(もちろん、完成からは程遠いですが、しっかりした基盤です)。それ以外の場合は、これらの分野で数冊の本を読んで、レパートリーに欠けているとさえ知らなかったものがあるかどうかを調べてください。このカテゴリは、自分を過大評価するのが最も簡単です。
パラダイム的知識
私は、プログラマーがすべてを知っているが、主流のパラダイム以外では完全に無知であると考えるプログラマーが現れるといつも驚かされます。オブジェクト指向がそれで終わりだと思うなら、これはあなたの改善のカテゴリーです。関数型プログラミングも存在し、論理プログラミングのことを聞いたことがあるかもしれないと思うなら、それはまだ良い選択です。そこにはもっと多くのパラダイムがあり、それらについて学ぶことは、プログラミングの世界の新しい見方に似た何かをあなたに与えるという深遠な効果をもたらします。
忘れないでください:パラダイムであると考えられるかどうかについての議論が(その性質上むしろ哲学的に)しばしばあります。これらに左右されないでください。あなたの目標はあなたの地平線を広げることであり、それはこれらのことについて学ぶことを意味します。他の誰かがXを独自にパラダイムと考えているかどうかにかかわらず、それに違いはありません。
専門知識
それらすべての中で最も簡単-同時に最も有用ではありません。もちろん、単一のテクノロジーに専念し、そのすべてのインとアウトを知ることができますが、代価を支払う準備ができている必要があります。テクノロジーは古くなり、速度はますます速くなっています。これにより、ここで投資する時間が数年後には無価値になることをほぼ保証しています。
また、ここで収益の減少の問題が浮かび上がります。本質的に何かの専門家であるということは、その狭い主題に数え切れないほどの時間を費やさなければならないことを意味します。したがって、定義により、新しいことを学ぶのに長い時間がかかり、その新しいことは小さなパズルピースになります誰かの見方を変えない
領域知識
それはあなたの作品の領域であるか、単にあなたの個人的な興味に基づいているからです。しかし、コンピュータサイエンスの専門家であり、特定の領域であることは非常に価値があり、やりがいがあります。ここでは、コンピューターグラフィックスやAIなど、CSのサイドエリアについては説明していません。代わりに、コンピューターはすべての人の生活の中で定着しており、他のすべての分野がコンピューターとあなたが入ることができる領域の対象となっていることに注意してください。
これは明らかに「分野外」のカテゴリに分類されますが、それは鋭い数学的な「外」ではなく、むしろ応用分野です。医学について考えてみましょう。私はあなたに医者になるように勧めているのではありません。ただし、コンピューターサイエンスに関する既存の知識をその分野の問題に適用するために医学の基礎を学ぶことは、実際に価値があります。これは、ロボティクスを介した視覚化技術から、エキスパートシステムおよび会計/管理用の単なるデータ管理にまで及びます。これまですべてを行ってきましたが、別のドメインでそれを行うことは、まったく新しい体験になる可能性があります。
ただし、これは他のカテゴリよりもあなたの方向性を根本的に変える方法です。日々の仕事では、その分野への連絡がない場合があります。ジョブの切り替えを意味する場合もあります。さらに、新しいドメインに関する何らかの認定が必要になります。結局、あなたはそのドメインの完全な初心者であり、そのニッチの専門家になるための旅を始めた学際的な研究の卒業生と競争する必要があります。
補足知識
Mike Brownが付け加えたように、現在の仕事に何らかの形で付随しているが、必ずしも必要ではない知識の領域もあります。プロジェクト管理について学ぶためにプロジェクトマネージャーである必要はありませんが、いつものように、追加の知識があれば、反対側がどのように動くかについてのより大きな洞察が得られます。ソフトスキルに焦点を当てるポイントにこれを一般化することもできます。他の人と実際のプロジェクトに携わった人は皆、これらの価値を知っていると思います。