今年度はSecHack365という通年ハッカソンに参加してきました。
去年の5月初旬ごろに参加決定の連絡が入り、先日3/24に成果発表会&修了式だったので、1年を通してどんな活動をしてきたかを振り返りたいと思います。
きっと来年度以降参加する人たちの参考になる・・・はず。
SecHack365とは
SecHack365 は高度な技術力を持つセキュリティ研究者や開発者を育成することで、我が国のセキュリティ技術力、産業競争力を高めることを目的としています。
年間プログラムの中では、ハッカソン、遠隔研究・開発実習、コンテスト演習、座学講座、全国の一流研究者・技術者等との交流、先端企業の見学等のイベントを通じて、各参加者の志望に沿った能力開発を行います。
今年度から始まった取り組みです。おそらく来年度以降はさらなる発展を遂げる(はず)
概要
セキュリティキャンプのような座学・実習形式ではなく、あくまで開発がメインになります。
参加者の多くは最終的にマルウェア対策や悪性web対策と言ったセキュリティ関連の物を開発していましたが、全員が思いっきりセキュリティに振り切っているかというとそうでもなく、割と自由に作りたいものを作れるといった雰囲気です。
よくあるハッカソンと何が違うのかというと、
と言ったところだと思います。
2番目に関して言えば界隈で有名な書籍を執筆されてる方から厚いサポートを得られたり、セキュリティに携わる方の生の声が聞けるのでとても良かったです。特にトレンドマ◯クロの業務がブラック大変だというお話は面白かったです。
4番目も結構重要で、何回かある成果発表で進捗が出てないとやや辛い思いをします。僕もしました。ただやることをしっかり取り組んで発表内容を十分に考えれば評価されるので、必要以上にビビる必要はないと思います。
今年度の参加者と応募について
全国から358件の応募があり、NICTの審査によって47名(うち未成年者17名)の若手が選抜された。
https://media.dglab.com/2018/01/05-sechack365-01/ より
小学生から社会人まで参加しています。おそらく20〜22歳あたりの参加者が一番多かったと思います。男女比は・・・まあ察してください。IT系イベントの参加者の男女比率と同じくらいです。
私がとてもいい例なんですが参加者全員が凄腕ハッカーや凄腕プログラマーという訳ではありません。もちろんそういう人もたくさんいましたが、技術力だけで選抜しているのではないらしいのでヤバい人じゃなくても応募できます。ただ、やはりその分勉強は必要になると思います。
学生は参加費無料です。オフラインハッカソンでの宿泊費、交通費全て支給していただけます。
大学の友達に話すと、「税金ってそういうことに使われてるんだ・・・」と言われたことを今でも覚えてます・・・。
応募前の自分ときっかけ
JavaとSwiftとJSを少しやったことある程度でした。大学に入ってからIT系の勉強を始めたのでプログラミング歴1年くらいで応募したことになります。
プログラミングをやっていく内に「なんかハッカーってかっこ良くね?」という誰しもが人生で1度は通る思想に呑まれ、セキュリティに興味を持ち始めました。しかし何を勉強すればいいのかさっぱりだったので、セキュリティミニキャンプ北海道に参加したりフォレンジックの勉強会に参加したりしてました。その勉強会で講師をしていた方からこんなんやるらしいよとSecHackのお知らせメールが来て、「まあ多分通らないだろうけど応募するだけならタダだしやるか」という軽い気持ちで応募しました。そしたらなんか通った。なんでや。
選考課題については口外してはいけないことになっているので詳しくは言えませんが、時間をかけてわかりやすく書くこと、図や写真を載せる、何か一人でモノを作りそれを猛アピールする、といったことが大事だと思います。
SecHackで何を作ったか
「IoTデバイスの電波強度を測定し、それを元に室内での位置を可視化する」というものを作成しました。この記事は技術的なことを書くのが目的ではないので、可視化ライブラリや測定に用いたアルゴリズムなどの詳細は後日記事にします。(多分)
私はチームでIoTデバイス管理システムの開発をしていたので、それの一部に組み込まれました。githubも載せておきます。
github.com
1年間のイベント
今までオフラインハッカソンの記事の執筆をサボっていたのでここでガーッと書きます。
5月<東京・NICT見学会、説明会>
ドキドキワクワクの初東京。新宿御苑で言の葉の庭聖地巡礼したり秋葉原でシュタゲ聖地巡礼したりしました。今後1年どういう活動をしていくかといった話やNICTの説明がほとんどでした。懇親会で懇親しすぎて飛行機に乗り遅れそうになったので皆さんも注意しましょう。
6月<東京・蒲田回>
この回はずっとアイディアソンで、開発時間はありませんでした。1年間をかけてどんな開発に取り組むのか、チーム開発するなら誰とチーム組むのかをだいたい決定します。前半の自己紹介タイムに、「バイナリ大好きなんすよフフフ・・」と話しかけて来た方がいて、こいつはやべえと思った記憶があります(ごめんなさい)。しかし、「OS作りたい」「言語作りたい」という方もいて自分がいかに狭い世界しか見ていなかったかを痛感しました。OSやプログラミング言語は私にとって「与えられるもの」であり「作るもの」ではなかったからです。周りのレベルの高さに驚かされた回でした。
8月<福岡回>
前半はLINE FUKUOKAにお邪魔させていただきました。社員さんに講演していただいたり、各自考えて来たアイディアを発表したり、「縁日」と称したトレーナーの方によるハンズオンが開催されたりと盛りだくさんでした。後半は海が綺麗なホテルでハッカソンを行いました。チームや開発テーマも固まって来て、ここからが本番といった感じです。
10月<北海道回>
初の地元開催だったので移動が楽でした。開発が本格化して来たのもこの頃です。北海道回の前後はデバイス位置可視化に必要な電波強度と距離の関係式を求めるのにひたすら実験をしていました。初めてのチーム開発だったのでチームメンバー間で仕様のすり合わせが難しく、ホテルの美味しい食事と綺麗な紅葉がなければ辛かったと思います。どうでもいいですが高校の時に修学旅行で泊まったホテルと会場が同じでびっくりしました。
12月<大阪回>
北海道回で自分の知識と実装力の無さを感じていたので、せめて大阪回までに進捗を出そうと頑張った時期でした。休日は朝起きてサークルの部室に立てこもりコードを書いて夜帰るみたいな生活をしてました。その甲斐あってか一応大阪回の中間発表で軽くデモを見せることができたので良かったです。中間発表で厳しい意見をいただき、作品は良いものを作ったとしても何がどうユーザーに嬉しいのかをはっきりアピールしなければ良さが伝わらないということを認識しました。
2月<沖縄回>
日本を縦断しました。内輪の成果発表会だったのですが発表前夜、とても背の高いトレーナーの方に手厳しいアドバイスを頂き、夜遅くまで発表練習とスライドの修正を繰り返していました。うまく伝わったか不安でしたが、あとあとトレーナーからの評価を聞き、言いたい事は伝わっていたようなので良かったです。
3月 <東京・成果発表会>
対外向けの成果発表会でした。デモをするにあたり、チームメンバーがそれぞれ作成したものを結合させる作業が必要でしたが、発表直前になってAPIを叩けなかったりラズパイが処理落ち頻発したりして大変でした。当日もネットワーク関係でトラブルがあり、あまりうまくいかずに辛かったです。本番不具合が起こった際でもイメージを見せられるようにように準備はしていたため、その点では良かったです。
感想
2ヶ月に一回は飛行機に乗って道外に出ていたので、なかなか忙しくも充実した1年間でした。ほとんどの参加者が自分より実力者だったので最初は(今も)ビビりまくっていたんですが、今になってみるとその刺激のおかげで気を抜かずに勉強できたのかなぁと思います。ただ、やはり実装や設計の力がまだまだなので今年はその辺りを鍛えたいです。実装の相談に乗っていただいたり、発表に関するアドバイスをしていただいたりと、トレーナーの方には本当にお世話になりました。ありがとうございました!
参加に興味のある人へ
正直、とてもおすすめです。開発力つくし共通の趣味を持った友達増えるしモチベーションも上がるし全国行けるし無料なので。ぜひ応募してみてください!