who3411のブログ

情報系の勉強やイベントの参加に関するブログ(をしたい)です。

SecHack365 2019参加記

はじめに

色々と辛いことがあって1年以上ブログを投稿していませんでしたが、2019年度のSechack365の表現駆動コースに参加しました。後々話していくのですが、私は最終的に以下の2つの成果物に参加していました。

  • クエッーション ~ 位置情報 x 質問 ~
  • ぼったくりガード 〜ぼったくり被害を防ぐためのシステム〜

2019年度の成果物は下のリンクにあるので、よろしければご覧ください。

sechack365.nict.go.jp

参加してみて、色々と思ったこと・後悔していることがあるので、それもまとめて書いてみようと思います。この記事が公開される頃には、既に2020年度の応募の最中ではありますが、応募しようとしている人、どのコースに参加しようかなどを考えている人は、よろしければご一読ください。

なお、SecHack365に関する詳しい説明などは公式サイトをご覧ください。リンクを下に貼っておきます。

sechack365.nict.go.jp

注意点

  • 全てメモや写真を頼りにこのブログを書いているので、色々とうろ覚えの箇所があるとは思いますがご了承ください。
  • 正直どこまで書いていいのかわからないので、簡単な内容は書きますが、実際に行ったことの詳細は書かないようにしています。
  • 参加を悩んでいる状態でこの記事を読んでいる方は、「参加を悩んでいる方へ」を読むことをお勧めします。それ以外の方は、「参加を悩んでいる方へ」を読み飛ばしてもらって構いません。

参加を悩んでいる方へ

SecHack365 2020では、どうやら昨年と同様に5つのコースがあります。詳しくは、以下のリンクをご確認ください。

sechack365.nict.go.jp

リンク先を見る限り、各コースによって様々な特色があると思いますが、コースを選択する際は十分に考えた上で選択するようにしましょう。「何当たり前のことを言ってるんだ」と思われるかもしれませんが、私はコース選択を誤って、応募時点でやりたかったことを何一つできないままSecHack365 2019が終了しました。そもそも1人で開発しようと思っていたにも関わらず、コース概要をよく読まずに(詳しくは「応募」に書きますが)表現駆動コースを選択してしまいました。

ただ、コース選択を誤ったからといって全く楽しくなかったわけではありません。結局複数人で開発を行いましたが、私は普段1人でしか開発を行ってこなかったので、複数人で開発するという経験はかなり新鮮なものでした。また、SecHack365自体に関しても、様々なアイデア・課題を元にものづくりを取り組んでいて、多くの刺激をもらえる場所だと思います。

長くなりましたが、結局言いたいこととしては、

  • 「とりあえず応募してみよう」はやめた方がいい。
  • 応募するならちゃんと考えた上でコースを選択した方が良い。
  • もしコースを誤ったら、誤ったなりに楽しめるよう努力する。

くらいでしょうか。ちなみに、「興味あるならとりあえず応募しよう!」とよく言われるかもしれませんが、SecHack365において、個人的にそれはオススメできません。私みたいに、「コース選択ミスって最初にやりたいこと何1つできなかった」となっても良いならとりあえず応募しても良いとは思いますが…

1年の主な流れ

1年間何をやってきたか、各イベントごとに振り返ろうと思います。

応募

元々2018年度にも応募していたのですが、落ちてしまったので、改めて応募しました。この時、コース概要のような専用のページはなく、本当に一言説明みたいなものが開催概要ページにあり、詳しい概要は応募後に送られてくる課題フォームにありました。

とりあえず概要を見て、2018年度は3コースだったのに対して、2019年度は5コースになっていました。それで改めてコースを選びなおしていたのですが、修了生の方やトレーナーの方、指導教員などから意見を聞き、数日間考え抜いた結果、開発駆動コースに行こうと考えました。そして課題フォームに個人情報を書いてから愕然としました。私のやりたかった分野にマッチするトレーナーが開発駆動コースにはいませんでした。(2020年度のコース概要の開発駆動コースに書いてあるような内容が、2019年度は課題フォームの個人情報入力後にありました。個人情報を書かないと読めない場所に書くの本当にやめてほしいです)

多分この時点で応募締め切りまで残り1〜2日だったと思います。結局焦って、2018年度のSecHack365のイメージを持ったまま表現駆動コースに応募しました。(記憶通りであれば2018年度は個人での開発も行えたはず…)神奈川回後で指摘されたのですが、この時課題フォームに書かれていたらしい「グループワークで行う」という記載を完全に見逃していました。

応募で言えることとしては、

  • 過去に応募したことのある人は、再度コース概要を見返した方が良い。
  • 今年はコース概要ページがあるので良いが、本当にコース概要はちゃんと見た方が良い。

と言った感じです。ほんと1年前の自分に言えることなら言ってやりたいです…。

結局、なんだかんだあった応募ですが、結局合格して参加することとなりました。

神奈川回(5/17〜5/19)

合格してしばらくしてオンライン上で今後に関する話などもあり、神奈川へ向かいました。ちなみに、表現駆動コースでは前もってオンライン上で集まってグループワークがありました。グループワークの内容としては、複数のテーマから1つを選択して、それに対する課題と、解決するためのサービス・システムを提案するというものです。オンライン上で集まってグループワークを行うのは初めてで、またこれまで使用したことのないツールを使用したので、色々と新鮮だった記憶があります。

今までオンライン上でしか認知してなかった人たちを現地で見ると、「ようやく始まったなぁ」なんてことを思ってました。結局3日間は、主に以下のようなことをやったと思います。

多分アイデアソンなどは他の方が書かれていると思うので、コースワークについて書きます。アイデアソンに関して言えることがあるとすれば、あまり知識のない状態でグループの方と話をしてしまった申し訳ない気持ちになったくらいです。コースワークでは、予めオンライン上でグループワークを行った内容を発表するものでした。課題や解決策がチームによって違っていましたが、「あーそういう考え方もあるんだなぁ」と思いながら聞いていました。

あと記憶に残っていることとしては、神奈川回に表現駆動コース内で、「最終的に3人以上のグループで開発を行うこと」と言われたことですね。この時に私は絶望したと同時に、SecHackに対するモチベがマイナスくらいまで下がったことを鮮明に覚えています。今思えば、このせいで北海道回以降に多数の方へご迷惑をおかけしたと思います。本当に申し訳ありませんでした。

まとめとしては、以下のような感じです。

  • SecHack365始まったな感じがした。
  • 初めてのコースワークなどはそれなりに楽しめた。
  • 楽しんだ後、表現駆動コースを選択したことに対して(勝手に)絶望した。

北海道回(6/28〜6/30)

f:id:who3411:20200605155147j:plain

そんなこんなで完全にモチベをなくした状態になったまま北海道回へ。北海道回では、グループをシャッフルした状態で、もう一度神奈川回までと同じようなグループワークを行いました。流石にグループの方々に迷惑だと思いモチベをある程度取り戻してはいたのですが、この時のグループの皆様には本当に多大なご迷惑をおかけしたと思います。

グループワークでもかなり無理くりな課題を設定してしまい、更にはその解決策も滅茶苦茶になってしまいました。今となっては本当に反省しています。この経験から、福岡回以降はかなりアイデア出しなどに関して消極的になりましたが、今思えばそれはそれで反省しています。

北海道回の3日間は、主に以下のようなことをやったと思います。

1日目のデータセンター見学はかなり記憶に残っています。データセンターのメモを見返してみたら、メモ欄が全て埋まっていて、更に残りの白い部分もかなり埋まっていました。詳しくは書かない方が良さそうなので省略しますが、とにかくすごかったです。

あと、2日目にワークショップが開かれたと思います。ワークショップではトレーナーの方々が用意した内容から、自分の受けたい内容を選択するものでした。私はネットワークや低レイヤーが好きなのでその関連を1つと、未だになれないプロジェクト開発関連のものを1つ選択しました。どちらもかなり面白かったと思います。

コースワークですが、基本的には神奈川回と同じことを違うグループで行うというものでした。ただ、その時に発表方法を意識したり、ポスターを用意したりと神奈川回とは違うこともいくつかありました。2分という短い時間で課題や解決策に関する発表を行うのはかなり難しかった記憶があります。

まとめとしては、以下のような感じです。

  • コースワークですごい反省した。
  • データセンターの見学楽しかった。
  • コースワークは神奈川回と同じ内容を違うグループで行った。

福岡回(8/21〜8/23)

f:id:who3411:20200605155104j:plain

福岡回でも、オンラインではこれまでと同様、グループを変更して新しく課題/解決を考えました。ここまでくると、思っていたより新しい課題を見つけるのが大変だった記憶があります。あと、福岡回は中間発表があるので、他コースではこれまでの進捗を元に色々と準備されていたようですが、表現駆動コースは北海道回後から福岡回までの内容だけで中間発表を行いました。

ただ、表現駆動コースでは、福岡回からは3人以上のグループを自分たちで作って、そグループを元に成果発表まで開発を行っていくことになります。なので、それぞれがどのような課題を元にグループを作るのか、そもそも仲間外れになったらどうしようか、みたいな話が流れてたりしました。

福岡回の3日間は、主に以下のようなことをやったと思います。

  • 1日目: 株式会社ヌーラボの見学
  • 2日目: 中間発表
  • 3日目: コースワーク

1日目のヌーラボさんの見学は、失礼を承知で言ってしまうと実はあまり記憶に残っていません。というか、正確にはヌーラボさん自身ではなく、発表内容の方が記憶に残っています。話の中では、運用中に受けたという攻撃の話もあって、個人的には特にそこが新鮮でした。演習でそのようなことはやったのですが、やはり運用中に実際に受けたという攻撃の話は面白いです。

2日目の中間発表は、ようやく他のコースの人たちが何をやっているのかがわかるようになるので、非常に面白かったです。(この辺りにならないと他のコースの人たちが何やってるかがわからないのは正直どうかと思いますが…)5コースの内容を聞いていて、個人的には学習駆動コースや開発駆動コースに憧れを持ちました。低レイヤーの話とか出てくると面白く感じてしまう奴です。あと、改めてコース選択ミスったなぁと思いました。

コースワークでは、成果発表まで課題に取り組むためのグループ作りがありました。おそらく、この時点で一度グループが決まったら、少し移動はあるかもしれませんが、基本的にはそのまま最終発表まで行く形になると思います。今思えば、何が何でもこの時点で自分のやりたいことを元にグループを集めるべきでした。が、結局コース内に同じ課題に興味を持ちそうな人がおらず(実際誰も興味を示しませんでした。多分今その話をしても覚えてない人のが多いと思います。)、色々とあってクエッーションとぼったくりガードに参加することになりました。つまり、私のやりたいことは一切できないことが確定した瞬間でもあります。

まとめとしては、以下のような感じです。

  • ヌーラボさんの発表が興味深かった。
  • 中間発表で5コースの話を聞けて面白かった。
  • 成果発表まで2つのグループで取り組むことになった。

宮城回(10/4〜10/6)

f:id:who3411:20200605155021j:plain

2つのグループで取り組むことになったわけですが、宮城回時点ではそこまで忙しくありませんでした。というのも、ぼったくりガードはすでに課題や解決策がほぼ決まっていて、あとはそれに沿ってサービスを作成するのが主な作業になったからです。そんなわけで、私はクエッーションの方に積極的に参加していました。

この時点では、まだ何をやりたいかも明確に決まっておらず、ぼんやりと「地方と教育とITを掛け合わせた何かをやりたい」といった感じでした。それがいつの間にか色々と変化していき、最終的には位置情報と質問をベースにしたシステムを作りたいと考えるようになっていきました。気づいたらグループの方がクエッーションという名前とロゴを作ってくださり、なんだかんだやる気になって来たところで宮城回に入ったと記憶しています。

宮城回の3日間は、主に以下のようなことをやったと思います。

この辺りまで来ると、コースワークや発表が中心になって来て、他の方の発表をみては焦る状態だったと思います。焦る原因は明らかに自分たちの進捗が遅れているからなのですが、自分たちは福岡回から、他コースの方は神奈川回から、それぞれ続けているから仕方ないかなぁなんて楽観視してました。(もちろん他コースの方も色々と苦戦しているのだと思っていたのですが、楽観視でもしないと焦りにやられてしまいそうだったので…)

宮城回時点では、私の参加していた2つのグループはそれぞれ以下のような状態でした。

  • ぼったくりガード: 簡単なPoCもできていて、少なくとも見た目は見せられる状態
  • クエッーション: アイデアだけできていて、まだイメージを図にしていただけの状態

クエッーションが明らかに恐ろしい状態であることがわかると思います。「正直これ最終発表までにシステムが完成するのか…?」と思っていました。また、このタイミングでクエッーションのアイデアに関して、トレーナーの方にアイデア出しを手伝ってもらっていたのですが、それでアイデアが発散してしまいました。それで、また一からアイデア出しを行う状態に戻ったのですが、それもあってさらに焦っていました。今思えば、当時はアイデアがうまく形になっていなかったから発散して当然か…と感じています。

あと、これは(悪い意味で)一番印象に残っているのですが、宮城回ではNight Challengeなるものがありました。表現駆動コースを2つのグループに分けて、それぞれで1つの制作物を宮城回中に作成する、というものです。結果、表現駆動コースのほぼ全員がホテルのロビーで徹夜する羽目になったのですが、なぜこのようなイベントがあるのか、今になっても理解できません。あれのせいで私は家に帰ってから体調崩して1週間以上寝込んでました。あれだけは本当に許さない。

まとめとしては、以下のような感じです。

  • 他コースの人の発表をみて焦る。
  • オフラインでも発表が増えて来て焦る。
  • 思っていたよりもクエッーションが遅れていることを知る。

愛媛回(11/29〜12/1)

f:id:who3411:20200605154902j:plain

宮城回でただでさえ他トレーニーよりも遅れている状態で、さらにアイデアが発散してしまった状態で、この時期から沖縄回までは焦りに焦っていたと記憶しています。グループ内でも流石にやばいのではないかとなり、この頃からは1週間に2回集まってアイデアを固めていたと思います。なんか表現するというか思索してる気がする…

愛媛回では、スライドとポスターの両方を提出する必要があり、これらを提出するためにはアイデアが固まりきっていないのでアイデア出しを多く行っていたのですが、なんだかんだまとめて行けたと思います。(締切駆動開発になっていることは今更です…)あと私事ですが、この時期は学会に参加していた時期なので、あまりSechack365側に参加できていませんでした。申し訳ありません。

愛媛回の3日間は、主に以下のようなことをやったと思います。

  • 1日目: デモ+ポスター発表
  • 2日目: スライド発表
  • 3日目: コースワーク

1日目と2日目に発表があることから分かる通り、もう愛媛回まで来ると、本来であれば自身の制作物をまとめる状態に来ています。(実際、愛媛回は沖縄回での発表練習と言われます。)そのような状態で、私の参加しているグループは、

  • ぼったくりガード: 宮城回で指摘された内容を治して、かついくつか機能を追加した状態
  • クエッーション: アイデアが完全にはまとまっておらず、簡単なPoCだけできている状態

といった感じでした。どうみてもクエッーションやばいですね…。とはいえ、宮城回ではアイデアをかなりボコボコにされていたのですが、愛媛回ではあまり色々と言われなかったので、アイデアがまとまって来たのかなぁと感じました。(優しくされただけの可能性もありますが…)

あと、主な内容には書いていないのですが、個人的には2日目の夜にあった落語がすごく面白かったです。普通の落語とは違い、PCなどを使っていたのですが、かなり新鮮でした。多分愛媛回で一番楽しかった時間だと思います。

まとめとしては、以下のような感じです。

  • クエッーションやばい。
  • 2日間の発表で、いよいよ成果発表が近づいていることを感じ始める。
  • 落語楽しかった。

沖縄回(1/31〜2/2)

f:id:who3411:20200605154811j:plain

ここまで来ると、多分普通は成果発表に向けての最終調整とかスライドの手直しだと思うのですが、相変わらずクエッーションは大変なことになってました。また、この時にぼったくりガードの方も少し慌ただしくなってきて、両方を並行して行うので大変だった記憶があります。

クエッーションは、最終的に今思い描いている実装を成果発表までに全て行うのが難しいという判断となり、とりあえずコンセプトが伝わる範囲での作成をしました。また、これまでうやむやにしていた部分の内容も詳しく考え直し、実装とスライド作りに追われていました。

ぼったくりガードは、実装する内容が増えたので、基本的にはそれに対応できるように機能を追加・修正していたと思います。ただ、作品紹介ページを見てもらえば分かると思いますが、ぼったくりガードは8人グループだったこともあり、途中から私のやった内容がどのようにグループ内の実装に影響を与えていたのかがわかっていないという状況にありました。

そんなこんなで色々と大変だった沖縄回前でしたが、沖縄回の3日間は、主に以下のようなことをやったと思います。

沖縄回では2日連続で成果発表がありました。中間発表では1作品5分だったのですが、成果発表では1作品20分も時間があって、自作品についてはじっくりと話すことができ、他作品についてはかなりじっくりと話を聞くことができました。作品によって見せ方や発表方法に工夫があるように見えて、正直かなり面白かったし刺激になりました。多分正確なイメージではないのですが、個人的にはかなりふんわりとした学会みたいなイメージを持ちました。

成果発表後の3日目には、レクリエーションとして斎場御嶽(せーふぁーうたき)に行きました。ここでようやく沖縄にいるような暑さを感じることができたました。(成果発表中の施設は、沖縄とは思えないくらい涼しかったです)一通り回って、かなりリフレッシュになったと思います。

まとめとしては、以下のような感じです。

  • 2日間かけて成果発表を話したり聞いたりした。
  • どの作品も様々な方面で工夫が見られて面白かった。
  • 成果発表を聞くだけでもかなり刺激になった。

成果発表会

本当は沖縄回の後に一般公開用の成果発表会もあったのですが、残念ながら開催延期になってしまいました。こんなご時世なので仕方ないですね…。ちなみに作品一覧のポスターは成果発表会に向けて作成したもので、結局見せることのないままSecHack365 2019としての事業は終了した感じです。

SecHack365を終えて(?)

f:id:who3411:20200605203957j:plain

成果発表会も延期となってしまい、なんだか終了したという実感の湧かないまま時間が過ぎていますが、私にとってSecHack365が終わったかというと、あまりそういうイメージもありません。というのも、いまだにクエッーションは制作を続けています。期間中は1週間に2回ほど行っていたオンラインでのミーティングは1週間に1回となり、クエッーションメンバー全員何かと忙しいので、かなりゆっくりですが…。

まだまだ延期になった成果発表会もあるので、これからもゆっくりと時間の許す限りは作り続けて行きたいと思います。

あといくつかリアルやtwitterなどを経由して質問されたことがあるので、この場で答えておきます。

旅行楽しい?

そもそも旅行感全くないです。確かにいろんな場所に行っている感じはありますが、別に行ったからといって観光できるわけでもないです。強いて言えばご当地名物食べてお土産が買えるくらいでしょうか。旅行目的で応募しようと思ってるなら応募しない方が良いと思います。

どのコースがお勧め?

人によるのでなんとも言えませんが、とりあえずチーム開発したくないなら表現駆動コース以外で、チーム開発をしたいなら表現駆動コースです。

セキュリティ強くなった?

正直応募前とほとんど変わらないと思います。元々セキュリティ系の研究室なのと、情報処理安全確保支援士試験を合格しているので、知識だけはあると思います。(実装力はないので詳しい話になるとさっぱりですが…)ただ明確に変わった部分として、法律面はそれなりに変わったと思います。詳しくは言えませんが、法律に関するセキュリティのお話もSecHack365内でありました。

技術力ないとダメ?

これはコースによると思いますが、チーム開発であればマネージャーのような役割をこなすことができるのではないでしょうか。また、研究駆動コースのような方面であれば、実装よりも仮説検証などがメインになると思う(研究駆動コースを受けてないのでこれはかなり適当な考えです)ので、絶対にこれだけ技術力がないとダメ!みたいなものはないと思います。結局、必要になればやらざるを得ないので、人に意見を聞きながらでも学習できるような意欲があればいいのではないかと思います。

おわりに

すごいざっくりと、そしてだらだらと1年間を振り返って見ましたが、やはり後悔が大きいですね。特にコースの選択を間違えたことはいまだに後悔していて、できることなら去年からコースを選択し直してやり直してみたいくらいです。とはいえ、表現駆動コースが悪かったというわけではなくて、表現駆動コースだったからこそ、そもそもやろうと思っていなかった複数人の開発ができたという面はあるので、そういう意味では貴重な時間を過ごすことができたと思います。単に私と表現駆動コースの相性が悪かっただけだと思ってます。

1年間という長い時間を学業や仕事と並行して行う必要があるので、もちろん大変ではあるのですが、やりたいことがあって、なおかつSecHack365に興味があれば応募してみると良いと思います。ただ、コース選択はくれぐれもお気をつけください…。