5月20日の早朝、私たち、史上初のCUSTISハッカソンの主催者チームは、ウォームアップ日(2017年春限定)に満足しました。 管理者はWi-Fiバンドのロードスケジュールを調べ、PR部門とHR部門の女の子は参加者のリストを調べました。何らかの理由で、開発部門のキュレーターはMakarenkoと分散チームを管理するための最高のスキルを思い出しました。 ハッカソンを開催しなければならない「ボトル」のアンチカフェはまだ閉鎖されており、ロフト間の狭い通路はまだ蒸気やジャイロスクーターのter音からの濃い霧で満たされていません。 すべてが準備できていると確信していましたが、少し興奮しても私たちを去ることはありませんでした。
それは戦いの前の朝でした。 15時間後、疲れたが幸せな私たちは同じ場所で別れを告げ、明るい瞬間を思い出し、参加者とお互いに感謝し、ハッカソンの実施方法を正確に知った。 落ち着きと達成感。
この投稿は、20人のチームが数百万の予算なしでこのようなイベントを開催するという考えにwe敬の念を抱いている人、またはそれが価値があるかどうか疑問に思っている人向けです。
すべての始まり
人事ブランディングの親友
魔法は存在しません。クールなアイデアは、常に差し迫ったニーズから生まれます。 私たちのプロジェクトは、成長中の企業と同様に、若い開発者、HRサービス、PRサービスに見逃されました。これは、潜在的な従業員との信頼できるコミュニケーションを構築する古典的な方法です。
前に練習したこと:
- 就職説明会とキャリアフォーラム。 若いIT専門家と知り合い、会社について話し、興味を持ち、当社のオファーに従うよう招待する絶好の機会です。 あなたが会社の他の活動に参加するように連中に電話しないなら、それは遠い時間帯でのみ働き、低い転換によって特徴付けられます。
- 学生や若い専門家向けのセミナー、会議、ワークショップ、マスタークラス、ソーシャルネットワークでの関連活動(タスク、コンテスト、教育コンテンツ)。 会社の経験豊富なスペシャリストに新人を紹介するクールな方法。ゲーム形式で、大規模プロジェクトでの仕事の様子を示し、子どもたちがこの専門能力開発の道を選ぶかどうかを理解できるようにします。 ここで、変換はより高くなります。実質的で実用的な通信の力は驚異的です。 私たちのセミナーのいくつかの定期的なリスナーはまだ私たちと協力しています。
- インターンシップとサマースクール。 最も効率的な通信形式。 インターンシップでは、「戦闘中」にスキルだけでなく、各参加者のチーム、組織、および専門的な能力も評価できます。 5年前に行ったインターンシップのおかげで、私たちは非常に才能のある人に出会い、すぐに彼らをチームに招待しました。 欠点:この形式では、インターンシップのキュレーターの負担が増大し、生産からの主要な従業員の膨大な人件費が必要になります。
ハッカソン形式を選択した理由
会社のいくつかの主要プロジェクトが、機能の出荷率が高い状態で生産段階に入ったとします。 欠員-数十個の主要なテクノロジー-JavaとC#。 プロジェクトチームの中核には人材が必要であるため、アウトソーシングチームはリソースに対する飢えを満たすことができません。 そして、クールな開発者が必要です。過酷な産業開発の経験はほとんどありませんが、頭が明るく、心が優しく、目に火がつきます。 そして、必要なのは、eycharとの単一のインタビューとインタビューでのテスト問題の解決では得られないことです:若い開発者が本当に才能があり、チームとして彼にとって本当に興味深いことを短時間で検証します。 私たちは、友人が戦闘で知られていると固く決心しました。
これらの問題を解決するために、ハッカソン形式が理想的でした。このイベントは地球上のある日にコンパクトに詰めることができ、一日の終わりにはできるだけ多くの参加者を仕事に招待できます。
数年間、チーム内でハッカソンを費やしてきました。 私たちにとって、これは単なるファンやチームビルディングの一形態であるだけでなく、お互いを知り、特定の技術に共通の関心を発見し、勤務時間中に手が届かない有用なことを行うときの創造的なプロセスです。 1年前、1週間に1回のピザレートを破棄し、クライアントのバトルサーバーを監視するための美しいユーティリティを作成しました。今年は、Telegramボットを企業のバグトラッカーとwikiポータルに結び付け、サブネット上で再び大きなページを開かないようにしました。
最初の外部ハッカソンの準備が熱心な参加者と内部ハッカソンのインスピレーションを奪ったのは驚くことではありません。
外出する
アイデアの誕生
業界や特定の企業に関連するトピックについてハッカソンを発表することほど簡単なことはありません。 Googleのスクロール結果が示すように、機械学習アルゴリズム、ニューラルネットワークとコンピュータービジョン、銀行のマイクロサービス、ソーシャルプロジェクトと慈善プロジェクト、さらにはテクノロジースタートアップ全体など、業界または個々のプレーヤーを刺激するアイデアに基づいて、ほぼあらゆる理由でハッカソンを配置できます48時間でTTMを使用できます。
この形式について気に入った点:
- 競争
- チーム開発;
- 柔軟性と創造性。
私たち自身から何をもたらしたか:
- JavaとC#技術スタックの「戦い」(チームはスタックによって形成されます);
- ゲームの仕組み(チームは共通サーバーで競合するプログラムを作成します);
- ファンとエンターテインメント(参加者のデジタルアートの作品を再利用し、不可能なものを要求するつもりはありませんでした)。
「技術の戦い」のアイデアは非常に魅力的であることが判明したため、ITトーナメントを開催します。 ju審員や専門家の委員会はありません。投資家にdressした変装前にプロジェクトを守る必要はありません。コードビューティコンテストに参加する必要もありません。 レースでもビジネスでも、すべてがシンプルです。何かを構築し、テストし、相手と同じステージに置く必要があります。 そして最強の勝利を!
専門家をチェックします
開発部門の責任者、人事部門の責任者、および愛好家のグループ-各技術スタックの主要な開発者が世代を引き継ぎました。 チーム内でアイデアを生み出し、同僚や知人にこのようなハッカソンで眠りにつくかどうかを尋ね、開発者フォーラムでトピックを作成し、自分でゲームの仕組みを試してみました。
アイデアの世界でデザインするのはクールです! 私の目の前には、ギャンブルやエキサイティングなトーナメントのシーンがあり、ゲームアルゴリズムを実装するための無制限のオプションがあります。 しかし、アイデアは空中にあり、単純なゲームをトーナメントの中心に置いたとしても、実装にはかなりの努力が必要です。 その結果、私たちは海戦に落ち着きました。ゲームは非常に動的で、アルゴリズム的に理解可能であり、実行可能なボットを実装するのにあまり時間を必要としません。
専門家がゲームの仕組みについて合意に達し、サーバー側の最初のドラフトを作成し始めたとき、私たちは再びぞっとしました。準備するのにあと1か月しかありませんでした。
フォーマットを承認します
このフォーマットは約1か月間設計しました。その後、イベントの主な詳細を修正します。 最終的な判定は次のようになりました。
- Battle of Technology:Java vs. Tournamentを開催しています C# ";
- 組織全体を管理します。
- 海戦からゲームメカニクスを借りて、ゲームボーナスとクエストを追加します。
- 3〜4人のチームを8チーム(技術スタックごとに4チーム)しか採用していません。
- トーナメントは土曜日、終日、屋外会場で開催されます。
- バトルの勝者に求人を出し、将来的に他の参加者と連絡を取り合います。
生産を開始
コンセプト
ゲームプラットフォームを決定したとき、大衆にアイデアを広めるためには、海戦をするという提案よりももっと独創的なものが必要であることが明らかになりました。 そして、私たちの開発部門の腸内で、価値ある計画が生まれました。「すべての世代のIT担当者は、スターウォーズの宇宙を心から愛しています。 トーナメントを銀河の戦いと呼び、このコンセプトのために、アプリケーションのサーバー側のインターフェースから会場のデザインまで、周囲全体を適応させてみませんか?」 海戦は流行りません-長いライブスペースバトル!
技術部
すべての参加者に21世紀のプロレタリアートの主な道具である調整された開発環境と便利なコンピューターを提供するために、管理者は26 台のラップトップを慎重に選択してレンタルしました。 Visual StudioとIDEAがデプロイされ、リモートが利用できない場合に備えて、バックアップサーバーをサイトに持ち込んでバックアップしました(強力なデスクトップがその役割を果たしました)。
試合中にチームにアクセスできるゲームサーバーを実装しました。 アーキテクチャ的には、RabbitMQサーバーと実際にはアプリケーションサーバーの2つの部分で構成されています。 RabbitMQは、サーバーとボットの間、および管理パネルとサーバーの間の通信機能を実行します。 それは、その軽さ、速度、および普及率のために選ばれました。
セキュリティシステムの実装に煩わされないように、RabbitMQの承認と認証を使用することにしました。 これは次のように行われます。ユーザーがメッセージをチャネルに送信する権限を持っている場合、ユーザーはこのチャネルに関連付けられているすべてのアクションを行う権限を持ちます。 彼が何らかのチャネルからデータを受信する権利を持っている場合、彼はそれを読む権利を持っています。 したがって、アプリケーションサーバーにはセキュリティロジックがありませんでした。
アプリケーションサーバーは非常にシンプルで、コンテナを必要としません(通常のスタンドアロンJavaアプリケーション)。 RabbitMQのすべてのキューに接続し、それらをリッスンします。 この点で、サーバーはクライアントアプリケーションと技術的に類似しています。 すべてのボットとサーバーが、RabbitMQチャネルで接続されたマイクロサービスを形成していると言えます。 ここでの唯一の難点は、サーバーが多くの情報を保存していることです:現在および過去のゲーム、統計など。これが問題を引き起こさないように、そのようなすべてのデータには数量制限があります。つまり、古い情報は忘れられ、新しい情報が記憶されます。
サーバーはKotlinで作成されていますが、特別なKotlinマジックは使用されていません-主に機能主義と拡張メソッドです。
ボットとサーバーとの相互作用の構築方法、およびトーナメント開始前に参加者に配布したマニュアルのチームの技術仕様について詳しく読むことができます。
遊び場
並行して、技術的および美的パラメーターに適したトラック検索サイトを開始しました。
したかったのは:
- 高速インターネット。
- トーナメントを実演する強力なプロジェクター。
- チームにとって便利なワークスペース。
- 適切なタイミングでおいしい食べ物、クッキーとお茶-常に。
「水中」スタイルで装飾されたレストラン、ロフト、ギャラリーが海であるため、私たちは海戦の概念にほとんど戻りました。 しかし、「スターウォーズ」のテーマに適した場所を見つけることはより困難でした。
その結果、古いベイダー自身が自宅で感じるような本物の場所をいくつか見つけました。 彼らの大きな利点は、完成したテーマ別の装飾と、もちろん、スターウォーズだけでなく、IT(通常はオタク文化に代表される)にも精通しているマネージャーです。
短いリストは次のようになりました。
- カフェクラブ「パパベイダー」
- 長所 地下鉄駅のキタイゴロドとルビャンカは徒歩圏内にあり、それぞれのキッチン(昼食と夕食を参加者に提供することが非常に重要でした)、4人用のソファとテーブルを備えた快適なキャビン、サイトの総収容人数は60〜80人、フレンドリーなスタッフとテーマの装飾。
- 短所 かなり暗い地下室、オレンジ色の「香り高い」食料品店のある近所、高い家賃。
- 長所 地下鉄駅のキタイゴロドとルビャンカは徒歩圏内にあり、それぞれのキッチン(昼食と夕食を参加者に提供することが非常に重要でした)、4人用のソファとテーブルを備えた快適なキャビン、サイトの総収容人数は60〜80人、フレンドリーなスタッフとテーマの装飾。
- Antikafe Geek Square 。
- 長所 地下鉄駅「ドミトロフスカヤ」(比較的中心部に近い)、居心地の良い雰囲気、スタイリッシュなインテリア、漫画本屋、オタクのお土産、快適な作業エリアのある広々とした部屋。 新鮮な修理(それほど前にオープンされなかった人たち)と私たちの希望に対するオーガナイザーの反応、手頃な家賃。 antikafe自体には食べ物はありませんが、Geek Squareのすぐ下にレストランがあります。 参加者のケータリングについて彼らと合意しました。
- 短所 「ボトル」をナビゲートする際のいくつかの困難、異なる請負業者と個別に交渉する必要性(接続とケータリングのためにより広いチャネルが必要でした)。 (主催者と一緒に)20人を快適に収容できます。
- 長所 地下鉄駅「ドミトロフスカヤ」(比較的中心部に近い)、居心地の良い雰囲気、スタイリッシュなインテリア、漫画本屋、オタクのお土産、快適な作業エリアのある広々とした部屋。 新鮮な修理(それほど前にオープンされなかった人たち)と私たちの希望に対するオーガナイザーの反応、手頃な家賃。 antikafe自体には食べ物はありませんが、Geek Squareのすぐ下にレストランがあります。 参加者のケータリングについて彼らと合意しました。
私たちはアンチカフェを選びました。 それは一目ぼれでした。それで私たちはすべての欠陥を簡単に許しました。
マーケティングおよびアプリケーション管理
イベントのバックエンドが完全に戦闘の準備ができているというチーム内の合意が得られたらすぐに、トーナメントの「クライアント側」で積極的に作業を開始しました。
次のような潜在的な参加者(および従業員)の肖像を想像しました。
- 22〜26歳。
- JavaまたはC#での3〜4年の開発経験。
- モスクワに住んで働いています。
- ハッカソンの形式に関する自然な懐疑論を経験していません。
- 土曜日を集中的なコーディングと激しいITバトルに簡単に費やすことができます。
私たちはしなければなりませんでした:
- 「技術の戦い」を一般大衆に吹き飛ばす。
- 欲望を表明した人々と連絡を取り、その中から「選ばれた人々」を見つけ、トーナメントを呼びかけます。
- 「スターウォーズ」をテーマにした賞品やお土産を購入し、ゲームインターフェースや参加者のバッジのデザインから音楽の選択まで、トーナメントの視覚的コンセプトを開発します。
トーナメントの登録を開始する前に、 Googleフォームを開始しました。このフォームでは、参加者について知りたいことをすべて反映しようとしました。 このフォームは、データを統合、保存、処理し、大規模なチームの参加者と作業するのに便利でした。
バトルへの登録を発表するために、利用可能なすべてのデジタルマーケティングツールが発売されました。これらのツールは、私たち自身とパートナーの助けを借りて短期的に動員できます。 「24人の開発者がハッカソンに参加するのにどれだけの時間、労力、聴衆が必要になるのか?」というトピックの懸賞をほぼ準備しました。
戦闘に最初に投入されたのは電子メールでした。 参加者への招待状のテキストは、イベントのスタイルで設計されました。 パートナーベースで2回、私たち自身で2回郵送しました。 郵送はいくつかの段階で行われました。 カバレッジ:10,000人。 結果:29登録(変換= 0.29)。
次に、SMMの大砲を接続し、Vkontakteの「Typical Programmer」および「ITmozg Programming」グループに広告を出しました。 42,000人と12,000人がそれぞれ私たちについて知りました。 結果:それぞれ10件の登録(コンバージョン= 0.02)と5件の登録(コンバージョン= 0.04)。
Facebookの企業プロフィールや同僚の再投稿、VKコミュニティでのゲリラマーケティング、Telegramでのテーマチャンネルの助けを借りて、数千人に達することができました。 CUSTIS Young VKのコミュニティでは、新しい登録は行われませんでしたが、組織的な質問がある人との運用上のやり取りの良いポイントになりました。
出口で、登録フォームは興味深い統計を示しました:
ITがすべての年齢に服従し、16歳以上の人が若い開発者のように感じることは嬉しかったです。 かなり古い。
競合他社の経験とほぼ同じ写真。 開発経験に大きなギャップはありませんでした。つまり、誰もが興味を持つべきです。
しかし、このチャートは市場動向をよく反映しています。
開発者は自分のラップトップだけの快適さとカスタマイズを認識している人々であるというすべての恐怖にもかかわらず、私たちは失敗しませんでした。 リースされたラップトップが重宝しました。
「自分について教えてください」というアンケートを作成しました。これにより、メンバーが経験の短い要約を共有し、主催者に質問することができます。 参加者の成果と期待に関する詳細なストーリーに加えて(そしてそれらのほとんどがありました)、面白い事実の重要なコレクションを受け取りました:
- 「ラップトップにLinux Ubuntuがあります!」
- 「私はプログラマとして5年間勉強し、軍隊に勤め、仕事を得ました。」
- 第五世代ジェダイ。
- 「Androidはすべてperです。」
- 「私は甘い」
- 「多くのラボを行うことにうんざりしていて、新しいことを学びたい3年生。」
- 「スポーツ(現在は自転車とスケート)、おいしいお茶、コーヒー、アイスクリームが大好きです。 何が好き? また、私はスロッププログラミングに習熟しています。」
申し込みの収集中、eycharsはすぐに参加者と連絡を取り、 治療について話し合い、彼らの経験に関する情報を再び共有し、参加の詳細を明確にし、トーナメントに関するすべての質問に答えました。
ハッカソンの前日の最終日に、最終的な統計をまとめました。
- 46人がアンケートに回答しました。
- 31人が参加を確認しました。
登録と並行して、賞品の購入が行われました。 いくつかの理由で、現金の贈与を拒否しました。 以下を取得しました。
準備No.1
(, , ), -, . , , . - 3D-, , . , , , .
CUSTIS TechBattle: Java vs. C#
20 , … , . , :
- .
- , , .
, , , , . , . , , .
, . follow up, , , 14 31 . , 50% «» .
11:05 . , , «» -, . , « », . , . ( ) ( !).
, , , .
, GitHub. , «» , . , .
日
, , .
. , . . , , , , .
, , , — . , . .
, . . , . , , , ( ) . , .
. , , .
, . — . , «» .
- . «» , . : . .
. , . . .
, . , , . , , .
フィードバック
. , , . .
: , , .
まとめ
. ( ) . , , :
- , ;
- , ;
- , .
( ):
- - HR-;
- ;
- , ;
- ;
- .
:
- ;
- , ;
- ;
- .
«» , , , . , DIY-. . HR-.
, , «», , - , . , ( ) , ( , ), . , , .
素材
- GitHub .
- .
- Google Drive .
- , HR-, , hr@custis.ru .