SecHack365の参加記録

はじめに

SecHack365に参加して1年が経ち、なんとか無事に修了することができました。軽い気持ちで受けたこのイベントでしたが、自分にとっては人生が一変するような刺激的な経験となりました。この場を用意してくださった全ての方々に対し感謝の念に堪えません。

sechack365.nict.go.jp

この記事では、SecHack365を通して学んだことについて,個人的な視点で書いていきます.とりとめのないトピックがつらつらと並んで大変恐縮ですが,少しでも次回以降参加される方に貢献できるならば幸いです.

応募時の気持ち

SecHack365というイベントを知ったきっかけは,Twitterでふと見つけたネット記事がでした.セキュリティ関連の研究をしていたので,NONSTOPを利用してみたいし(最終的に使いませんでしたが),第一線で活躍される研究者に指導されてみたいと思い応募を決めました.

アルバイトの時間が迫る中,締め切りギリギリまで課題を埋めた覚えがあります.非常に失礼な話なのですが,開発ができるわけではないし深い洞察が出来るわけでもないし…という消極的理由で表現駆動コースを選択しました.結果としてこのコースが一番自分に合っていたかなと感じ,選んでよかったと思いました.

応募に際して,学生の場合は担当教員との相談が必須であるとされていますが,自分は担当教員に特に相談せずに応募していまいました.自分の担当教員はこうしたイベントへの参加を好意的にとらえてくださる方だったための行動だったのですが,特にB4やM2は卒論・修論と被るので,いい顔をしない先生もいるかもしれません.なので,相談は必要そうだと感じました.

受かると思っていなかったので,電話で合格した旨を伝えられた際には嬉しさのあまり研究室でひとり棒立ちしていました.あふれる嬉しさをTwitter上でも表明したところ,経験のない「いいね」爆撃が発生し,何事かとTwitterを開くと,他のSecHack365参加者の方々にフォローされていました.

このときフォローしてくださった方のbio欄のすごさに自分は目を疑いました.スペシャリスト系の試験めっちゃ受かってるし,めっちゃ勉強会行ってるし,めっちゃ技術のこと詳しそうだし,「なんかやばいところに参加することになったな…」と戦々恐々としてしまいました.

 

表現駆動コース

自分は表現駆動コースに応募したと書いたのですが,本コースではとにかくアウトプットというか,まさしく「表現」を求められた印象です.

前半のオフライン回でのコースワークでは,自分のアイディアを発表してコメントをいただく活動が多かったです.自分で口に出したり,他の人からの指摘を受けたりすることによって,深く考えなおし,必然的に毎日自分の考えを磨いていくことになりました.

また,オフライン回では,Night Challengeという1-day(夕方から翌日の朝にかけてなので半日かも)のハッカソンが開催され,成果をプレゼン形式で発表しました.表現駆動コース内のトレーニーでランダムにチーム分けをして,テーマに沿ったプログラムを作ったり,将来のビジョンを提示したりしました.

これら二つの活動は,長期的な頭の使い方と,短期的な頭の使い方をそれぞれ学んでほしいという意図であったようで,非常に良い経験になりました.言われてみると頭の燃える箇所がそれぞれ違っていたようにも思えてきました.

 

チーム開発

SecHack365では,4人チームを組み,「プライバシーに配慮したTwitterクライアント “PEACE” 〜安心・安全なSNSを目指して〜」という作品名でデスクトップのTwitterクライアントを作成しました。ちなみに、PEACEとは"Privacy Enhanced Alternative Client for Education"の頭字語です。

本来応募時ではそれぞれ別のことをやっていたのですが,テーマが近かったり,興味があったり,といった動機で最終的に4人チームとなりました.2018年度のSecHack365では一番多い人数でした.

大体半分頃にチームが確定してから,週に1回,2時間程度のミーティングを行うようになりました.最終的に24回までしたので48時間くらいは話し合いました.重要な発表の前日にはほぼ毎回朝4時くらいまで作業したのを考えればもう少しいくかもしれません.忙しさにかまけて話し合いをしなかったら最終的によく分からない着地点に到達することはなんとなく想像できたので,ここを徹底することが出来てよかったです.

24回分のミーティングで,サービス開発や発表方法などを議論しましたが,そこまで掘り下げるかというところまで議論を掘り下げていったりもして,この点に関しては他のどのプロジェクトよりも考え抜いたのではないかという自負があります.

チーム開発ということで,Gitを利用してコードを管理していたのですが,自分は利用したことがなかったので苦労しました.根気よく教えてくれたチームメンバには感謝しかありません.

チーム開発で良かった点は,誰かが忙しい時に他の人がカバーできる点,機能を分担できるので最終的に開発物の規模感が大きくなりやすい点,より多くの人のチェックの目を通ることで発表資料のクオリティが上がりやすい点かなと思いました.

逆に欠点としては,個人でやるよりも意思決定が遅くなる点と,意思の共有に時間を費やしがちな点でした.気を付けないと何かと行動が遅くなる危惧があります.

チームでの議論を経て,いくつか反省したことがあります.一つは,自分が口頭で説明するのがめちゃくちゃ下手くそだったことです.話し言葉の語彙が貧弱な自分はすぐに「なんか」とか「あれ」とかで濁してしまうので,なかなか他の人に共有できずに申し訳なかったです.他のチームメンバはまさにドンピシャな表現で伝えてくださったので,議論するには議論の技術がいるなと思いました.

もう一つは,思うよりも論理の綻びに対して鈍感であったという点です.発表資料を作成する際に,気を付けないとすぐに良く分からない方向に進んでしまっていたので,チームメンバにその都度指摘していただいてなんとか形になる発表をすることができました.論理に対する美意識を常に持っておきたいです.

色々と思うところを書いてきましたが,チーム開発は本当に楽しくて,チームメンバの雰囲気も最後まで良かった気がします.考えの違う人同士でやるのでどうしても多少はピリつくこともありましたが,まさにこれこそ遅れてきた青春という経験でした.

開発能力の成長

成果物はVue.jsとPythonで作ったのですが,自分は授業で習ったC言語とJavascirptくらいしか書いたことがなかったので大変でした.

開発を進めていくうえで「REST APIって何?」「Node.jsとは?」と次から次へと疑問が出てくるありさまだったのですが,チームメンバの方々にも恵まれてどうにか乗り越えることができました.

今となってはこれらについてもある程度理解できたので,レベルとしては高くないとは思いますが,去年の自分に比べれば成長できたと言ってもよいのではないでしょうか.知らないことを知ることができて本当によかったです.

トレーニーとトレーナーの方々

最初のオフライン回でトレーニーの方々と対面したとき,オーラの違いというか,レベルの高さに愕然としました.同世代でこんなにもういわゆる天才エンジニアとしてバリバリやっている方がいるのかと,自分の見てきた世界の狭さを痛感したところでした.

実力的に,自分はどう贔屓目に見積もってもダメダメ村のダメダメ住人でしたが,それでも優しく接していただいて安心しました.自分の優秀さを鼻にかけることなく,ただひたすらに技術に誠実な方々ばかりでした.

トレーナーの方々にも本当に暖かく迎えていただきました.軍隊の教育を覚悟して臨んだ初回だったので,ほっとしたのを覚えています.

トレーナーの方はとにかくどんな話でも真剣に耳を傾けてくださいました.おそらくは日常に出すには憚られるようなエモも受け入れてくれて,すぐにポエムを吐き出してしまう自分にとっても精神的に過ごしやすい環境でした.

また,ただでさえ本業がお忙しいにも関わらず我々トレーニーに対し親身に接してくださいました.SecHack365ではプロジェクトとしてチームが固まり始めると,そのプロジェクトの担当トレーナーがつくようになるのですが,自分の場合は表現駆動,開発駆動,思索駆動のトレーナー陣が担当者になり,非常に多くの方にお世話になりました.特に週一のミーティングには遅い時間帯にも関わらず参加していただき,自分の生活を削ってまでサポートしてくださる姿に感動いたしました.若者のために命をかけられるような大人に自分もなりたいです.

 

習慣化とアウトプット

2018年のSecHack365では「習慣化」と「アウトプット」を特に意識してご講演されていたような感じがしました.

SecHack365オフライン会の初日にはマンダラートを埋めて自分がやるべき行動を分析し,それらを習慣化できるように各回でフォローアップされていました.

このブログも「勉強した成果をアウトプットする」の習慣化の一環として設立したものになります.

ブログ記事の投稿履歴を見れば一目瞭然だと思いますが,正直なところ今年は習慣化はうまくいきませんでした。2019年度はひと月に1回は更新したい…

もうひとつの柱としてアウトプットの重要性がよく語られました。SecHack365ではオフライン回がアウトプットの役割を持っており,ショットガンセッション,面談,ポスター,プレゼンと多様な形式で発表を行いました.

アウトプットに関わることでとても印象に残ったのは,トレーナーの方の「アウトプットはデバッグだ」という言葉です.アウトプットというと,とにかく批判に晒されるし,めちゃ怖いし…という印象だったのですが,単にエラーを潰すために行うものなのだと思うようになりました.考えてみれば当然のことなのですが,この言葉を聞いたおかげで,「うまくいくかな~」と軽くEnterキーを押すくらいの気持ちでアウトプットができるようになりました.

 

忙しさ

正直なところ,かなり忙しくなりました.自分は修士論文がなかなかうまくいかなかったこともあって,両方の成果が求められてくる11月から2月にかけては本当に精神が参ってしまい,幾度と体調不良に陥ってしまいました.

あまり良い印象を与えない物言いになりましたが,二足の草鞋を自らの意思で履いたのだから至極当然なことで,SecHack365が悪いのだということはもちろんありません.

念のためですが,SecHack365では習慣化が大事だということをモットーにされていて,とにかく無理をせずコツコツとやりましょうということを何度もお話しされていましたので,コツコツやらないとしわ寄せが来るという単純な話なのかもしれません.

最終的に優秀修了生という栄誉ある称号をいただき,これらの苦労は報われました.ただ,報われなかったにしてもここで得た苦労は一生ものの宝であると考えていたことと思います.苦しむことを分かっていても,参加することに意義はあったと感じました.

ところで,いつの時期にSecHack365を受けるべきかという話があるのですが,正直いつの時期に受けても忙しいのは忙しいし,つらいのはつらいので,自分としてはそこはあまり考えなくても良いのではないかと思いました.ただ,修士一年の人は授業や就活が被ってかなり厳しそうだったので注意が必要そうでした.

まとめ

自分は正直なところ意識の高い人間ではありませんでした.ほんの少しの努力で評価されるような,自分にとってコスパの良い世界に進んで身を投じ,ぬるま湯でゆったりとした世界にいたいような人間でした.

しかし,SecHack365に参加して,人生観がガラッと変わりました.できないと思うことも少しづつやっていこうと思えるようになりましたし、もしかしたら自分も世の中を変えられるような人材なのかもしれないと,端から抱きようもない根拠のない自信感も身に付きました.この自信感を持ってたくさん失敗してたくさん成功して,やがて行動に裏付けされた自信に変えていきたいです.

最終回では、今後は君たちのSecHack365が始まるのだという言葉で激励されました.修了は単なる第一歩で,これからまさしく365日,誠実に研鑽していくことで,いずれセキュリティイノベーターの入り口が見えてくるのだろうと思いました.自分はまだまだ半人前ですが,ちょっとずつでも頑張っていこうと思います.

あまり関係の無い個人的感傷

つい先日,自分の敬愛してやまないミュージシャンであるwowakaさんが永眠されました.

究極の個人的感傷で本当に申し訳ないのですが,自分が修士論文とSecHack365で苦しんだ時期に発表された楽曲である『ポラリス』に心の底から救われたため,たとえどれだけ本記事の意図に沿わない内容だとしても,どうしても書かずにはいられませんでした.

www.youtube.com

自分としては,この曲の伝える内容は,SecHack365を通してセキュリティイノベーターという修羅の道に足を踏み入れる方々にとっても決して無縁ではないと思ったので,最後のサビの歌詞を紹介させていただき,本記事の締めとさせていただきます.

ひとりきりのこの道も 覚めない夢の行く先も
誰も知らぬ明日へ行け 誰も止められやしないよ


また一歩足を踏み出して
あなたはとても強いから
誰も居ない道を行ける
誰も居ない道を行ける