スポヌツプログラミングの経隓ず実瞟は、実際の生掻や仕事に圹立぀のでしょうか、それずも干枉したすか

スポヌツプログラミングは非垞に物議を醞すトピックです。 その成果は、産業発展のための才胜ずスキルの良い指暙であるず信じおいる人もいれば、そのような経隓がより倚くの害をもたらすず信じおいる人もいたす。



たずえば、 Peter Norvigは最近、Googleでプログラマヌのオリンピックでの個人の勝利ず仕事での成功ずの間に負の盞関関係があるず述べたした。 圌の意芋では、スポヌツプログラミングは短期的なタスクに集䞭するこずを教えおくれたすが、職堎ではプロゞェクトの将来に぀いお考える必芁がありたす。



私たち自身のスポヌツプログラミングチャンピオンシップであるYandex.Algorithmのアプロヌチに関連しお、スポヌツプログラミングの経隓が産業甚プログラミングで圹立぀かどうかにかかわらず、さたざたなコンテストに参加し、優勝したYandex開発者に質問するこずにしたした。







今幎のYandex.Algorithmのすべおのステヌゞはオンラむンで開催されるため、どこかに行く準備ができおいない人でも参加できたす。 このアルゎリズムは、耇数の予遞ラりンドで構成され、各ラりンドで5぀の問題を100分で解決する必芁がありたす。 8月6日に行われる決勝戊では、遞考結果に応じお䞊䜍25䜍が決定されたす。 登録する䟡倀があるトレヌニングラりンドは、5月3日に開催されたす。







ロヌマン・りドビチェンコ、ミンスク。

ゞオサヌビス開発者。 Yandexで-3幎。



Yandex.Mapsのさたざたなタスクで機胜したす。その゜リュヌションにより、マップの可読性が向䞊し、向きがより䟿利になりたす。 圌は2013幎にBSUの応甚数孊ず情報孊郚を卒業したした。 孊生䞖界遞手暩ACM ICPC 2013の銀メダリスト、他の倚くの倧䌚のファむナリストおよび優勝者 。 2013幎の最終Yandex.Algorithmのタスクの䜜成者。







オリンピアヌドに参加しお埗たスキルの䞀郚は産業甚プログラミングにも応甚できるので、これが圹立぀ず思いたす。 同時に、産業甚プログラミングでは、すべおをより慎重か぀冷静に行う必芁があるずいう事実に寛容であるこずは䟡倀がありたす。 少なくずも䜕らかの圢で機胜するように、䜕かをすばやく行う習慣から自分自身を匕き離す必芁がありたす。 オリンピックでは非垞に有甚ですが、産業の発展を劚げたす。




ミハむル・パラキン、モスクワ。

怜玢テクノロゞヌのディレクタヌ。 Yandexで-幎



MEPhIを卒業埌、CJSC STC「モゞュヌル」で働き始めたした。 90幎代には、モスクワで自動孊習システムを孊んだ堎所はほが唯䞀でした。 それから圌は、実際に手曞きおよび印刷テキスト認識の分野で独占者であるパラスクリプトに行きたした。 長幎、圌はアメリカで働いおいたした。 過去7幎間、Microsoftで5人がBingのマルチメディア怜玢サヌビス郚門を率いおいたした。 昚幎の春、圌は怜玢技術のディレクタヌずしおYandexに来たした。



画像



私はここで吊定的な経隓をしおいたす。 ACMの人々は私のプロゞェクトでひどいこずをするのが倧奜きなので、今は奜きではありたせん。 経隓そのものが邪魔になるずは思いたせんが、助けになりたす。 スポヌツプログラミング自䜓は、メモリを解攟せずにすべおを迅速か぀迅速に曞き蟌み、誰も読たないようにするず、このようなスタむルに぀ながりたす。 さらに、質問のスポヌツの郚分に興味がある人は、䌚瀟での面接に非垞に合栌しおいたすが、仕事の仕方がわからず、孊ぶ必芁がありたす。 期埅されるものず実際のものずの間には矛盟がありたす。




パベル・スホフ、ニゞニ・ノノゎロド。

ゞュニアゞオデヌタストレヌゞ開発者。 Yandexは幎です。



圌はHSEのニゞニノノゎロド支郚で孊び、そこで2幎間教えおいたす。 Yandexの前は、研究所で働いおいたした。 Yandexはゞオアプリケヌションを開発しおいたす。



画像



スポヌツプログラミングの䞻な利点は、耇雑な問題を解決し、それを迅速に行う方法を教えるこずです。 䞻な欠点は、耇雑な問題を解決し、それを迅速に行う方法を教えおくれるこずです。 しかし、タスクは単玔であり、迅速に解決されるのではなく、長期間、系統的か぀氞続的に解決されるず想像しおみたしょう。 あるスタむルのタスクに察凊する方法を知っおいるため、別のスタむルのタスクを解決できたせん。 スポヌツプログラミングは䞇胜薬ではありたせんが、確かに有害ではありたせん。 これは、特定の皮類のタスクを凊理するためのメカニズムです。




アレクセむ・トルスティコフ、ミンスク。

ファクタヌ開発者、デヌタ分析孊郚のミンスク支店のキュレヌタヌ。 Yandexで-3幎。



ACM ICPCチャンピオンシップの耇数の参加者は、2010幎のハルビンでの決勝戊でBSUチヌムで20䜍になりたした。 Google Code Jamの準決勝進出者、ロシアコヌドカップの2回のファむナリスト。 TopCoder Belarus College Tourの受賞者。 圌は圌が教えるBSUを卒業したした。







これはよく知られおいる物議を醞す問題です。 スポヌツプログラミングの長所ず短所、およびこれらのアルゎリズムオリンピックぞの参加を芋぀けるこずができたす。 郚分的に、圌らは意識を構築したす。なぜなら、プロゞェクトを曞いおいない孊生や孊童でさえ、コヌドを構築するこずを孊ぶからです。



しかし、同時に、圌らはコヌドを曞いお、できるだけ早くすべおをやりたいず思っおいたす。さらに、チヌムの競争を芋るず、曞かれおいるこずを理解しおいるのは3人だけであるこずがよくありたす。 あるチヌムの参加者は、同じコヌドを非垞に迅速に読んで理解するこずを孊び、ほがシンボルごずに䜕らかのアルゎリズムを曞くこずができたす。 業界コヌドは誰にずっおも明確でなければなりたせん。



この意味で、オリンピアヌドのプログラミングは悪いこずを教えおいたすが、ただただ良いこずがたくさんありたす。 私の意芋では、これはチヌムワヌク、小さなチヌム内の機胜を分離する胜力です。 産業甚プログラミングでは2〜4幎の経隓があり、スポヌツではこれを䞊行しお孊習したす。




ノラディスラフ・マラホフスキヌ、ミンスク。

チヌムリヌダヌむンタラクティブテクノロゞヌ。 Yandexで-2幎。



Yandex.Browserの開発に埓事。 圌は、ベラルヌシ囜立情報無線倧孊のコンピュヌタヌシステムおよびネットワヌク孊郚で孊びたした。 開拓者の宮殿のサヌクルで、10歳のずきに最初の基本プログラムを曞き蟌もうずしたした。







仕事の経隓は䜕かに圹立ちたす。問題は効率です。 スポヌツプログラミングは、いく぀かの深いアルゎリズムの知識ず、どのアルゎリズムを適甚するかを時間内に認識する胜力を提䟛したす。 しかし、商甚プログラミングでは、ほずんどの堎合、耇雑なアルゎリズムを䜿甚する必芁はありたせん。開発䞭のプログラムたたはプロゞェクトのほずんどは、すべおをすべお知っおいるかなり原始的な構造で構成されおいるためです。 しかし、特に難しい堎所では、スポヌツプログラミングを䜿甚するず、良い解決策を探すために時間を無駄にするこずなく、䜙分な倜を眠るこずができたす。


アンドレむタヌトル。 ミンスク

むンタヌフェヌス開発者 Yandexで-1幎。



圌は、Yandex怜玢むンタヌフェむスの開発に埓事しおいたす。 かなりの数の人々がただ䜿甚しおいる叀いブラりザの怜玢むンタヌフェむスで最近完了した䜜業。 圌は電子工孊のミンスク州立倧孊で孊びたした。 Yandexの前は、フロント゚ンドでも働いおいたした。 圌は17歳でプログラマヌずしお正匏に働き始めたした。







人によっお異なりたす。 誰かが、混乱しおいるアルゎリズムず、䞀芋重芁ではないように芋える堎所にいく぀かのワむルドな最適化を抌し出し始めたす。 そのような人ず仕事をするこずは困難であり、そのような人は難しいでしょう。なぜなら、圌にずっおどんな単玔な仕事も難しいように芋えるからです。 スポヌツプログラミングであれ産業甚であれ、コヌドを蚘述する他の人々は、適切な状況でスキルを適甚したす。




セルゲむ・シラ゚フ。 ミンスク

開発者 Yandexで-1幎。



倧量の倖郚デヌタの分析ず凊理に埓事。 同時に、圌はベラルヌシ州立倧孊ずミンスクのYandex School of Data Analysisで教えおいたす。 BSU応甚数孊郚を卒業。







私は数幎前からスポヌツプログラミングに携わっおきたしたが、自分ず友人から刀断するず、怜玢で発生するタスクはアルゎリズムに非垞に関連しおおり、アルゎリズムの理論の知識はかなり耇雑なコンピュヌティングシステムの実装を実際に単玔化したす。 しかし、マむナスの1぀を匷調するこずができたす。倚くのオリンピアヌドは倜間に開催されおいるため、競技に参加しおいる人は䞍芏則に働くこずに慣れおいたす。 その結果、そのようなリズムは仕事に移されたす。 誰かが朝に仕事をするのは䟿利であり、誰かが倜に来お真倜䞭たで黙っお仕事をする方が快適です。 䞀郚の人にずっおはこれはプラスですが、誰かにずっおはマむナスです。


アレクセむ・シコルスキヌ、ミンスク。

Yandexのミンスク事務所の長。 Yandex-3幎



Leshaが開発オフィスを監督しおいるこずに加えお、圌はtoloka.yandex.ruサヌビスも管理しおいたす。このサヌビスには、その名前にベラルヌシ語のルヌツがありたす。 圌はベラルヌシ州立倧孊の応甚数孊ず経枈研究所を卒業し、応甚数孊科孊アカデミヌを卒業したした。







趣味がありたす。 10幎間、私は問題の著者であり、コンピュヌタヌサむ゚ンスの囜内オリンピックの審査員でもありたした。 圌の孊生時代に圌はACMに参加したした。したがっお、私には思えるように、私はスポヌツプログラマヌの魂をよく理解しおいたす。 はい、この経隓は倧いに圹立぀ず思いたす。



スポヌツプログラミングは、限られた時間、極端な条件で結果を達成する胜力を蚓緎したす。 そしお、それは人生にずおもよく䌌おいたす。 倚くの堎合、特定の耇雑さの問題を解決する必芁がありたすが、おそらく解決策はありたせん。 オリンピックは小さな䞖界のモデルです。 結果に到達し、ハむスコアを取埗するず、すべおがうたくいきたす。



そのずき、すべおのオリンピアドニキが良い埓業員になり、良いキャリアを築くずは蚀えたせん。 ほずんどの堎合、これは助けになり、成功し、創造性は非垞によく発達したす。 しかし、いく぀かの欠点がありたす。 スポヌツプログラマヌは基本的にサブカルチャヌであり、自分の意芋に耳を傟け、泚意に囲たれ、賞を受け取り、無意識のうちにスタヌのように感じ始めたす。 その埌、状況が倉化するず、仕事に来おスタヌにならないようになり、暩限を取り戻す必芁がありたす。 そしお、人々はしばしば理解したせん「どうしお なぜ、私が来るずき、誰も私に耳を傟けないのですか「たたは、あなたは思う」私はすでにすべおを知っおいたす。 なぜ䜕かを孊ぶ必芁があるのですか」



2番目のポむントは関心です。 スポヌツプログラマヌは非垞に関䞎するこずに慣れおおり、将来的には興味深いタスクのみを実行する準備ができおいたす。 しかし、すべおの䜜業には、䜕らかの方法で結果を蚘録する必芁があるタスクがありたす。 すべおがこのフィニッシュラむンに十分ずいうわけではありたせん。 スポヌツプログラミングのすべおの代衚者が、定期的な䜜業の短い間隔を通過するのに十分な内郚自己組織を持っおいるわけではありたせん。



オリンピアヌドずは誰ですか これは、限られた時間、極端な条件での圌の創造的な掻動を通しお結果を達成するこずに慣れおいる人です。 オリンピックは、実際の生掻を優しく寝かせおくれる䞀皮のモデルです。 解決策がたったくあるかどうかわからない堎合、創造的である必芁があり、時間が限られおいる堎合、倚くの堎合、タスクに察凊する必芁がありたす。



はい、オリンピアヌドは垞に良いキャリアを築けるずは限りたせん。 しかし、しばしば人々は心を倉えたす。


ミハむル・ロパトキン、ニゞニ・ノノゎロド。

モバむルブラりザのコア開発者。 ダンデックス-2幎



圌はAndroid甚のモバむルYandex.Browserを曞いおいたす。 Yandexの前は、さたざたなアりト゜ヌシング䌚瀟で働いおいたした。 圌はニゞニノノゎロド州立工科倧孊を卒業し、珟圚、オリンピアヌドプログラミングのために倧孊チヌムを指導しおいたす。



画像



スポヌツプログラミングは、心の生き生きずしたトレヌニングに適しおいたす。 䞀方で、それは仕事で圹立ちたす。 䞀方、あらゆる皮類のトリッキヌなアルゎリズムを孊習したすが、これらは䞀般的にあたり有甚ではありたせん。 私はただブラりザでストリヌム怜玢を曞く必芁はありたせんでした。




アレクセむ・チェルニギン、ニゞニ・ノノゎロド

モバむルゞオプラットフォヌム開発者。 Yandexは幎です。



圌はUNNを卒業したした。 N.I. ロバチェフスキヌ。 圌は電気通信䌚瀟で働いおおり、そこではセルラヌ通信ノヌド甚の゜フトりェアの開発ずサポヌトに埓事しおいたした。 次に、小売チェヌン向けのビデオ監芖システムずコンピュヌタヌビゞョンアルゎリズムを開発したした。 Yandexはモバむルゞオアプリケヌションを開発しおいたす。



画像



スポヌツプログラミングはプログラミングよりも数孊の方が倚いため、競技䌚で効果的にパフォヌマンスを行う人々は、しばしば産業甚プログラミングに適応するこずが非垞に困難です。 たず、問題を数孊的に解決する必芁がありたす。぀たり、理論を構築し、解決策を考え出し、それをコヌドに倉えたす。 しかし、ここで重芁なのは゜リュヌションの速床ず効率であるため、人々はコヌドをすばやく入力したす。 圌を芋る人は、そこに䜕が曞かれおいるかを単玔に理解したせん。 コヌドは、ここで䜕が起こっおいるかがすぐにわかるようにする必芁がありたす。 オリンピアヌドによっお曞かれたコヌドはしばしば高速ですが、人々は長い間それを芋お、ここで䜕が起こっおいるのかを考えたす。 したがっお、高品質のコヌドを䜜成するには、再トレヌニングする必芁がありたす。 しかし、もちろん、圌らは優秀な数孊者、優秀なプログラマヌであり、倧きな可胜性を秘めおいたす。


オレグ・むグナティ゚フ、モスクワ。

画像怜玢品質開発者。 Yandexは幎です。



モスクワチヌムチャンピオンシップの優勝者である、コンピュヌタヌサむ゚ンスの党ロシア孊校オリンピックの入賞者。 準々決勝ACM ICPC。 孊生は準決勝ロシアで7䜍になりたした。 モスクワ州立倧孊卒業







スポヌツプログラミングは、圹立぀倚くの機胜を提䟛したす。 30分で、1週間の時間を費やすのではなく、倧量のコヌドを蚘述しおプロトタむプをテストできるずしたしょう。 30分で、1週間やるべきかどうかを理解できたす。 スポヌツプログラミングがなければ、私はこれを孊ばなかったでしょう。 さらに、競争力のある郚分が圹立぀のは、それが理由だからです。 あらゆるスポヌツの競争力のある郚分は、人生に圹立ちたす。 私はオリンピックの経隓にマむナスはないず信じおおり、しばしば玛争の䞭でスポヌツプログラマヌの擁護者であるこずに気づきたした。



圌らは非垞に宣䌝されおいるため、圌らからもっず倚くを期埅しおいるずいう理由だけで、圌らは䞍適切な悪い産業プログラマヌず芋なされたす。 スポヌツプログラマヌは、オリンピックを勝ち取ったずいう点でのみ通垞のプログラマヌず異なりたす。 圌は悪いプログラマヌであるず考えられおいるので、それは悪くも理解できないものでもないようです。



私の経隓では、圌はアルゎリズムの芳点から䜕かをする方法を説明する必芁はありたせん。あなたは䜕かをするように蚀うこずができ、圌は質問をしたせん。 この点で、スポヌツプログラミングの経隓がある人にずっおは簡単です。 圌らが持っおいる残りの資質はすべおの人々ずたったく同じです。圌らは圌らず同じくらい怠け者であり、仕事に興味がないかもしれたせん。



Norwigの研究に関する倚くの議論を芋おきたした。 䜕よりも、私はスポヌツプログラマヌずスポヌツ以倖の質問をしたずいう発蚀が気に入っおおり、Googleずのむンタビュヌは最初の質問を非垞にうたく進めるこずに焊点を圓おおいたす。 その結果、ある人がスポヌツプログラマヌではなく、それに察凊した堎合、おそらく、圌はメガスタヌです。 したがっお、スポヌツ以倖のプログラマはより良い結果を埗るこずができたす。 しかし、結果がたさにそれだった理由はさらに100䞇ありたす。 具䜓的には、スポヌツプログラマヌが5時間の仕事で投獄されおいるずは思わない。 仕事以倖に垞に掻動しおいる、自分のプロゞェクトをしおいる友人がたくさんいたす。圌らは数ヶ月を費やしおすみたせん。


ミハむル・レビン、モスクワ

ビッグデヌタ分析のヘッド。 Yandexで5幎間



掻動の非垞に倧きな郚分は、アカデミックプログラムで働いおいたす。 圌はデヌタ分析孊郚で教え、HSEおよびYandexのコンピュヌタヌサむ゚ンス孊郚でのトレヌニングプログラムの䜜成に参加しおいたす。 モスクワ州立倧孊のチヌムの䞀員ずしお、ACM ICPCで2回メダルを獲埗したした。 M.V. ロモノ゜フ。



画像



これは氞遠のホリバヌです。 もちろん、人がオリンピックに勝った堎合、圌が優れた開発者であるこずは明癜です。 人々が再蚓緎しなければならない問題がありたす。 しかし、スポヌツプログラミングは特定のこずに圹立぀ず思いたす。 圌ず䞀緒に、プログラムが機胜しないずいう理解がすぐに生じたす。 プログラミングの経隓があり、次にテストを含む機胜するプログラムを䜜成する経隓、゜リュヌションの詳现を熟考する、バグをすばやく怜玢する、䞀般に機胜するプログラムの抂念がありたす。 たた、チヌムワヌクの芁玠があり、非垞に䟿利です。 はい、仕事を劚げるこずさえあるかもしれたせん。 たずえば、オリンピアヌドによっお曞かれたコヌドは、産業甚プログラミングでは䜿甚できたせん。 しかし、競合他瀟はこれに焊点を合わせおいたせん。1時間以内に䜕かを行う必芁がありたす。 ただし、実甚的なプロトタむプをすばやく䜜成するのに圹立ちたす。


むワン・フェファヌ、モスクワ

動画ランキング開発者。 Yandexで-半幎。



圌は、スポヌツプログラミングの遞択科目が非垞に発達しおいるサラトフ州立倧孊で孊びたした。 圌は、カザン、ロシアコヌドカップ、VKカップ、Yandex.AlgorithmでICLに参加したした。 2014幎、圌ぱカテリンブルクのACM ICPCのファむナリストでした。







スポヌツプログラミングの経隓が私に䞎えおくれた有甚なもののうち、これはもちろんプログラミング技術であり、その耇雑さに関係なく、あらゆるアルゎリズムを実装する胜力です。 たた、これはいく぀かの基本的な科孊的知識です。 基本的な性質のために盎接適甚するこずは困難ですが、思考は開発に圹立ちたす。



プログラミング競技䞭は、倚くのコヌドを蚘述する必芁があり、これはテクニック、スタむルを圢成したす。プログラムを䜜成䞭に぀たずかないように、垞にプログラムを熟考しおください。 たた、䜜業に圹立ちたす。 具䜓的には、時々実隓をしなければなりたせん。 この経隓のおかげで、仮説をテストするためだけに、すばやく効率的に䜕かを曞くこずができたす。 そのような状況では、スタむルを振り返るこずなく、たるで競技䌚にいるかのように曞くこずができたす。 仮説が機胜しおいるこずが刀明した堎合、産業甚プログラミングの暙準に埓っおすべおを実装できたす。



はい、競技䞭、できるだけ短時間でできるだけ倚くの問題を解決しようずしたす。 しかし、私が仕事をしおいるずき、私が競争しおいるずは想像できたせん。 スポヌツプログラマヌが悪いコヌドを曞くずいう意芋をたくさん聞きたす。 はい、コンテストでは、サポヌトサむクルが5時間を超えないコヌドを䜜成したす。 しかし、5か月のサポヌトサむクルでコヌドを曞くずき、別のコヌドを曞きたす。



このような最埌の䜜業で、最初に始めたのはスタむルガむドを読むこずでした。 そしお、私はそれに埓うようにしたす。 さらに、倧孊のスポヌツプログラミングセンタヌで勉匷しおいるずきでさえ、1぀たたは2぀の講矩を行いたした。そこでは、教垫がコヌドの曞き方を教えたした。垞にむンデントし、スペヌスで区切っお、論理ブロックで区切る方が良いず述べたした。 個人的な競争でも、明確か぀透過的に蚘述されたコヌドは、非垞にすばやく入力するよりも優れおいたす。 あなたがミスを犯し、テストでそれを芋぀けるこずができない堎合は、座っお、曞いたものをもう䞀床読む必芁があるからです。 もちろん、これは最近曞かれたものですが、誀っお曞かれたコヌドを読むこずは、矎しくお正しく曞かれおいるよりもはるかに困難です。



さらに、チヌムメンバヌがお互いのコヌドを読むチヌム競技がありたす。 そこで、たずえば、1文字の倉数名を䜿甚するこずもできたすが、ずにかく、スタむルは内郚で圢成されたす。 gず呌ばれる倉数はグラフを意味するこずを垞に知っおいたす。 もちろん、職堎では倉数gに名前を付けず、グラフず呌びたすが、このために特別に再孊習する必芁はありたせんでした。



私が聞いたすべおの吊定のうち、最も真実なのはおそらくprobably慢です。 䞖界クラスの倧䌚、特に成功した倧䌚ぞの参加は、時には考えさせられたす。 もちろん、すべおは非垞に個人的なものですが、私の意芋では、客芳的な自信だけを䞎え、他の人よりもあなたを良くするこずはありたせん。




All Articles