10倍速の開発者は、現代の神話的な生き物です。
10倍とはどういう意味なのでしょうか。 10倍開発者とは、他の10人と同等の生産性を持つ(と思われる)人物のことである。 したがって、彼/彼女は同僚の 10 倍の成果を生み出すことができる。
もちろん、シニア エンジニアはインターンの 10 倍の生産性があるかもしれませんが、同じ経験年数で、少なくとも書類上では同じレベルのスキルを持つ同僚の間で、本当にそれが可能なのでしょうか。 (
パレートの法則とは、富の分配や世界的な不公平から時間管理や生産性まで、ほとんどすべてのことに有効な、有名な 80 対 20 の法則のことです。 これは、残りの20%、つまりトップパフォーマーは、すべてのタスクの80%を完了することができるということを意味する。
従業員の能力の分布を表すのにベル曲線がよく使われるが、これは従業員の約80%が平均付近に位置し、残りはトップパフォーマーかバッドパフォーマーのどちらかであることを述べたものである。
これらのグラフや数字をどう見たとしても、チームの中でベストパフォーマーとワーストパフォーマーの差は大きいでしょう。 もしかしたら、私たちが10倍の開発について話すとき、ちょうどそれを参照しているのでしょうか? あるいは、他のデブの平均値に対する差だけを考えるべきなのでしょうか。 そのようなことが統計的に可能かどうかは別として、ある開発者が他の開発者よりもはるかに高いパフォーマンスを発揮していることを否定することはできないでしょう。
では、このすばらしさはどこから来るのでしょうか?
それは長年の経験によるものでしょうか? そうではありません。
10年の経験というのは、単に1年の経験を10回繰り返したということかもしれない。
もしあなたが、毎日、毎年、同じタスクをして同じ仕事に留まっていて、ステップアップして新しいことを学びたいという衝動を感じないなら、履歴書に 3 年しか書いていない普通の開発者が、あなたよりも速く、(最新のかっこいい技術スタックについてだけではなく)もっと知っていると驚かれるかもしれませんね。 そうではありません。
10倍速の開発者は、長い時間をかけて研磨しているわけではありません。 より長く働くという意味ではない。 私は 10 倍開発者には程遠いですが、私のキャリアの中で、少なくとも 2 人の素晴らしい人物に会い、一緒に仕事をする機会に恵まれました。
効果的であることは正しいことをすることであり、効率的であることは正しいことをすることです。
さて、10 倍開発者は通常その両方を行います。 彼らは、最も完璧な方法で不必要なことを行って時間を無駄にすることはありません。 これは次のようにして達成できます:
Ask Questions
Why
時には、悪い要件、不明瞭な仕様、間違った仮定により、開発時間を何時間も浪費してしまうことがあります。 見積もりをやり直したり、手直しをしなければならないだけでなく、せっかく作成した素晴らしいコードをすべて捨てなければならないのは、非常にフラストレーションがたまるものです。 あなたはすべてを知っているわけではありませんし、あなたが学ぶことに熱心であることを示すのは良いことです。
集中する、気が散らないようにする
YouTubeを見たり、携帯電話をチェックしたり、WhatsAppやSnapchatで友人に返信したり、Facebookの壁をスクロールしたりするのに、実際どれだけの時間を費やしているでしょうか。 (このようなアプリで証明できます)
必ずしもすべてをやめる必要はないのです。 そして、ポモドーロ・テクニックのようなツールを使って、ソーシャルネットワークやスマートフォンから離れ、少なくともポモドーロタイマーの時間中は、フローを維持することができます。 (もちろん、Facebookをチェックするよりも、立ち上がり、散歩したり、同僚とおしゃべりしたり、10分間キッカーや卓球をしたりしたほうがいいのですが。
少しの間、休憩を取ったり、サボったりすることは、実際に生産性を高めます。
grep version package.json
を実行することは、Finder で package.json をクリックして開き、バージョン パラメータを読み込むよりもはるかに速いです。
Typinggit stash git pull git checkout -b my_new_feature git stash pop
Enter fullscreen mode Exit fullscreen modeは同じことを視覚ツールで行うよりはるかに速いです。
単に秒数を短縮しているだけだと思うかもしれませんが、10 倍の開発者になるためには 1 秒 1 秒が重要です (そして、手根管症候群を防ぐには、マウスから離れることが重要です)。
Be eager to learn
世の中にあふれる情報量は非常に多いのです。 時にはお金を払わなければならないこともありますが、ほとんどの場合は無料です。 自己啓発に時間を費やさない言い訳はありません。 記事を読んだり、ポッドキャストを聞いたり、チュートリアルを見たり、オンラインコースに従ったりしてください。 そうでなければ、10倍速の開発者は一日中「仕事」をしていると言えるかもしれません(たとえば、「Getting Smarter Every Day」と「You are not so smart」は、とても心をくすぐります)。
それは態度や心の持ちようです。好奇心や知識欲が平均との違いを生みます。トップパフォーマーに囲まれる/メンターを見つける
チームで最も速く、賢く、熟練の開発者になることは、自分のエゴにはいいかもしれませんが、自分の成長にはつながりません。 快適で充実しているかもしれませんが、決してその部屋で一番賢い人にならないようにし、常に自分より優れた人を探し、その人と一緒に行動するようにしましょう。
恩返しをする。
何かを学んだらすぐに、他の誰かを助け、他の同僚に教え、自分の学びを共有しようとする。
それは、毎日の立ち上げ後にアドバイスをしたり、チームに対して短いプレゼンテーションをしたり、ブログ記事を書いたり、オンラインコーディングプラットフォームのメンターになったりすることでもよいでしょう。これらすべてを考慮すると、もちろん非常に優れた開発者は強固なプログラミング スキルを持っていますが、本当に違いを生み出せるのは、情熱、態度、そしていくつかのソフトスキルです。
私が畏敬の念を抱き、自分を向上させるために最も刺激を受けた同僚は、高いモチベーションとスキルを持ち、もちろん仕事も非常に速かったです。 その上、他のチームメンバーにとって有益なことを見つけたり学んだりすると、すぐにドキュメントを書き、ワークショップやミニプレゼンテーションを企画しました。 彼らは、共有することが大好きなのです。そして結局のところ、これこそが真の増殖因子なのだと私は信じています。 知識を共有し、成長を促し、情熱と勤勉さの見本となることで、他の人々に信じられないほどポジティブな影響を与え、チームのパフォーマンスの水準を上げることができるのです (たとえ「平均的な」開発者で構成されていたとしてもです)。