プログラマーの知識とスキルについて

前の記事「 コンピューターサイエンス全般 」を読んだ後、あなたはすべての長所と短所を比較検討し、プログラマーになることを決めたとします。



それ自体がどのような能力を開発するのが理にかなっており、プログラミングの職業があるかどうかをどのように知っていますか?



数学はプログラミングの良い基礎であると一般に受け入れられています。 もちろん、これは本当です。 人はアリストテレスの論理に精通しており、3つのアクションで数学的問題を解決できなければなりません。

しかし、他の要件があります...





ところで、ここでプログラマーは3つのタスクではなく、10,000のアクションでタスクに出くわすと言うのが適切です。 そして、これらのアクションをサブタスクに分解し、それぞれを明確に正式に説明し、複雑さを評価し、パフォーマンス基準を策定し、各サブタスクの実行をプログラマー(または自分)のグループに割り当て、実装の進行状況を監視(自己監視)し、重要にできるようにする必要があります割り当ての過程での調整。 そのようなもの、そのようなもの...プログラマーになることを決めましたか?



はい、プログラマーのタスクは複雑です。 そして特に重要なのは、プログラマーがこの複雑さを軽減する能力です。 驚くべきことに、事実は、2人の異なるIT専門家(IT-情報技術)が同じ問題に対して2つの異なるソリューションを提供できることであり、最終的には人件費が何十倍も異なります。 2人のITスペシャリストのどちらが最も正しいかを推測するのは容易ではありません。 IT業界では、主なリスクはまだ採用に関連しています。 プロジェクトの成功は、どのテクノロジーが基礎になり、どの人々が製品の基本アーキテクチャを構築するかにかかっています。 後者が最も重要です。 プログラミング言語とテクノロジの選択は通常、適切に行われます。 したがって、タスク、技術の基本分析、および利用可能な資金を考慮に入れた後、2つまたは3つの選択肢があり、プログラマーチーム全体が有能であれば、それぞれが成功につながる可能性があります。



プログラマー(プログラマーのチーム)の予測不能性は1つの問題です。 それは簡単に解決されます-テストラインを与えるだけです。 しかし、別の問題があります-プログラマーの手に負えない楽観。 彼らは本当に複雑なタスクを簡素化することに成功し、一見不可能なタスクを完全に実行可能なものに減らすアーキテクチャソリューションを見つけることができます。 しかし、彼らはほとんど常に自分の能力を過大評価し、「不完全な問題」が再び彼らを元の場所に置くまで、すべてがうまくいくと信じています。 あなたがタスクのタイミングを2回以内に間違えるプログラマーになった場合、あなたは価格設定されません。



そのため、プログラマには基本的な数学的知識、タスクを簡素化する機能(問題を解決するための体系的なアプローチ)、およびタスクの複雑さを適切に評価する機能が必要です。



しかし、数学的な知識と能力が明らかに必要であるにもかかわらず、プログラマーが古典的な数学教育を必要としているとは言いたくありません。 これは特別な数学的プログラムである必要があり、そこでは連続的な分析はあまり行われず、多くの離散的な数学と論理が必要になります。 さらに、プログラマーのトレーニングの時間の大部分は、考えを明確に表現する能力に与えられるべきです。 定期的なトレーニングは次のとおりです。テキストの学習、テキストへの注釈付け、主要なアイデアの強調、有用性、興味、視点の評価。 率直に言うと、プログラマーは数学者で構成され、言語専門のプログラムに従って、または言語専門家からコンピューター専門のプログラムに従って準備されます(これはNepeyvoda NNのアイデアです)。



典型的なITスペシャリストまたはプログラマーの活動のタイプを分析する場合、これは数学的抽象では機能せず、技術テキスト、注釈、思考および概念の表現を可能な限り簡潔かつ明確に分析することがわかります。



さらに、プログラマーの日常生活は、思考を正式な言語に変えることを経ていると言えます。 この作業を翻訳者の作業と比較するのは自然です-ネイティブ言語の技術テキストをプログラミング言語に翻訳する必要があります。 自分の考えを明確に述べることができない人は、論理的に完全な作業プログラムを書くことができません。 プログラムは適切に構成され、読みやすいものでなければなりません。 今日、これはプログラマーにとって最も重要な品質基準の1つです。 これは、ソフトウェアシステムがより複雑になり、大規模なチームがそれらに取り組んでいるという事実によるものです。チームメンバーは、他の人が書いたコードを読んで理解し、読みやすいコードを自分で書くことが重要です。 適切で美しい長い文章をまとめる能力だけでなく、プレゼンテーションの調和のとれた構築、部分への分割、およびこれらの部分の場所の才能も重要です。



プログラマーが言語に直面するのはプログラミング言語だけではありません。 形式言語は、データ、プロトコル、アーキテクチャ、およびプロセスを記述するために使用されます。 プロのプログラマは、すでに多くの言語を知っているポリグロットと比較することができます。多言語は、それぞれが簡潔に、正確に、そして美しく表現する能力を高めます。 新しい言語の学習または開発は、プログラマの典型的なタスクです。



All Articles