プログラマーの仕事を評価するには? Yandexの従業員の意見

プログラマの仕事とは何か-工芸、スキル、または芸術-については長い間議論がありました。 同時に、結果を評価するという問題が絶えず発生します。 この投稿では、Yandexのさまざまな開発者や幹部がプログラマーの仕事を評価する問題にどのように取り組んでいるかについて説明します。







何百人ものプログラマーがYandexで働いており、彼らの仕事の結果は何百万人もの人々が使用するサービスに影響を与えます。 あなたがそのような責任を負っているとき、あなたは、あなたが最も強く、これらのあなたのスキルがどこで役立つか、より良くできることを止めて評価することができる必要があります。 これを行うには、自分の仕事と一緒に何かを作成する人の仕事の両方を評価できる必要があります。 これを行う方法については、同僚に尋ねました。



アンドレイスタイスキンスティスキン

Yandexです。8歳。



マーケット検索グループのJava開発者としてYandexに来ました。 彼は、商品テキストの分類と商品説明からの事実の抽出に従事していました。 こうして、彼の検索と機械学習への情熱が始まりました。 仕事以外では、AndreiはさまざまなIRおもちゃを作成しました。言語モデルの詩生成プログラム、ソーシャルネットワークをポンピングするロボットです。 Andreiは現在、ランキング部門を運営しており、約200人のチームを雇用しています。



画像



実際、2つの重要な特徴があります。 第一に、プログラマーが行うことはどれだけ美的に正しいかです。つまり、自分のコードがどれほど美しいか、他の人に知覚されます。 2つ目は、1つ目と競合する可能性がありますが、非常に重要ですが、コードでいくつかのメトリックを使用して結果を達成する方法をどれだけ知っているかです。 たとえば、検索品質。




アントンPG83サモクバロフ

Yandexです。9歳。



私はC ++プログラマーとしてマーケットに来ました。 さまざまなサービスタスクに取り組んだ。 数年後、検索に移り、ランタイム検索の信頼性とパフォーマンスに携わりました。 現在、彼は大規模な分散クラスター上でコードベース全体を数分でアセンブルできるビルドシステムに取り組んでいます。



画像



最も正しい方法は、同僚があなたを評価するときだと私には思えます。 これは、インターネット上の良いページまたは悪いページを評価する方法です。 人々が彼女のところに来たら、彼女はいい人です。そうでなければ悪い人です。 ページランクと呼ばれるもの。 また、人々はお互いを大切にすることができます。 あなたの周りの人々のほとんどがあなたが良いプログラマであると思うなら、あなたは良いプログラマです。 そう思わないなら、そうではありません。





アンドレイ・ファインダープラホフ

Yandexです。6歳。



彼は上級開発者としてYandexに来ました。 彼の最初の仕事は、新しいタイプのランキング要素であるドメインを作成することでした。 現在、彼は検索機能サービスを管理しています-特に、彼は検索ヒントを開発しています。



画像



そして、アーティストの作品をどのように評価するのですか? ある意味では、これらは非常によく似た質問です。 初心者アーティストとプロのアーティストの2つのステップがあります。 当然のことながら、初心者を評価する方法。 プロのアーティストを互いにランク付けすることははるかに困難です。 いくつかのフレーバーがすでに開始されているため、基準の言語化が不十分になる場合があります。 しかし、それにもかかわらず、突然トップのアーティストがほぼ同じことを想像していることが判明しました。 盲目のテストで偉大な芸術家の写真と彼の生徒の絵を見せても、人々はより頻繁にマスターの絵を選ぶでしょう。 プログラマーにとっては、言語化することも難しいようですが、それにもかかわらず、内部階層は常に構築されます。




ステパンステパンチェグリング

Yandexです。8歳。



検索監視チームリーダー。 去ったがその後戻ってきたYandexの従業員のストーパ。 だけでなく、YandexでRus tを宣伝する人の1人。



画像



どんな人の仕事も結果に従って評価されなければなりません。 人が自分に割り当てられたタスクを解決した場合、彼はよくやった;解決していない場合、彼はよくやった。 しかし、さまざまなタスクがあります。 何とかすべてを行うことができるものがあります-それだけが機能する場合。 それから、誰がどのように曲がり、それが行われるかを気にしません。 そして、非常に長く生きるプロジェクトがあります。 そして、その人が他の人にそれを渡すことができるように、その人が高品質のコードのままでいることが非常に重要です。




アレクサンドル・サドフスキー・サドフスキー

Yandexです。11歳。



検索関連のプロジェクトに取り組むためにYandexに来ました。 彼のリーダーシップの下で、 ブログの検索Yandex.XMLが作成され新しいランキングアルゴリズムロボットが起動されて、新しい情報のインデックスがすばやく作成され、評価者のサービスが作成され、検索品質の測定が開始されました。 Sashaは、インターネット上の検索エンジンアルゴリズムとWebサイトプロモーションに関する科学および人気メディアの多くの出版物の著者です。







これは非常に興味深い質問です。プログラマは、一方では知的労働の一種の職業であり、他方では、時には工芸品になっているからです。 あるプログラマーから別のプログラマーに知識を簡単に移すことができる拡張可能なプログラミング要素があります。 そして、ここでさまざまな方法で評価する必要があります。 プログラミングが工芸に変わり、自動化されたプロセスによって多かれ少なかれ理解されるようになった場合、物理的な作業、標準、生産などの概念を導入できます。 このジャンルの古典は、何百もの多かれ少なかれ同じ企業サイトの作成です。 知的部分では、タスクの複雑さを評価する必要があります。 ほとんどの場合、これはプログラマー自身、同僚、作業の本質を理解している人と話すことで実現できます。 そして、この場合の評価の決定は、常識に基づいて非常に複雑です。 機械的に摂取することはできません。 そして、幸いなことに、私たちはこのよりインテリジェントなタイプの仕事をたくさん持っているので、Yandexでの仕事が面白いのです。




ミハイル・パラキン

Yandexで-1年。



MEPhIを卒業後、CJSC STC「モジュール」で働き始めました。 90年代には、モスクワで自動学習システムを学んだ場所はほぼ唯一でした。 それから彼は、実際に手書きおよび印刷テキスト認識の分野で独占者であるパラスクリプトに行きました。 長年、彼はアメリカで働いていました。 過去7年間、Microsoftで5人がBingのマルチメディア検索サービス部門を率いていました。 春に、彼は検索技術のディレクターとしてYandexに来ました。



画像



これは難しい質問であり、その答えを誰も知らないと思います。 しかし、私たちが今思いついた最高のことは、人々と一緒にたくさん働いている人々に尋ねることです。 通常、彼のコードを読んでコミュニケーションを取り、彼がどのように機能するかを見て、誰が良いプログラマで、誰が悪いプログラマであるかについてかなり良い考えを持っている彼の周りの人々。 現在作成しているレビューシステムでは、そのような人々の世論調査に重点が置かれています。 しかし、客観的に評価するためには、もちろん多くの方法と試みがありますが、実際にそれを正確に行う方法はわかりません。




ミハイル・レビン

Yandexで-5年。



活動の非常に大きな部分は、アカデミックプログラムで働いています。 彼はデータ分析学部で教え、HSEおよびYandexのコンピューターサイエンス学部でのトレーニングプログラムの作成に参加しています。 モスクワ州立大学のチームの一員として、ACM ICPCで2回メダルを獲得しました。 M.V. ロモノソフ。



画像



結果によって従業員の仕事を評価します。 その結果、ビジネスにおいても、彼の仕事がビジネスに直接影響を与えない場合でも、ツール、インフラストラクチャ、同僚との関係を含むいくつかの内部的なものの作成において。 これはまったく複雑です。 この意味でのプログラマーは、他の皆と何の違いもありません。 おそらく唯一の違いは、当社では、多くのIT企業で、製品を作成するのが彼らであることです。 したがって、彼らの仕事は製品の良さ、成功の度合いによって判断できます。 もちろん、この責任を共有するのは彼らだけではありません。 製品で何をするかを決める人がいます。 彼らはどのように責任があります。 もちろん、優れたプログラマーは質問をします。なぜこれを行うのか、天井から単純に提示されるタスクを拒否するのか




アンドレイ・ミシュチェンコ

Yandexです。10歳。



彼は、C ++開発者としてYandexに来ました。長い間、Blog Searchの開発の責任者であり、Perlで書いていました。 アンドレイは、物理科学および数理科学の候補です。 現在、検索エンジンの学習アルゴリズムの改善に取り組んでいます。



画像



各レベルには独自の要件があります。 プログラマーがインターンである場合、彼は主に目がどのように燃えるか、これをすべて学びたいか、退屈しないように自分を強制する方法をどのように知っているか、彼に興味があるタスクを見つけることによって評価する必要があります。 人がすでに成長し始めているときは、もちろん、彼がどれだけの利益を得ているか、タスクをどれだけ速くするか、どれだけ高品質のソリューションであり、後でやり直す必要がないことがより重要です。 さらに上に行って建築家について話すと、当然のことながら、彼の作品はすぐに何かを構成したからではなく、1年でこのアーキテクチャにどれだけの変更を加えなければならなかったのか、そしてそれがどれだけ将来を見据えているのかによって評価する必要があります。




セルゲイsvvバビノフ

Yandexです。6歳。



彼はYandex.Videoの開発者としてYandexに来ました。 彼は音楽の発展の主役であり、メディアサービスのサービスでもありました。 Yandex.Diskのプロジェクトをいくつか作成しました。 今-ビッグデータ技術グループの責任者。 Sergeyが取り組んでいるタスクの1つは、CERNのYandexプロジェクトです。



画像



いくつかの要因があります。 もちろん、簡単な答えは結果で評価することです。 人は問題を解決するために、または解決しないために多くの時間を費やしました。 しかし、これは一方的な側面にすぎません。 彼が書いたコードはサポートされる必要があります。 特定の標準を維持し、レビューを受け、開発の実施方法について統一されたルールがあり、同僚が互いにテストし、プロジェクトでの長期的な作業に適しているかどうかでコードを評価する必要があります。




グリゴリー・ボブク・バクノフ

Yandexです。10歳。



かつてシステム管理者として働き始め、現在はテクノロジーディストリビューションのディレクターをしています。



画像



これは難しい質問です。 結果だと思います。 実際、すべてのプログラマーにはタスクがあります。 そして、興味深い実験を行うことがタスクであるようなプログラマーがいます。 そして、その結果を研究する以外の評価を行いません。 しかし、ある種の製品を作成することがタスクであるプログラマーがいます。 そして、それがどのように適切に機能するかを見ることができます。



しかし、プログラマの仕事を評価するのがいかに悪いかについて話すのは正しいように思えます。 プログラマーの仕事を評価する私には、詳細に潜入するのは明らかに間違っています。 たとえば、プログラマはすべてをうまくやったが、テスターは追跡しなかったと言ってください。 または、プログラマーがすべてをうまくやったのに、システム管理者はそれを間違えました。 私の周りの人のすべてを非難するこの方法は、ひどく迷惑です。 それどころか、すべての点で、あなたは自分の管理下にあるすべてのものを取るために、できる限りきつくしようとする必要があるように思えます。 そしてこの状況では、プログラマーの仕事は、彼が携わっている製品の質の高さによって判断されるべきであることは明らかであるように思えます。 彼がこの時計で小さな歯車を作ったとしても、この時計がどれだけ正確に機能するかを評価する必要があります。



All Articles