Hackathonは、顧客の利益のためにデジタルソリューションを作成するための開発者間の競争です。この種のイベントはIT環境で非常に人気がありますが、多くの才能のある専門家はそれらに参加することを警戒しています。その理由の1つは、開発されたソリューションに対する保証された権利の喪失に関するステレオタイプです。大規模なハッカソンの勝者の1人であるEvgenyMavrinは、この神話を払拭し、プログラマーの競争の利点と展望についても話します。
Evgeniyは有望な若い開発者です。 VirusHackオンラインハッカソンの一部としてモスクワイノベーションエージェンシーが主催するメガポピスモスクワトラックに参加し、EGD BAGチーム(AlexeiAirapetovおよびAnnaKovalenkoと共に)の一部として、ICQNewメッセンジャー用の情報ボットを作成する他のタスクよりも優れたパフォーマンスを示しました。コロナウイルス感染の拡大についてのユーザー。
-ユージーン、ハッカソンに参加する前にあなたとあなたのチームメンバーは何をしましたか?どこで勉強し、どこで働き、どのプロジェクトを実行しましたか?あなたはビジネスをしましたか?
-私たちはクラスメートのチームです。 2019年にプログラム「情報システムと技術」の下でバウマンモスクワ州立工科大学の行政を卒業しました。私たちは皆プログラミングに従事していますが、方向は異なります。たとえば、私にとってはメインスタックはC ++ / Qtであり、Leshaにとっては(Alexey Airapetov-作者のメモ)-Javaです。私たちの主な仕事に加えて、私たち一人一人は、完了のさまざまな段階でペットプロジェクトを持っていました(放棄を読んでください)。一般的に、リリースにはほとんど至っていません。私たちのチームは誰もビジネスに関与したことがありません。しかし、私たちは、たとえば「フレンドリーなフリーランス」に参加しました。私たちが知っている誰かからのITの助けが必要なときです。
教育とIT分野の共通の関心のおかげで、ほとんどすべての問題に対して実用的なソリューションを提供し、実装することは難しくありません。
-ハッカソンに参加したのは初めてですか?メガポリスモスクワトラックについてどのように知りましたか?
-個人的には、I.M。にちなんで名付けられたロシア国立石油ガス大学の仲間とチームでAramco Upstream Solutions Technathon2019ハッカソンにすでに参加しています。グブキン、でもその時は運が悪かった。参加者の間でチーム内の試合はありませんでした。
メガポリスモスクワのトラックについて友達から学びました。彼らはシャープコミュニティ(C#開発者)からの広告をチャットに投げ込んだだけです。彼らは責任を持ってVirusHackハッカソンへの参加に取り組みました。彼らは事前にタスクを決定し、大まかに責任を割り当てました。そしてそれは本当に役に立ちました。
-ICQ新規顧客のタスクの複雑さをどのように評価しますか?対戦相手のレベルはどれくらいですか?
-私の意見では、このタスクはハッカソンの時間枠に収まるのが理想的です。多くの場合、ハッカソンに割り当てられた数日で、多くのチームが最終決定としてコンセプトまたはプロトタイプを提示します。完成品を発表し、その後、お客様と一緒にすぐに生産を開始しました。対戦相手のレベルは高かった。そして、他のチームの結果を見るのは本当に心配でした。多くの参加者は、タスクの自由な解釈を許可しました。たとえば、誰かが簡単なカジュアルゲームをプレイできるボットを作成しました。
-最終的に出た決定について教えてください。それを開発するためにどのようなツールが使用されましたか?
-その結果、コロナウイルス感染の拡大をユーザーに知らせる情報ボットを入手しました。
ジオタグによって、人々は市民の感染の新旧の事例に関する情報を受け取り、COVID-19のテストに合格するための最寄りの医療機関や研究所の住所、およびそれらに最も近い薬局や店の住所を見つけることができます。また、電子パスを受信するために、簡略化されたSMSメッセージジェネレーターがボットに組み込まれました。
ボットを作成するときに計算フローを調整するために、標準のJava言語ツールが使用されました。ボットの作業を大幅に簡素化するために、ICQのAPIライブラリが選択されました。また、実稼働環境でのボットの展開を簡素化するという問題も解決しました。現在、Dockerがエンタープライズ開発の標準であることを認識し、Dockerイメージを準備しました。
一般的に、結果は、近代化が容易でスケーラブルな製品です。
-一番大変だったのは何ですか?
-おそらく最も困難だったのは、ボットのすべての機能を「組み合わせ」て、使いやすくすることでした。ワンタイムパスを発行する理由を示すなど、極端な場合にのみユーザーがテキストでデータを入力するようにインターフェイスを実装しました(はい、最近までは関連性がありました)。ボットとのすべての対話は、メッセンジャー自体のツールの適切な使用に還元されました。コマンドを手動で入力する機能を完全に無効にしました。ちなみに、これがボットのデモビデオです:https:
//youtu.be/1xMXEq_Svj8-あなたはハッカソンの勝者になりました。イベントはどのようにさらに発展しましたか?
-私たちは1つの非常に有用なことを学びました-結局のところ、私たち自身がボットの著作権所有者であり続け、それは私を少し驚かせました。大まかに言って、ハッカソンはチームのブレインストーミングで生まれたアイデアを貴重な賞品と交換することだと思いました。しかし、私は合意と参加規則を読み直しましたが、そのようなものは見つかりませんでした。ですから、自分たちの開発の権利を譲渡しなければならないのではないかと心配している他のハッカソン参加者には、いいえ、あなたがそうしなければならないという事実からはほど遠いことを言いたいと思います。 VirusHackハッカソンでは、コードをプライベートリポジトリに保存することも可能であり、審査員の1人に一時的なアクセス権を与えて決定を下すことができました。いずれにせよ、ハッカソンの前に必ず参加書類を読んで、将来の驚きがないようにしてください。
ちなみに、コードは開いたままにしておくことにしました。https://github.com/airaketa/egdbag-bot。健康へのフォーク。
ハッカソンの後、私たちは独自のイニシアチブで、コロナウイルスのパンデミックの第2波に備えて、TelegramAPI用のボットポートを準備しました。ただし、このプロジェクトは永久にプライベートリポジトリに保管することをお勧めします。
現在、自己分離モードが削除されたときに、ボットの機能を現在の状況に適応させることを検討しています。たとえば、フィットネスセンター、レストラン、その他の都市のサイトを検索します。 ICQ Newチームのメンバーは、施設でボットの更新バージョンをホストすることを気にしません。
-プログラマーはハッカソンに参加する必要がありますか?あなたの意見では、彼らは参加者と勝者に何を与えることができますか?
-間違いなくそれだけの価値があります。適用されたタスクを数日で最初から完了し、専門家と話し合うことができるのは素晴らしい経験です。さらに、これは実際の2〜3日間のマラソンでチームメンバーのスキルと「スキル」を評価する機会です。ネットワーキングでもあります。どの分野でも、特にITにおいて、これは開発の非常に重要な側面であると私には思えます。あなたはあなたに役立つ新しい人々を見つけ、彼らとコミュニケーションを取り、彼らのプロジェクトを見ることができます。また、主な職場での開発のみを行っているため、プロダクトオーナーやチームリーダーなど、新たな役割でハッカソンに挑戦することができます。しかし、勝者にとって、これはトップ企業との協力を成功させる機会であり、彼のアイデアを促進するのに役立ちます。大規模なプロジェクトがハッカソンから生まれた場合が多くあります。
-8月には、新しいハッカソンの申し込みが市の問題「デジタルトランスフォーメーションリーダー」の解決を開始します。その勝者はかなりの報酬を受け取ります。あなたのチームはそれに参加しますか?どのように準備しますか?あなたが勝った場合、あなたはあなたの賞金を何に使いますか?
-私にとって、チームの他のメンバーと同様に、ハッカソンに参加する主な目標は、私たちが関心のある領域内で製品プロトタイプを開発する機会です。
私たちはチーム開発の経験とポートフォリオの優れたプロジェクトを獲得し、興味深く挑戦的な課題に直面しています。もちろん、勝ちたいです。ただし、賞金の獲得は目指していません。プロジェクトが役に立ったら、これが私たちの勝利になります。
競争に備えるために「デジタル変革のリーダー」私たちはチームの構成を拡大しようとします。前回のハッカソンでは3人でしたが、率直に言って、十分な手がありませんでした。さらに、インストールされたソフトウェアの問題を解決して、すべてのチームメンバーが競争の開始前に必要なプログラムのセットを入手できるようにします(経験が示すように、ソフトウェア同期の問題の解決に膨大な時間が正確に費やされます)。
それでも賞品を獲得できた場合は、PS5にお金を使い、数週間家に帰ります。冗談で!もちろん、賞金は、まず第一に、プロジェクトのさらなる発展のための財政的支援であることを理解しています。ホスティング、仮想マシンなどは、資金が割り当てられる場所の一部です。