有能なプログラマーになるための 3 つのこと
この記事は、経験豊かな上級プログラマーが自身のプログラマーとしての経験を活かして、開発効率の高いプログラマーが何をすべきかを解説する、プログラミング開発に関する洞察です。
私たちの多くは、特定の目的を念頭に置いてプログラミングを始めます。たとえば、私がプログラミングを始めたときは、睡眠中や学校にいる間、MUD ゲームのテキスト版を自動的にプレイできるようにするためでした。私は 13 歳の子供で脚本を書いていましたが、プログラミングが何なのかさえ知りませんでした。アイデアを思いつき、コードを書いてテストすることも、すべて自分で行うかもしれません。
他の人のためにソフトウェアを開発するとき、私たちは自分の欲望を追求するのと同じ種類の動機や興奮が欠けていることが多いため、困難になります。私たちは自分自身のアイデアを持つ代わりに、それらのアイデアを理解するために会議に何時間も費やし、その後、他の人のコードを修正したり、自分のコードを提出したりすることにほとんどの時間を費やします。これにより、一定レベルの切断が生じ、生産性が低下します。
10 倍効率的な開発者になるには、この環境で優れた能力を発揮する方法を学び、さらには自分の会社を立ち上げて取り組みを主導する必要があります。
少なくとも毎日のある時点では、誰でも 10 倍生産性の高い開発者になれる可能性があります。生産性とチームワークを向上させるために、すべての開発者が注力すべきことが 3 つあると私は考えています。
3 つのこと
10 倍効率的な開発者になるには、プログラミング言語やツールセットに関係なく、数年の実務経験が必要です。問題を解決し、コードを書くことが得意でなければなりません。
コードの書き方によって、10 倍有能な開発者、10 倍有能なエンジニア、10 倍有能なプログラマ、またはその他の呼び名で呼ばれるようになるわけではないことを理解することが重要です。
「誰が、何を、どこで、なぜ、いつ」という 5 つの W をご存知でしょう。これらはすべてソフトウェア開発に当てはまりますが、10 倍効率的な開発者を定義する 3 つの特性に焦点を当てたいと思います。これら 3 つの項目は、平均的な開発者と 10 倍生産性の高い開発者を分けます:
何を
なぜ
いつ
何をすべきかを知っている
企業の世界では、開発者は多くの場合、あまり興味のないプロジェクトに取り組み、わからない。適切な指示を受け、出力が明確に定義されている限り、これはほとんどの開発者にとって大きな問題ではありません。
問題は、開発者が十分な指示を得られないことが多いことです。代わりに、「アジャイル開発」と呼ばれるものを使用します。私たちはいくつかの言葉が書かれたメモを受け取り、何をする必要があるかを正確に知ることが期待されています。
ソフトウェア開発はコミュニケーションがすべてです。開発者は、私たちが何をしているのか、どのような問題を解決しようとしているのか、そして正確に望ましい結果は何なのかを知る必要があります。知れば知るほど、より早く実行できるようになります。最も重要なことは、仕事の目的とそれを成功に導くものを知ることが重要です。
悪い開発者は、何の質問もせずに間違った方向のプロジェクトに何時間も費やします。彼らは何も達成せず、同僚全員の時間を無駄にするため、私はネガティブ 10 倍開発者と呼んでいます。ほとんどの人がこのような開発者に遭遇したことがあり、彼らと作業するのはイライラすることがあるかもしれません。彼らの習慣に陥らないように注意する必要があります
一部の開発者は、詳細をあまり知らなくてもうまく機能します。彼らは創造性が豊かで、適切な質問をします。これらのユニコーンは、10 倍効率的な開発者である可能性があります。彼らは問題の解決方法を知っており、多くの場合チーム全体を高めます。
最も重要なことは、有能な 10 倍の開発者は、何をする必要があるのか、何を質問すべきかを迅速に特定することに非常に優れているということです。
理由を理解する
おそらく、ソフトウェア開発における最大の障害は、その理由を理解することです。解決しようとしている問題を理解していなければ、解決することは困難です。
寝ている間や学校に行っている間に MUD ゲームをプレイするためにいくつかの端末スクリプトをまとめるのはなぜですか?もちろん、ゲームの最高レベルに到達したいと思っています。私はその理由を正確に知っており、目標を達成するために全力を尽くしています。
同じアプローチがどのソフトウェア開発プロジェクトにも当てはまります。開発者が属する垂直産業と、解決しようとしている問題を理解することで、開発者の効率が向上します。その理由を知り、業界を理解することは、不必要な作業を防ぎ、製品や機能をユーザーにとってより価値のあるものにすることに集中する時間を確保するのにも役立ちます。
問題は、なぜ十分ではないのかを知ることです。真の 10x 開発者になるには、問題に対して情熱を持ち、徹底的に理解する必要があります。有能な 10 倍の開発者のほとんどは、優れた製品ビジョンを持ち、根っからの製品担当者でもあると私は信じています。
いつ何をすべきかを知っておく
ソフトウェア開発プロジェクトでは時間は非常に重要です。プロジェクトのタスクに取り組む順序を決定するのは簡単そうに思えますが、これは非常に重要です。あなたの仕事は、会社が新しい顧客を獲得したり、古い技術的負債を解消したりするのに役立ちますか?
開発チームとして、私たちはいつ何をするかを常に選択する必要があります。
すべてのソフトウェア開発作業プロジェクトは、次の 3 つのカテゴリに分類されます:
やらなければならないこと
やらなければならないこと
やりたいこと
私たちは顧客のために新しい機能を完成させなければなりません。ソフトウェアのバグを修正する必要があります。技術的負債を軽減するか、優れた新製品機能を開発したいと考えています。これらはすべて、バランスのとれたトレードオフを必要とします。
私たちは、3つの次元すべてで同時に作業プロジェクトを実行する必要があります。技術的負債にすべての時間を費やすことはできませんが、時間のほんの一部を技術的負債に費やす必要があるかもしれません。
開発者は、コードに複雑なアーキテクチャをいつ組み込むべきかを知っておく必要もあります。私はコードをできるだけシンプルに保ち、スキーマを追加せずに死ぬ時が来るまでスキーマを追加しません。
開発者は、流行のものを追い求めないようにする時期も知っておく必要があります。彼らは新しいツールやテクニックを使用する傾向がありますが、それらはプロジェクトをより早く完了させるのではなく、単に遅らせるだけかもしれません。
10 倍効率的な開発者は、何かを達成するためにスパゲッティのような混乱したコードを使用するのではなく、優先順位を付け、アーキテクチャに時間を投資するタイミングを理解するのが上手です。覚えておいてください、ユーザーはソフトウェアがどのように動作するか、アーキテクチャがどれほど豪華であるかなど気にしていません。彼らは問題を解決したいだけなのです。生産性 10 倍の開発者はこれを理解しています。
効果 10 倍の開発者になるために、「何を」「なぜ」「いつ」をマスターしましょう
それでは、効果が 10 倍の開発者になるための重要なスキルについて話しましょう。「何を (What)、なぜ (Why)、いつ (When)」をマスターします。
「なぜ」から始めましょう
10 倍効率的な開発者になるための最初のステップは、解決したいソフトウェアと問題に情熱を注ぐことです。内側も外側も完全に理解する必要があります。これは、自分が働いている会社とその使命に対して情熱を持つことから始まります。
誰かに言われたからといってボタンを 1 つだけ書くのはやめてください。より高いレベルでその理由を理解してください。 「なぜ」に焦点を当て続ければ、チームや会社にとってあなたはさらに価値のある存在になるでしょう。
最高のプログラマーではなく、優れた開発者であり、優れた問題解決者になりましょう
私は自分自身をハッカー開発者と表現します。私は、醜いコードをすぐにまとめて、ほとんどすべての問題を解決できるタイプの人間です。私のコードはめったに美しくありませんが、問題は解決します。これが最も重要です。
10 倍効率的な開発者になるために、完璧なコードや単体テストを書く必要はありません。これらのことをいつ行うべきか、いつ行ってはいけないかを知る必要があります。
10 倍効率的な開発者は、コードを通じて特定の問題を解決し、ビジネス ニーズを満たすことに熟達しています。あなたができる最も賢明な方法は、プロジェクトを他の人 (アーキテクチャやその他の詳細を最終決定するのが得意な人) に引き渡す前に、どこまで進むかを知ることです。
それが心の中にあるかどうか
何かを組み立てるのではなく、いつ複雑な建築を構築するかを知るには、経験とスパイダーマンの感覚が必要です。あなたはそう感じているか、単に知らないかのどちらかです。
私がこれまで一緒に仕事をした中で最も賢い開発者の中には、機能やスケジュールよりもパターンやアーキテクチャを優先するのが下手な人もいました。彼らは常に過剰実装やリファクタリングを何度も繰り返し、「納品可能なコード」ではなく「完璧なコード」を目指します。
10 倍効率的な開発者は、経験と直感を活用して、いつアーキテクチャと完成度に集中すべきか、いつ作業を完了すべきかを判断する必要があります。
何をすべきか、何を尋ねるべきかを知る
ソフトウェア開発の多くはコミュニケーション スキルに帰着します。残念ながら、私たちが取り組まなければならないプロジェクトに関する注意事項や要件の多くは、あまり詳細ではありません。 10 倍有能な開発者は、これらを読み取り、ビジネスの「理由」について知っていることを適用し、関連する質問をする方法を知っています。
優秀な開発者は、助けを求める前に、何かにどれくらいの時間を費やすべきかを知っています。また、プロジェクトを進めるための要件を明確にするためにどのような質問をすればよいかも知っています。
結論
私は 15 年以上コードを書いてきました。私は 10 倍効率的な開発者であると言えるか、少なくともそうできます。私は自分が何が得意かを知っており、得意なことをやれば、多くのことをすぐに成し遂げることができます。
新製品のプロトタイプを作りたいなら、私があなたの担当です。 Angular、React、またはその他のフロントエンドに関するサポートが必要な場合、私は決してあなたの味方ではありません。これらのタスクに関しては、私はマイナス 10 倍効率的な開発者になるでしょう。
開発者の効率が 10 倍というのは神話ではありません。それらは確かに存在します。彼らはおそらく、開発マネージャー、アーキテクト、主任開発者、または会社の創設者です。そうでない場合は、移行する必要があります。その後、私は会社の創設者になりました、今までに 2 回。
もちろん、毎日のあらゆる瞬間に 10 倍効率的な開発者になることは誰にもできません。私たちには毎日このペースで仕事をするエネルギーも集中力もありません。私たちはロボットではありません。
ソフトウェア開発の「何を、なぜ、いつ」を理解すれば、より効率的で優れたチームメンバーになれる - たとえ 1 日数時間でも 10 倍効率的な開発者になれる。これは大きな違いを生みます。
上記は彼が共有した内容です。皆さんのお役に立てれば幸いです。
関連する推奨事項:

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Windows 11 22H2 の新しいタスク マネージャーは、パワー ユーザーにとって有益です。実行中のプロセス、タスク、サービス、ハードウェア コンポーネントを監視するための追加データにより、より優れた UI エクスペリエンスが提供されるようになりました。新しいタスク マネージャーを使用している場合は、新しい生産性モードに気づいたかもしれません。それは何ですか? Windows 11 システムのパフォーマンスの向上に役立ちますか?確認してみましょう! Windows 11 の生産性モードとは何ですか?生産性モードはタスク マネージャーのタスクの 1 つです

DeepMind の AI エージェントが再び稼働します。注目してください、BBF という名前のこの男は、わずか 2 時間で 26 個の Atari ゲームをマスターしました。彼の効率は人間と同等であり、すべての先任者を上回っています。ご存知のとおり、AI エージェントは強化学習を通じて問題を解決するのに常に効果的ですが、最大の問題は、この方法が非常に非効率で、探索に長い時間がかかることです。画像 BBF によってもたらされた画期的な進歩は、効率の点にあります。フルネームが Bigger、Better、Faster と呼ばれるのも不思議ではありません。さらに、トレーニングは 1 枚のカードだけで完了でき、必要な計算能力も大幅に削減されます。 BBF は Google DeepMind とモントリオール大学によって共同提案され、データとコードは現在オープンソースです。到達可能な最高の人間

PyCharm は、コードの作成、デバッグ、プロジェクト管理のために Python 開発者によって広く使用されている強力な Python 統合開発環境 (IDE) です。実際の開発プロセスでは、ほとんどの開発者は、開発効率を向上させる方法、チームメンバーと開発にどのように協力するかなど、さまざまな問題に直面します。この記事では、開発者がリモート開発で PyCharm をより効果的に使用し、作業効率を向上させるのに役立つ、PyCharm のリモート開発の実践的なガイドを紹介します。 1. PyChでの準備作業

StableDiffusion はオープンソースの深層学習モデルで、主な機能はテキスト記述を通じて高品質な画像を生成することであり、グラフ生成、モデルの結合、モデルのトレーニングなどの機能をサポートしています。このモデルの操作インターフェイスは次の図に示されています。画像の生成方法. 以下は、水を飲む鹿の画像を作成するプロセスの紹介です. 画像を生成する際には、プロンプトワードとネガティブプロンプトワードに分けられます. プロンプトワードを入力する際には、それを説明する必要があります希望するシーン、オブジェクト、スタイル、色を明確に説明してください。たとえば、単に「鹿が水を飲む」と言うのではなく、「小川があり、鬱蒼とした木の隣にあり、その小川の隣に鹿が水を飲んでいます」と言うと、否定的なプロンプトの言葉が逆の方向になります。例:建物も人も橋も柵もありません。また、説明が曖昧すぎると不正確な結果が生じる可能性があります。

Edge などの Chromium ベースのブラウザーは多くのリソースを使用しますが、Microsoft Edge で効率モードを有効にしてパフォーマンスを向上させることができます。 Microsoft Edge Web ブラウザーは、そのささやかな始まりから長い道のりを歩んできました。最近、Microsoft は、PC 上のブラウザの全体的なパフォーマンスを向上させるように設計された新しい効率モードをブラウザに追加しました。効率モードは、バッテリー寿命を延ばし、システム リソースの使用量を削減します。たとえば、Google Chrome や Microsoft Edge など、Chromium で構築されたブラウザは、RAM と CPU サイクルを大量に消費することで有名です。したがって、順番に

タイトル: Python は生活をより便利にします: この言語をマスターして仕事の効率と生活の質を向上させましょう 強力で学びやすいプログラミング言語として、Python は今日のデジタル時代にますます人気が高まっています。 Python は、プログラムを作成したりデータ分析を実行したりするためだけでなく、私たちの日常生活でも大きな役割を果たします。この言語をマスターすると、仕事の効率が向上するだけでなく、生活の質も向上します。この記事では、具体的なコード例を使用して、日常生活における Python の幅広い応用例を示し、読者の役に立つようにします。

インターネットの急速な発展に伴い、データベースの重要性がますます高まっています。私たちは Java 開発者としてデータベース操作に関わることが多く、データベース トランザクション処理の効率はシステム全体のパフォーマンスと安定性に直接関係します。この記事では、データベースのトランザクション処理効率を最適化し、開発者がシステムのパフォーマンスと応答速度を向上させるために Java 開発で一般的に使用されるいくつかのテクニックを紹介します。バッチ挿入/更新操作 通常、データベースに 1 つのレコードを一度に挿入または更新する効率は、バッチ操作の効率よりも大幅に低くなります。したがって、一括挿入/更新を実行する場合、

サブネット マスクの役割とネットワーク通信効率への影響 はじめに: インターネットの普及により、ネットワーク通信は現代社会に不可欠な部分となっています。同時に、ネットワーク通信の効率化も注目されています。ネットワークの構築と管理のプロセスにおいて、サブネット マスクは重要かつ基本的な構成オプションであり、ネットワーク通信において重要な役割を果たします。この記事では、サブネットマスクの役割とネットワーク通信効率への影響について紹介します。 1. サブネットマスクの定義と機能 サブネットマスク(subnetmask)