あなたの会社には知識の義務があります

会社の生産性を高めるツールや技術の経験が十分でない場合、「知識の負債」が発生します。



同時に、企業自体はしばしば知識の負債の問題を増加させるような方法で働いています。 このかなり典型的なジョブの例を見てください:

Initechは、チームに参加する準備ができている経験豊富な開発者を探しています。



タスク

-バックエンドシステムとコンポーネントの開発

-さまざまなシステムリソースの効率、スケーラビリティ、および安定性の分析と改善



必要条件

-コンピュータサイエンスまたは関連分野の修士号

-Javaで2年以上の経験

-リレーショナルデータベースとMySQLのクエリ最適化のエキスパート



ほとんどの場合、この会社はほとんどの製品にJavaを使用し、バックエンドにMySQLを使用しています。 当然のことながら、同社は同じスキルを持ち、すぐにプロジェクトに参加して仕事を始めることができる人を雇いたいと考えています。



しかし、このアプローチには根本的な欠陥があります。 会社は、特定の知識を持っているのではなく、問題やプログラムを解決でき、チームに適合する人材を雇うべきです。



他のすべての条件が同じであれば、会社はさまざまなテクノロジーの経験がある候補者を優先する必要があります 。 本当に賢いプログラマなら誰でも、既存のコードベースで作業するために必要な適切なテクノロジーを選択できます。 さまざまなスキルと知識を持つ人材を雇用することで、問題を解決するための新しいテクノロジーをすぐに体験できます。



知識債務認識



新しい言語、データベース、ツール、または技術が発明されるたびに、企業は知識の負債を蓄積します。 企業だけが積極的に対処しようとしない場合、「快適」であるすべての同じ古いツールとテクノロジーを引き続き使用し、遅れを取り始め、その結果、今日エンタープライズJavaを使用している企業のようになります。 。



技術的負債が手作業の形での利子の支払いとサポートのコストを伴うように、知識の負債もより少ない生産性を支払わなければなりません。



しかし、あなたはそれを戦う前に知識の負債を認識しなければなりません。 とにかく仕事をしなければならなかったすべての会社、特に大企業。 通常、人々がさまざまな方法でさまざまなツールを使用して問題を解決するために、快適ゾーンから抜け出すことは困難です。



実験することで知識の負債と戦う



あなたは知識の負債と戦うために永続的な努力をし始めなければなりません、そうでなければあなたは遅れをとることが保証されます。 そして、それに対処する1つの方法は、短期的に生産性を犠牲にし、将来の生産性を向上させることを期待して、さまざまなテクノロジーを実験することです。



多くのレガシーコードがある大規模なシステムでは、実験が難しい場合があります。 小規模で、かなり独立したプロジェクトが実験の最適な候補になります。



たとえば、最初にClojureを試して、分散ファイルシステムでレコードを収集するThriftサービスを実装しました。 このプロジェクトはコードベースの残りの部分から独立していたため、Clojureを試してみるのに最適です。 このプロジェクトはClojureについて多くのことを教えてくれ、最終的には会社にとって大きな成功になりました。



独自の生産性のために使用するツールは、実験に最適な候補の一部です。 NetbeansEmacsなどの新しいコードエディターをお試しください。 バージョン管理のためにSubversionに慣れている場合は、新しいプロジェクトまたはオープンソースプロジェクトにGitを試してください。



最終的には、あなたの会社は実験文化を発展させ、人々が快適なゾーンから抜け出すことを奨励すべきです。



同時に、実験を通じて知識の負債を完済することにより、 技術的な負債を増やすことができます 。 さまざまなテクノロジーを使用して、インフラストラクチャを多様化し、より複雑にすることができます。 ある時点で、テクノロジーを組み合わせることに決めたときに、支払いが必要になる場合があります。



人を雇って知識の負債と戦う



上で述べたように、知識の負債に対処する別の良い方法は、異なる知識とスキルのセットを持つ人々を雇うことです。 このパスを使用すると、さまざまな技術の長所と短所に関する知識を得ることができますが、これらすべてを経験する必要はありません。



もちろん、ある種の知識を持つ人がいるという事実は、あなたの会社がこの知識を効果的に使用できるという意味ではありません。 社内の他の人にそれを知らせるメカニズムが必要です。 これを行う方法についての単一の答えはありませんが、1つの解決策は、社内で定期的に社内プレゼンテーションを行い、チームの他のメンバーにツールまたはテクニックについて伝えることです。 または、大企業の場合は、人とテクノロジーをリンクする内部データベースがあります。



おわりに



長期的な利点に加えて、知識の負債を低レベルに維持すると、より微妙な利点があります。 優れたプログラマーは、最新のツールやテクノロジーを使用したい場合が多いため、知識の負債が少ないと、一連の人々の助けになります。 知識の借金と闘うことは、問題を見るためのいくつかの異なる方法をも開き、それはあなたが古い技術でさえより効果的になります。 最後の声明の例として、エリック・レイモンドは、Lispについて有名な引用を持っています :「[Lispを学ぶ]は、あなたがLispを積極的に使わない場合でも、あなたの残りの人生であなたをより良いプログラマにするでしょう



だからあなたの快適ゾーンから抜け出し、知識の負債を完済してください。 あなたはそれを後悔しません。



All Articles