「先導してくれ」:初心者プログラマーの仕事をより効果的にするもの

毎日の仕事は主に定型業務で構成されており、プログラマーも例外ではありません。 しかし、多くの場合、すべてのプロジェクトが開催されるのはそのような問題です。 したがって、IT企業または部門の作業プロセスの管理には、従業員の活動の監視と、これらの問題の重要性のリマインダーを含める必要があります。



1cloudでは 、プログラマはアーティストに非常に似ていると考えています。 芸術の分野と同じように、IT専門家はしばしば創造的に考えます。 また、アートをフレームワークに組み込むことはできませんが、タスク、モチベーション、およびコントロールを適切に設定することで、会社の機能を維持できます。





/写真: David Goehring CC



1.継続教育



現代のITサービス市場は途方もないペースで発展しているため、企業はコースのあらゆる意味での計画外の変更に対しても準備する必要があります。 この点で、幅広い専門家を雇うことは良い考えです(最近、プログラマ、ソフトウェアエンジニア、およびコンピュータサイエンティストの違いについて説明しました )。



真のプロフェッショナルは広い視野を持ち、狭い分野だけでなく、オペレーティングシステム、分散コンピューティング、コンピューターネットワークとセキュリティ、データ構造、アルゴリズムの理論、基本的なプログラミング言語についての知識も持っている必要があります。



もちろん、優れたプログラムを作成するためには、最終的にコードを記述する必要がありますが、最初にコンセプト全体を考える必要があります。 これは大学でよく教えられているので、特に志願者や従業員の特別教育に注意を払う必要があります。 彼らはプログラミングを問題を考えて解決する能力としても認識し、それは彼らが彼らの職業で発達するのを助け、必要であれば、他の言語またはプログラミングのタイプ(例えば関数型プログラミング)を習得します。



もちろん、プログラマーは完全にすべてを知ることはできませんが、特定の状況でどのツールを適用する必要があるかを知る必要があります。 このような知識は、言語を選択するときだけでなく、プログラマーが特定の問題を解決するために必要なものを知っているとき、必要な機能(静的または動的タイピングなど)を持つ言語を選択できます。



しかし、トレーニングは決して終わらないため、プログラマーは人生をすべて学び、時には同僚、インターン、インターンなど他の人に教える必要があります。 素人に近い他の分野でプログラミングの概念を説明することをお勧めします。 例えば、哲学に目を向けることでモナドをよりよく理解することができます-アイデア自体は古代ギリシャに由来しますが、多くの哲学者はずっと後にこの概念に目を向けました。 そして、ゴットフリート・ライプニッツの哲学は「単数論」とも呼ばれていました。



2.作業の論理構造



製品の作成(製品の開発方法について )は、もちろん、コードを書くことだけでなく、コードの効率性と保守性から始めて、言語とインフラストラクチャ、データベース構造、アルゴリズムを選択することから、すべてのステップで多くのことを考える必要があります最後に、適切なテストおよび展開戦略を選択します。 そして、決して論理的な側面を忘れてはなりません。 優れた手法は、開発を開始する前に仮説を策定し、テストし、アクションプランを順守することです。



優れたチームリーダーは、適切な質問をすることができるはずです。 たとえば、MicrosoftのJohn L. Miller 、これらの質問は3つのグループに分類できると考えています。 (なぜこれを行う必要がありますか?)どうしたら...? (車のメモリが足りなくなったらどうしますか?)そして、どのように..? (将来、プログラムはどのように動作しますか?)この手法は、正しい方向に進み、全体像を見るのに役立ちます。 しかし、もう1つの重要な段階は関連性です。 プロジェクトの条件が変更された場合、そのような問題のリストを更新する必要があります。



さらに、専門家は、論理的思考を発展させるためのありふれた方法を忘れないようにアドバイスします。パズル(ポイント5および1)は、問題解決スキルを向上させ、枠を超えて考えることを教えます。 しかし、仕事と能力の発達に加えて、良い休息と健康的な食事についても覚えておく必要があります(プログラミングスキルを「ポンプオーバー」する方法...ほとんどプログラミングなしで、 ここで説明しました )。



ライフスタイルは仕事の効率に影響を与えることが長く証明されており、一部の製品でさえ論理的思考に影響を与える可能性があります。 たとえば、トマトには抗酸化物質のリコピンが含まれており、これが身体へのフリーラジカルの有害な影響を防ぎ、脳の機能、記憶、論理を改善します。



3.他の人のコードで作業する



プログラマは、毎日他の誰かによって書かれたコードに直面しています。 したがって、デジタルエージェンシーのInsite Interactiveの開発者であるRyan Mattes(Ryan Mattes)による 、真のプロフェッショナルとは、すでに記述された25万行に300行のコードを追加でき、その中の何も壊さない人です。 開発者のアクティビティには、コードを書くだけでなく、コンセプトとアプリケーションの可能性を開発し、作業をいくつかの段階と簡単なタスクに分割し、これらのタスクを長期にわたって分散させることが含まれます。



すべてのルーチンにもかかわらず、他の人のコードを操作することは優れたトレーニングと演習です。 しかし、自動化には経験が必要です。読み始めて理解するだけで十分です。 その後、使用したソリューションの分析に進み、バグを排除できます。 そして、このような演習の最後の段階は、コードの改良と改善です。



訓練を忘れてはなりません。 たとえば、「 The Code Player 」などのサイトでは、小さなグラフィック要素のコードを記述するプロセス全体を見ることができます。 自分に合ったペースを選択し、難しい部分をレビューし、説明とコメントを読むことができます。



4.コメント



この日常的な操作の有用性は非常に明白ですが、従業員には時間をかけすぎているように思われ、一部の従業員はそのような作業を単に無視しています。 いくつかのオンラインプラットフォームの共同所有者であるマットハモンド 、コメントは主に同僚への敬意を反映しいると考えています。 また、OracleのChristopher Larkin(Christopher Larkin)によると、コードへのコメントは、プロジェクトに費やされた時間の1/10または1/20しかかかりません。 もちろん、コメントの速度と品質には経験も伴います。



コメントの読みやすさと簡潔さが非常に重要です。 これらの特性を改善するために、ノルウェーの開発者Jermund Bjaanes(Gjermund Bjaanes)はプログラマーもっと本を読むように勧めています。 彼は、フィクションを読むことで情報をすばやく認識し、コード自体とそのコメントをより適切かつ正確に定式化する能力を形成することを確信しています。 ちなみに、プログラミングに関するものではない(SFから哲学まで)プログラマ向けの優れた書籍がここにあります



5.プロセスの自動化



プログラマーは24時間年中無休で働くことがよくあります。誰かが自由時間にプロジェクトに取り組み、誰かが2つの仕事に従事するか、フリーランスとして働きます。 したがって、作業のもう1つの重要な側面は自動化であり、これにより寿命が短縮されるか、問題のより短い解決策が検索されます。



怠azineは開発者にとって素晴らしい品質です。 人間の怠inessのおかげで作成されたと言えます。 これは、Perlの著者であるLarry Wallによる彼の本の初版でも言及されました。 怠azineは最終的に時間とお金の節約につながりますが、これは喜ばしいことです。



コードの再利用はそのような場合です。 コードはすでにテストされており、すべてのバグは既知であるため、車輪を再発明することは意味がありません。 しかし、もちろん、技術進歩の利益のために時間と怠inessを節約することは、最後の瞬間のためにすべてを脇に置くこととまったく同じではありません。 従業員の進捗状況を監視し、測定値を把握し、期限を忘れないようにすることが重要です。



他の職業と同様に、生来の才能は習熟の達成に役立ちます。 これは、順番に、すべての人が絶え間ない練習によって開発する必要があります。 しかし、忍耐力、経験、チームワークスキル、ビジネスへの愛情がなければ、成功の頂点に達することはまずありません。



トピックに関するいくつかの有用な資料:






All Articles