task4233のめも

書きたいことをつらつらと

2025年の振り返りと2026年の目標を述べてみる

はじめに

新年あけましておめでとうございます。

年が明けたので、昨年の振り返りと今年の目標を書いていく。 昨年の類似エントリは以下の通り。

task4233.hatenablog.com

昨年は風のように過ぎ去った年だった。

2025年の振り返り

掲げた4つの達成目標(KR)と結果

それぞれの KR について、 🟢 / 🟡 / 🔴 の3色で達成度を割り振った。概ね達成していると思えば 🟢、一部達成していると思えば 🟡、達成していないと思えば 🔴 とした。

達成目標(KR) 結果 概要
1つ以上のプロジェクトを主導する 🟢 ・プロジェクトのPICをいくつか担当
・大きめの意思決定のために、他チームも含めてプロジェクトを進められた
月1回以上の外部発信をする 🔴 ・3, 5, 7~9月はアウトプットなし
・残りの月で計6回の登壇と4回の記事執筆を実施
2024年よりも人生の進捗を出す 🟢 ・結婚相談所に入会し、10名以上の方とお見合いを実施
・自分の良さや改善ポイントについて考え直す機会になった
習慣化をする 🟡 ・自炊、やる気を出すためにカフェへ行く習慣化は継続中
・元々実施したかった睡眠や運動の習慣化は未達成

それぞれ概要と思ったことを書く。

🟢 1つ以上のプロジェクトを主導する

プロジェクトのPIC*1をいくつか担当したので、結果はGREEN。

特に印象に残っているのは、大きめの意思決定のために、他チームも関連するプロジェクトのPICを担当出来たこと。このプロジェクトでは約3ヶ月で以下を担当した:

  • 8~9割の実装
  • フロントエンドメンバーへの実装依頼とリリース
  • ステークホルダとのコミュニケーション
  • データ利活用の設定とダッシュボード整備

さらに、意思決定に必要な情報を補うため追加の検証を実施した。並列で他のプロジェクトや他チームからの問い合わせを捌きつつ、これらをつつがなく実施できたのは良かったと思う。

一方で、プロジェクトのマネジメントに課題があると思った。特に、プロジェクトの見積もりやタスクの洗い出し。これらは複数チーム間でプロジェクトを進める上で目安として必要である。しかし、初めての取り組みであった上に、数ヶ月単位の正確な見積もりを出すことが出来なかった。結局、他のステークホルダとコミュニケーションをとっている過程で追加の要件がポコポコ出てきてしまい、結果として1~2週間の遅延になってしまった。

とはいえ、この出来事を振り返って仮にプロジェクト開始時に戻れたとしても、見積もりは変えないと思う。なぜなら、実装前に100%完璧な見積もりを出すのは不可能だと思っているためだ。私たちができる現実的な落とし所は、不確定な状態での見積もりを受け入れ、可能な限りはやく動くことなのだろう。

もちろん、クリティカルチェーンで触れられているようなバッファを持つことも1つの選択肢ではあると思う。それにより、タスク漏れや追加要件が来ても対応する余裕が生まれるので上手くいきそうに見える。しかし、私の経験上、締め切りを緩く設定してもきつく設定しても、不思議な力が働いて締め切りギリギリになってしまう*2

そのため、大事なのは最初から正確な見積もりを出すことではなく、新しい要件やズレに気づいた時に早めに共有することだと思う。他のチームメンバーももちろん優秀なので、事前に伝えればいかようにも対応してくれるはずだ。

総括すると、プロジェクトマネジメントには課題があるが、別に深く考えるようなことでもないと思った、という話だ。そもそも100%完璧なプロジェクトマネジメントが出来る人がいたら会って話してみたい。

ところで、話が少し逸れるが、プロジェクトを進めていた上で課題に感じたのが、実装からレビューへとエンジニアの負荷が移ったことである。t_wadaさんの資料でも言及されていたとおり、AI エージェントの台頭により「問題の構造が変わった訳ではなく、圧倒的に顕在化が早まっただけ」ではあるのだが、現実問題として開発においてレビューで開発がブロックされる機会が増えた。

この解消のために取り組んでいるのが、AI Agent によるコードレビューとモブプロライクな同期的レビューだ。

前者は AI Agent を PR 単位で稼働させること。これにより、レビュイーは作成した PR の正当性を客観的に見直すことができ、レビュアーの目に触れる前に PR の質をある程度まで担保できる。そのため、レビュアーはノイズが減らされた状態でレビューを進められるので、レビュー負荷を抑えられる。

後者は、PRのコンテキスト共有と実装方針を直接話しながらレビューする方法だ。モブプロに似ているが、コードの書き方のような初歩的な問題は AI Agent が事前に潰してくれているので、設計や要件的な話に注力して話を進めることができ、レビューサイクルを高速に回せるのが強みだと思っている。このためにチームメンバーの時間をブロックすることになるが、2人、多くても3人程度で進めることで、そのロスを減らし、迅速な開発サイクルを回すことができるようになったと思う。

これらの取り組みを定量的に比較するのは難しいが、直近で感じているレビューへの課題感への取り組みはこんなところだ。

🔴 月1回以上の外部発信をする

以下の通り、8つの月で計6回の登壇と4回の記事執筆をした。しかし、4つの月で外部発信をしなかったので結果は RED

外部発信
1月 embedパッケージを深掘りする / Deep Dive into embed Package in Go - Speaker Deck
GitHub - task4233/ctf4b-web-2025-kanazawa
2月 GitHub - mercari-build/mercari-build-training
4月 ・新卒研修(Go)*3
6月 ngrok の代わりに Cloudflare Tunnel を使い、ローカルサーバーを独自ドメインで公開する #cloudflare - Qiita
Unleash Mercari Tech! vol.6:メルカリ技術書典部
10月 pprof vs runtime/trace (FlightRecorder) - Speaker Deck
11月 Unleash Mercari Tech! vol.7:メルカリ技術書典部
12月 GitHub - task4233/gwc-profiling
メルカリ内部の Dynamic Client Registration 活用事例 | メルカリエンジニアリング

そもそも、背景として私の2024年の発信が社内に閉じていたため、外部にも発信することで技術コミュニティへの貢献や1エンジニアとしての価値の底上げが狙いだった。その点では外部への発信が出来たので良かったと思う。そもそも、毎月の外部発信という KR は Too Bold だったかもしれない。

いずれにせよ、この外部発信は2026年も続けていくつもりだ。その理由は、外部登壇や発信によって刺激を受けられるからだ。というのも、この3年間エンジニアとして働いて感じるのが、社内の人とだけコミュニケーションを取っていると、世界がどんどん閉じてしまうということだ。これにより、新しいことに対する嗅覚や関心が錆びついてしまうような気がする。そこで、外部発信をすることで、この錆びついた感性を研ぎ直すことに繋がると思うし、そこで得た学びを社内で共有すれば社内の他のメンバーにも良い影響を与えることもできる。

なので、2026年も同様にして同じ目標を掲げて外部発信を続けていくつもりだ。

🟢 2024年よりも人生の進捗を出す

10月に結婚相談所に入会して、お見合いを何度か続けているので結果は GREEN

入会のきっかけは、周囲の人間の結婚ラッシュだ。実際に、2025年だけで友人の結婚式に2回出席し、友人の結婚報告を4回聞いた*4。ひとりで生きていたならばこんな気持ちにならなかった*5し、結婚相談所への入会に踏み切れなかったと思うので、本当に環境の力は絶大だなと思う。

環境といえば、婚活という環境の副産物として、自分の良さと改善ポイントに気付けることのありがたさをひしひしと感じている。というのも、前提として、私は理屈っぽい話し方になってしまうタイプであり、相手の感情を蔑ろにした直接的な表現や発言をしてしまうことが時折ある。そのため、いわゆる感情が優位になるタイプの人とのコミュニケーションをとると、お相手を不機嫌にしたり不快な気分を抱かせてしまうことも少なくない。

エンジニアとして事に向かう環境においては、ありがたいことに私のようなタイプに理解のある人が多い。そのため、今までは感性が合う人とだけコミュニケーションを取れれば良い、と思っていた。しかし、婚活の過程で多種多様なタイプの方と話しているうちに「少しずつ改善するチャンスなのでは」と思うようになってきた。なぜなら、同じようなタイプの人が2人いた場合、お相手の立場に立てば、感情にも寄り添えるタイプの人を選ぶのが自然だと思うからだ*6

このように、婚活のお見合いやデートは、試行錯誤を繰り返しつつ改善の一途をたどれる貴重な機会だと思う。もちろん、これを主眼に置いて婚活をしている訳ではないのだが、副産物として良いなと感じたので書いてみた。今のところ、私はこの辺りに成熟しておらず成婚退会するお相手に到達していない*7と感じているので、退会できた暁には note の記事でも書こうかと思っている。

🟡 習慣化をする

元々予定していた睡眠や瞑想、運動の習慣化は継続していないが、自炊や休日の習慣化は継続しているので結果は YELLOW

最初は、上手く行った取り組みから。

まず、自炊の習慣化は仕組みによるものだ。というのも、自炊をしていなかった時は近くのラーメン屋へ行って済ませていたことが多い。これらのラーメン屋さんは現金のみ対応のお店が多いので、現金をそもそもお財布に入れないようにしたり、カード類の情報を全て iPhone の Wallet に入れて管理することでお財布を持ち歩かないようにした。その結果、そもそもラーメン屋さんの前を通っても食券を買えないので、仕方なくスーパーで具材をクレジットカードにて購入して帰る習慣になったためだ。これは、仕組みで習慣を身につけて上手く行った例だと思う。

次に、休日のやる気を出すためにカフェに行く習慣は、ハビットスタッキングによるものだ。ハビットスタッキングとは、すでに習慣になっている行動に、新しい習慣を連鎖させていくテクである。このテクに則って、休日のやる気が出ない時は、ダーツ→コメダへ立ち寄る→作業という習慣が身についた。最近では更に連鎖していて、何もない土日はダーツ→コメダ(作業)→散歩→スーパー→洗濯→お風呂→ご飯→作業通話という流れが習慣化している。前述した婚活のお見合いがある時でも、合間にコメダに立ち寄ると自然と作業するようになった。これは、テクによって上手く行った例だと思う。

そして、上手くいかなった取り組みについて。

まず、睡眠。これは主に、作業内容が頭から離れなくて寝れないケースが多かった。理想的には、先に寝て頭がまっさらな状態で作業すれば良いのだが、起きれない不安や中途半端な状態が気がかりで寝れないことが多く、結果として夜更かししてしまうケースが多かった。この対処法として、睡眠薬を処方してもらうこと、起きる時間を一定にすることなどが挙げられるが、お薬に頼るのは避けたいので後者になりそう。

次に、瞑想。これは恩恵が感じられなくてやめてしまった。瞑想自体に効果がありそうなのは書籍等で言及されているので1年間くらいは続けたいなと思う。そのために使えそうな仕組みが小さな習慣の内容で、最初は1分で良いので就寝前に瞑想をする習慣を続けてみようと思う。

そして、運動。これは、時間が取れなくてやめてしまった。2024年は、シカゴのGopherCon へ行った時に現地でランニングしていた人の姿に感化され、一時的にランニングをしていたが、1月ごろから多忙により優先度が下がってしまった。これも、小さな習慣で触れられていた、「ウェアを着る」というような小さなステップから始めたり、「ウェアを着る、またはアブローラーを1回する」というような条件分岐を挟んだりするなど、やり方は色々ありそう。2026年末には、運動が習慣化できた、と言える状態を目指す。

思ったこと/ほか

目標とは関係ない、思ったこともいくつか書く。

振り返りの時間が不足している

不足している。これは目標とは関係ないが2025年に強く課題感を持ったことで、木こりのジレンマに近い内容だ。そのため、日々の生活の中で課題をぼんやりと抱いているが、それについて熟慮する時間もなく、問題を抱き続けているということだ。

実際に、2025年は月ごとの振り返りを実施できなかった。しなかっただけとも言うが。

だからこそ、2026年では毎日1分程度で良いので、その日の振り返りと次の日にやることを書く時間を持つつもりだ。正直、30分くらい持ちたいが、最初から長い時間を持つと習慣化できない気がするので、この程度の時間から始めたいと思う。そして、月ごとの振り返りも復活させる。時間的に確保が難しいとしても、後から自分で読み返せるようにしたいので、遅くとも月明けの第1週のうちに公開するようにする。

一人旅からしか得られない養分がある

ある。特に経験と体験という文脈で。これは、DIE WITH ZEROで有名な内容であるが、経験の複利効果に基づくものだ。

実際に、今年は広島→岡山→香川の一人旅と、和歌山→大阪の一人旅に行ってきた。 広島→岡山→香川の旅では、宮島で鹿と戯れたり、kaitoさんとご飯へ行ったり、石化したマナティを見たり、直島で様々なアート作品に触れてみたり、美味しいおうどんを食べたりした。 和歌山→大阪の旅では、高野山の寺社仏閣を拝見したり、その足で滝を見に行ったらレンタカーのタイヤがバーストして数時間待ちぼうけを食らったり、サマータイムレンダの聖地である友ヶ島へ行ったり、大阪最大級の古墳である仁徳天皇百舌鳥耳原中陵を見たり、道頓堀を見たり、よしみさんとご飯を食べたりした。

いずれも、一人旅だからこそ享受できた経験・体験だし、こんな自由なことが出来るのも残されたところ数年のうちだと思うので、2026年も時間が許す限り一人旅をしてみようと思う。今のところ山陰のあたりと東北の北の方に行きたいなと思っている。

2026年の目標

2026年は習慣化の年にする。習慣化を進める上で大事にしたいのが、小さな習慣で触れられていた、小さな単位から始めることである。やはり、最初から大きな目標を掲げて挫けるのは非常に勿体無い。だからこそ、最初から完璧な習慣化をするのではなく、少しずつ習慣化の幅を広げていくつもりだ。

習慣化で取り組みたいリストは以下の通り。

  • 早起きと作業
  • 運動
  • 瞑想
  • 外部発信
  • 英語学習
  • 振り返り

これらはあくまで現状やってみたいことであり、大事なのはこれらを達成することというよりかは、習慣化のサイクル/方法論を身につけることだ。

それと他に、仕事においてもう少しプロジェクトマネジメントの素養を持てると良いなと思っている。これは、粛々と今やっていることを続けていけば研ぎ澄まされていくものだと思うので、深くは言及しないでおく。

おわりに

今年もよろしくお願いします。 それと、雑にご飯に行けると嬉しいので、ぜひ行きましょう。

*1:Person in Charge

*2:なぜなのか

*3:資料が公開されていなかった

*4:本当にめでたい

*5:このフレーズ好き via SUPER BEAVER「ひとりで生きていたならば」

*6:前提として、婚活では、並列で初対面の人とお会いするのがベースであり、たった複数回のデートを通して相手を見定める試行を繰り返す

*7:真剣交際に進んでくださる神のような方が1人いらっしゃったが、諸事情あってごめんなさいした。婚活、本当に一筋縄でいかないと思う。

2024年の振り返りと2025年の目標を述べてみる

はじめに

2024年お疲れ様でした!

昨年末は別の記事執筆にMPを費やしたため、本エントリの執筆が遅くなってしまいました。こちらでの昨年の振り返りと今年の目標を以って、私の2025年の開幕となります。

端的に振り返ると、昨年は閉じたコミュニティの中で奮闘した年でした。その中での貢献は概ねできたと思うのですが、外部に向けた発信が少なかった*1のが課題だったと感じています。そこで、今年は外部発信を増やす年にします

プライベートにおいても幾らか進展がありました。しかし、昨年も気分の浮き沈みが激しく、やる気が出る時と出ない時でアウトプットと生活に大きく変化がある年でした。そこで、このやる気の平滑化のために、今年は習慣化に力を入れます

昨年の振り返りはこちら、月ごとの振り返りはこちらです。

もくじ

2024年の振り返り

前述の通り、昨年は狭いコミュニティの中で奮闘した年でした。本業では所属している組織の中で、プライベートでは関わっていたコミュニティ/人間関係において、昨年は私が出来ることを淡々とこなす人になっていました。その結果、本業でも副業でも、大きめのコミットメントが出来ました。

これらも含め、本セクションでは2024年の頭に公開したエントリに沿って各目標の振り返りを述べ、その後に他の振り返りを述べます。

昨年に掲げた6つの目標

次の6つの目標を掲げており、4/6達成、2/6は未達成でした

  • [未達成] 1つのプロジェクトを主導する
  • [達成] MECTでB2以上のスコアを得る
  • [達成]チームが保持するドメイン知識および周辺知識の概要をソラで説明できるようになる
  • [達成]人生の進捗を出す
  • [未達成] 悪い習慣を良い習慣で上書きする
  • [達成] 運動癖をつける

それぞれ振り返っていきます。

1つのプロジェクトを主導する

プロジェクト全体の主導には至りませんでしたが、ユニットが担当する機能開発においては主導できたと思います。実際に、期末のPeer Reviewにおいて、担当する機能開発について他チームのメンバーから良いフィードバックを頂けました。

一方で、私の積極性を更に高める必要があると痛感しました。なぜなら、他チームとのコミュニケーションは、依然としてTL的立ち位置のメンバーにかなりのサポートをしていただいたためです。一昨年と比較して昨年の私のコミュニケーション頻度は増えたので、積極性は高まっていると思います。しかし、まだまだ改善の余地はあると思うので、今年は更にコミュニケーションの頻度を増やし、よりアクティブにプロジェクトに参画するつもりです。それにより、最終的にはユーザに良い体験をお届けすることに繋がると思うので、引き続き改善していこうと思います。

MECTでB2以上のスコアを得る

英語スキルを測る社内固有のMECTというテスト結果に応じたCEFR準拠(らしい)グレードにおいて、B2の1つ上のC1 lowを取得しました✌️

グレードが上がった要因は、業務で英語を使うチームに所属していたためだと思っています。これは英語学習に限った話ではないのですが、何かを学ぶときに大事なのは環境だと思っています。その点で、私の所属チームでは英語を使えなければ死ぬ環境だったからこそ上達できたのだと思います。環境を提供してくれたチームには感謝ですね。

一応、社内の制度でSpeak BuddyCOMASといった外部の英語トレーニングを受けてもみました。しかし、これらはその場限りの英語コミュニケーションなので、効果が薄かったと思います*2

また、余談ですが、英語学習に関してEMから助言されたことで記憶に残っていることが1つあります。それは、飽くまで英語はコミュニケーション手段の1つに過ぎず、英語の習熟度を上げ続けることに固執しなくても良いかもしれない、ということです。

もちろん、英語の習熟度を上げることは大事なことだと思います。相手が話していることを正しく理解し、自分が考えていることを相手に齟齬なく伝えるためには必須なので。しかし、習熟度が高いはずの母語においても、相手が話していることを誤認したり、自分が伝えたいことを正しく伝えられなかったりすることは容易に発生します。そのため、最低限のコミュニケーションが取れるレベルまで到達すれば、無理にそれ以上の学習をする必要はないかもしれない、と最近は思っています。

実際に、とある社内のCS問い合わせにおいて、英語コミュニケーションが長引いていた時に、動画のキャプチャをシェアすることで一瞬で解決した事例がありました。このようにして、英語が話せない/聞き取れないからダメ、という発想ではなく、コミュニケーションを成立させるために、問題を解決するために何が必要か、という視点を持つことも大切だと思いました

チームが保持するドメイン知識および周辺知識の概要をソラで説明できるようになる

説明できるようになったと思います。

実際に、昨年は社内の他チーム向けにドメイン知識等を説明するミーティングを設定したり、新卒向けの社内研修で認証認可に関するオンボーディングを担当したりしました*3

engineering.mercari.com

更に、技術書典における寄稿やアドカレの記事執筆等でも基本的な内容は説明できていたように思います。

techbookfest.org

qiita.com

私は今のチームに入るまで認証認可関連の知識が殆どゼロだったのですが、約2年間Digital Identity関連の業務に携わらせていただいたおかげで、多少はこの辺りの分野に詳しくなったと思います*4。2年前、ほぼ素人の状態から受け入れてくれた今のチームには感謝しかないです。ここで得られた知見は少しずつ還元していければなと思っています。

人生の進捗を出す

結局別れたのですが、彼女を見つけ、数ヶ月間付き合ったので、本当に微弱ながら進捗は出せたと思います

詳細は省きますが、今年も引き続き目標として掲げておきます。

悪い習慣を良い習慣で上書きする

悪い習慣といえば、夜更かしをしがち、とか、食事を雑にしがち、とか、数え上げると枚挙に遑がありません。昨年のエントリでは夜ふかしについて触れていたので、ここでは夜ふかしに絞ります。

夜更かしに関して言えば、全く改善していません。実は、朝に作業通話をする、といったアクションを掲げていたのですが、普段作業通話をしている友人は皆夜型なので、まぁそれは改善しないですよね、という話です。そもそも、夜に寝ようとしても寝られない時があるんですよね。一時期、睡眠薬の利用も検討したのですが、お薬中毒者になるのが怖かったのでやめました。

色々と本を読んで、対策も色々と試してみたのですが、劇的に改善するものはありませんでした。悲しいですね。

とはいえ、この辺りの話題は思い詰めると悪化しがちなので、夜更かしが酷すぎると感じた時は少し早めにお布団に入るとか、夜ご飯の時間を早めるとか、そういった小さなことを実行するだけで良いのかなと思いました。

運動癖をつける

驚くべきことに、ランニングの習慣をつけることができました。偉業です。

きっかけは、過去のエントリでも書いた通り、GopherConでシカゴの街中を散歩した時に、多くの人々がランニングをしていたことに衝撃を受けたためです。おかげさまで、7月の帰国後から定期的にランニングをするようになり、11月には計120km、連続18kmのランを達成しました。自分でも驚いています。

来年以降もライトに継続したいです。

昨年の目標における総括

前述の通り、6つの目標のうち、達成したものが4つ、未達成が2つでした。どれもストレッチゴールだったので、まずまずの結果だったと思います。達成できなかったものに関しては、今年再度トライしたいです。

特に、運動癖がついたのは良かったです。今までは運動といえば散歩のみだったのですが、ランニングは良い息抜きになりますし、継続による自己肯定感を得つつ、ワークアウト中にポッドキャストも聴けるので一石二鳥という気持ちです。

ポッドキャストといえば、僕のオススメポッドキャストを幾つか載せておきます。ポッドキャスト、気軽に他人の考えをインプットできるので良いですね。

他のこと

昨年の目標にしていなかったけれども、私の中で大きな変化に繋がったものを書きます。

セキュリティ関連の副業について

大体こちらのエントリに書いた通りです。副業はもちろん大変ではありますが、中高大学生の時は月曜日から土曜日まで学業に勤しんでいたので、正直あの頃の方が大変でした。それに加え、副業は本業で気持ちが尽きそうだった時に良い気分転換になったので、声をかけてくださった某氏には本当に感謝しています。そして、最終的に困難な状態を乗り切ると自己肯定感が爆上がりするので、程よくストレスをかける手段としては良かったと思います。

それに加え、本業とは異なるWebセキュリティ系のドメインでお仕事が出来ているのも良いと思っています。私は、今後の生存戦略としてはドキュメントにまとめてある通りで*5、バックエンドとWebセキュリティの2軸で希少性を高めようと思っています。その点で、現在の副業は、私の第二の刃を錆びさせないためにも意味のあるものなので、引き続き続けていこうと思います。

task4233.notion.site

最近は別件であまり稼働できていなかったのですが、サービスの立ち上げ期でガッツリ携われたのは良かったです。引き続き、機能開発等で貢献していければ良いなと思います。

Twitterのサブ垢削除

作業の合間にTwitterを開いてしまうのが良くないなと思ったので、5月にサブ垢を消してスマホSNS系の通知を全て消しました。そして、技術的な発信は社内のアルファツイッター*6のみに絞りました。その結果、Twitterを開く頻度が激減した一方で、外部からの刺激・情報も激減したので、SNSは変に縛らずに使った方が良いのではないかという気持ちになりました

社内のアルファツイッターだけで発信していると、やはり影響を与えられるのは閉じたコミュニティの人々に限られます。それに加え、長期的に見ると外部にも影響を与えられる人間でありたいので、冒頭で述べた通り、今年は外部発信の機会を増やします。それに併せてTwitterのサブ垢も復旧しました。友人曰く、最近のTwitterはスパムばかりでしょうもないらしい*7ですが、本当にどうしようもなさそうならBlueskyかmixi2へ移ろうと思います。一応リンク一覧は置いておきます。

2025年に達成したいこと

前述の通り、昨年達成できなかった以下の目標は据え置きとします。

  • 1つのプロジェクトを主導する
  • 昨年よりも人生の進捗を出す

それに加えて、今年は技術的な外部への発信を増やします。そして、プライベートにおいては習慣化に力を入れます。昨年よりは目標の数が大分少ないのですが、目標を増やしすぎて動きづらくなるのも考えものなので、このくらいで良いかなと思います。

月1回以上の外部発信をする

します。前述した話にもつながってくるのですが、閉じたコミュニケーションをしていると得られる情報や刺激に限りがあるので、月1回以上の外部発信をします。外部発信の形態は、外部登壇、記事の執筆のいずれかにしようと思います。

やはり、インプットとアウトプットがどちらかに偏るのは避けた方が良いと思いますし、いつまでも内部に閉じた活動をしているとスケールしないので、今年は外部発信に挑戦します。

習慣化をする

いくつかの習慣化をします。数年前のSecHack365の頃は実践していたのですが、最近は習慣化を疎かにしている節がありました。

それに加え、昨年の課題として、やる気の浮き沈みが激しいことが挙げられます。この理由を色々と考えてみたのですが、1つの仮説として、日常生活における、その場限りの試行が増えたためではないかと考えています。ハッカソンのように一時的な試行は楽しいのですが、ここには再現性がなく、プロフェッショナルな振る舞いではないように思います。

そこで、やる気の浮き沈みを減らすために今年は様々な習慣化に取り組んでみます。習慣化対象は現時点では明確にしません。なぜなら、私は年単位で目標を立てて進めても、経験上では大抵その通りにならなかったためです。そのため、習慣化をする、という大枠での目標に留めて、来年の振り返りで何を習慣化できたかについて振り返る予定です。

習慣化の基準として、同じ行動を66日続けられたら成功とします。これは、私が普段使っているみんチャレというアプリケーションの記事で紹介されていた内容で、習慣化するまでの期間は平均66日だったと書かれていたためです。簡単にいえば、2ヶ月程度ですね。

現状で取り組んでいる習慣化は以下の通りです。

  • 1日1食以上の自炊
  • 寝る前の瞑想
  • 後回しを避ける

これにより、どれだけやる気の浮き沈みを抑えられるかは謎ですが、ひとまず試行することに価値はあると思うので、やっていくつもりです。

おわりに

数日遅れてしまいましたが、以上が昨年の振り返りと今年の目標です。

昨年は、冒頭でも書いた通り、閉じたコミュニティの中で奮闘した年でした。これにより閉じたコミュニティの中で様々な貢献が出来たのですが、スケールしない取り組みでした。長期的に見ると井の中の蛙になってしまうので、今年は外に目線を向けて活動をしていきます。実際に、1月は福岡におけるGopher's Gatheringにおける登壇およびSECCON Beginners 2025 金沢におけるWebの講師を担当する予定です*8

また、プライベートにおいても、行き当たりばったりの行動が多かったです。限界の状態における刹那的な行動は非常に楽しいのですが、やはり浮き沈みが激しいので不十分だと思っています。その浮き沈みのある活動を是正すべく、今年は習慣化に力を入れます。

最後になりますが、昨年も閉じたコミュニティにおいて、様々な方々にお世話になりました。特に、本業/副業のチームメンバーには本当に様々な面でサポートしていただきました。私は来年で3年目のエンジニアになる訳ですが、学んだことを少しずつ他の方々に還元することが出来ればなと思っています。

では、今年もよろしくお願いします。

*1:寄稿1件と外部登壇2件のみでした: https://www.task4233.dev/#publication

*2:コーチの方々と雑談をするのは楽しかったですが

*3:インターネットフリー素材がまた1つ増えました

*4:チームが先進的なことを積極的に導入しがちなことも要因の1つではある

*5:私はこんな感じのドキュメントを幾つか持っているのですが、公開しても減るものでもないので公開します

*6:Slackの個人用チャンネルのことです

*7:インプレゾンビが大量発生しているらしい

*8:未だにSECCON Beginnersをやっているのは結構厳しいので、新たにチャレンジしたい学生の方がいらっしゃれば、DMなり何なりでご連絡お待ちしております

2023年の振り返りと2024年の目標を述べてみる

はじめに

2024年へ繋げることを主眼に置いて、2023年でやったことおよび思ったこと、ならびに2024年の目標をそれぞれ書く。tokizoさんが執筆されている月ごとの振り返りに触発されて4月から毎月振り返りを書いてきたので、月ごとの振り返りはしない。

もくじ

2023年の振り返り

やったこと

3月までは学生、4月からは社会人として活動していた。

本業 趣味
学生(~3月) - マルウェア検知システムに関する研究・修論・外部発表
- 技術系のインターン(アルバイト)
- 旅行
- 初めての経験
- 引越し
社会人(4月~) - IDPチームでの業務
- Build@Mercari、Mercoin Hackathonのメンター
- セキュリティ・ミニキャンプの講師
- 社の技術書典の部誌に寄稿
- Go Conferenceでの発表
- TsukuCTF, SECCON(Begineers)の運営
- ご飯
- ダーツ
- 脱出ゲーム
- 料理

これらに関して、思ったことを幾つか書く。全て読むと時間がかかると思うので、上部のもくじを活用してほしい。

思ったこと

社会人になる前に遊んでおいて良かった

社会人になる前に旅行や1人遊びをしていて良かったという話。これは私が不器用なだけかもしれないが、社会人になってから休日が新しく何かをするための時間ではなく息抜きのための時間になっている気がするからだ。この捉え方は業務への"慣れ"が関係していると思うので時間と共に薄れていくと思うが、少なくとも今は学生のうちに遊んでおいて良かったなと思う。

ちなみに、私は興味が移ろいやすいので、2~3月にやりたいことリストを作って1つずつ実践する形を取っていた。

このために貯蓄がいくらか減ってしまったが、お金に変えがたい経験と思い出を得られた。DIE WITH ZEROで言及されているように思い出は複利効果が働いて美化されるので、来年から新社会人になる人がいれば遊べる時に遊んでおくことをオススメしたい。

学生と社会人は違う

学生と社会人では、立場や社会的な扱いなど異なる面を挙げれば枚挙に遑がないが、大きな違いは開発の主体が個人からチームへ移ったことだと思う。

これは所属チームに依存すると思うが、私の所属するチームは各自が個人技で殴りながらもチームとして同じ先を向いているように思う。学生の頃は、基本的に個人で動いていたように思うが、他のチームと協力して何か1つの大きなものを作る経験に乏しかったので、この変化が私には大きく映った。

学生はすごい

メンティーの立場からメンターの立場へ変わった時に"学生はすごい"と強く感じたという話。前述の通り、私は学生から社会人という立場へ移行した訳だが、Build@MercariのメンターとMercoin Hackathonのメンター、セキュリティ・ミニキャンプの講師を担当させていただいた時、ネフェルピトーを見ている時のネテロ会長のような気持ちになっていた。

これを最も強く感じたのは、「価値交換の新たな未来をつくるプロダクト/機能を開発せよ」という曖昧なゴールへ向けて奮闘するMercoin Hackathonでのメンター経験である。このハッカソンで私が担当させていただいたチームは途中までアイデアが上手くまとまっていなかったので、メンターとして非常にヒヤヒヤしていた。しかし、その不安は杞憂に過ぎず、発表時には綺麗にまとめ上げてくださり、学生ではなく1人の人間として"すごい"と感動してしまった*1

私がインターンをしていた時にメンターさんから「学生なのにすごい」ということをよく耳にしていたのだが、その言葉の意味がようやくわかった気がしている。

チームでの存在感を増していきたい

まだまだ私の存在感がチームの中で小さいと感じており、それを増していきたいという話。なぜなら、チームとして何かを推し進めていく上で存在感が必要だと考えているためだ。しかし、僕のチームは10人以上が所属しており全員がデフォルトで強いエンジニアなので、その中の主要メンバーになることは、そもそも難しいと思っている。そのようなこともあって、発言やプロジェクトでの関与は増えているが、ガッと複数人の舵を握って推し進めることが出来ていないチームではちっぽけな存在である、というのが現状の自己評価だ。

大きなブロッカーとなっているのは大きく分けて3つあると考えている。1にドメイン知識の理解不足、2に周辺知識の理解不足、3に稚拙な英語コミュニケーションだ。それぞれ少し掘り下げる。

1つ目のドメイン知識の不足は、所属しているチームが取り扱う概念が多くて難しいという、新メンバーにとってはチャレンジングな環境なので起きている問題だと捉えている。この問題はメンターに1つ1つ教えてもらうことも出来たのだが、そもそもチーム自体が忙しいことに加え、1人でキャッチアップしたい気持ちがあったために、実際にタスクを進めながら学ぶという選択をした。

2つ目の周辺知識の理解不足も、原因は同様であると捉えている。私は認証認可関連の業務に携わっているのだが、チーム配属当初はOAuth 2.0OpenID Connect自体も理解していなかった状態だったので、かなり苦労している*2

3つ目の稚拙な英語コミュニケーションは、表現のバリエーションの少なさと会話に不慣れなことが理由で起きている問題だと捉えている。ここに至るまで、DeepLの利用や平易な単語・フレーズの習得、日本語でよく使うフレーズの習得、Speak Buddyの受講などを経ており、一応成長はしていると思う。その証拠に社内のMECTという英語試験ではスコアがA2 highからB1 highへ上がった。とはいえ、これは上記の努力よりも、所属チームの公用語が英語であるという環境のおかげだと思っていて、更にステップアップできるのかという不安がある。それでも、今後は表現のバリエーションの拡充と英語コミュニケーションの慣熟によって向上させていく予定だ。

会話はしないと下手になる

1人暮らしを始めて会話の頻度が減ったので、会話が下手になったと感じているという話。

そもそも、私は会話をする時に話が飛びがちだと言われる。これは、私が関連している話題だと思っていても、それを上手く言葉で相手へ伝えていないので、相手からすると話が飛んだと感じるためだと思っている。このような問題は会話をすることで鍛えたり矯正したり出来るが、1人暮らしを始めてから会話の頻度が極端に減ったので下手になったなと強く感じる。

会話を毎日できるような相手を見つけたくはあるが、1時期ずっと会話をしていたら本業に支障をきたすようになってしまったので週1にした。最近は週1だと少ない気もしているので、どうしようかなと思っている。

料理は人並みに出来た方が良い

ご飯に関して、自炊という選択肢を持っておくと、生活がより豊かになると感じたという話。

実は、私は1人暮らしを始めてフルグラとプロテインでやり過ごす限界生活をしていた。これは、9月ごろまで食事に対して"食事=栄養を摂取するもの"といった思想を私が抱いていたためだ。けれども、それを見かねた料理好きの友人が協力してくれたおかげで、自炊を少しずつ楽しめるようになってきた。その内容は、友人が課題レシピを設定し、私がそれを作り、友人が私の作った料理を評価するというものだ。正直なところ、このコメントが辛辣なので負けじと取り組むことができたと思っている。

勝手ながら、個人的に秀逸だと思ったコメントを抜粋して紹介したい。

「ハンバーグ作りを連続で失敗する人、初めて見た」
「え、うん、苦手ながらに頑張って作ったことは伝わってきたよ」
「大事なのは見た目よりも味だもんね」
「これ、もしかしてキャベツの千切りのつもり?」
「味見しない派なんだ、へー」

今見返すと京ことばみたいになっていて笑う。実際はこういうコメントばかりではなくて、良いところは褒めてくれたし、アドバイスもくれたので本当に助かっている。来年も続くのか分からんけど、続いてくれると嬉しい。

新しい趣味を探したい

趣味は散歩なのだけど、もっと没頭できる社会的な趣味を身につけたいなと思う。ピアノやダーツ・ポーカーは趣味ではあるのだけど、エンジョイ勢なので上手くなろうと思えるほどではない。だからこそ休日に没頭できるような趣味を見つけたいなと思う。今のところCTFが有力候補ではあるが、技術から離れた趣味の方が良いのかなという気持ちもある。そう考えると脱出ゲームが一番現実的なのかなという気持ち。

今年は職場の部活と同期のおかげで、5つ以上の脱出ゲームに参加することが出来た。いつも誘ってくれる@ntk_ta01、そして脱出ゲーム部のみんなありがとうという気持ち。個人的に一番良かった脱出ゲームは「君は明日と消えていった」で、今でもオプショナルで閲覧できる限定公開の動画を見て泣くことがある。本当に良い公演を作ってくれてありがとう。再公演が決まった時は、ぜひ皆さんにもチャレンジして欲しい。

2024年に達成したいこと

1つのプロジェクトを主導する

したい。前述した通り、チームの存在感を増すために達成する必要があることだと思う。そのためには、他のチームがやりたいと思っていること、会社として推し進めたいことに気を巡らせる必要があると思っており、他チームとのやり取りや発言頻度の増加が必要になってくると思う。2024年はそういったことに挑戦するために、時間的な余裕を持つ必要があると考えている。

時間的な余裕を持つために取り組めることは山のようにあると思うが、意識して取り組みたいのは「自分がブロッカーになる時間を減らす」と「手を動かす前に状況を整理する」というものだ。前者は、私がタスクを進めていく上で問題に直面した際に1人で解決しようとしてしまう癖があるために挙げた。後者は、締切のあるタスクというものに慣れておらず、焦って曖昧な状態のままタスクに着手してしまったために挙げた。

こうなってしまったのは、一言で言えば今までインターンなどで取り組んできたタスクが、今取り組んでいるタスクに比べて要求されるスキルが少なかったためである。例えば、新しいドメイン知識を得るだけで取り組めるとか、新しい周辺知識を得るだけで取り組めるとか、そういったことである。そのため、今までは説明をサッとされれば全体像を描くのは難しくなかった。しかし、今のチームでは1度説明を聞いただけではよく分からないことが多い。そして、その「よく分からない」が言語的な要因なのか、ドメイン知識的な要因なのか、周辺知識的な要因なのかが判断できない。更に、質問しようにも言語的な問題で質問が上手く出来ないという最悪な状態にいた。思い返すと今まで生きてこれた自分を褒め称えたい。

閑話休題、上記の「自分がブロッカーになる時間を減らす」と「手を動かす前に状況を整理する」を意識していきたい。前者は質問は恥ではないし役に立つでも言及されている15分ルールを、後者は自前のGoogle Docsに進捗をまとめるなどのルールを自分に課すなどして実践していくつもりだ。プロジェクトを主導できるかは運も絡むので何とも言えないが、今まで以上に積極的に行動・発言していきたいと考えている。

MECTでB2以上のスコアを得る

MECTとは社内の英語試験の通称なのだが、このスコアでB2以上のスコアを得たいのは所属チームの公用語が英語であるためだ。入社当時はA2 high、先日受験した時はB1 highになっていたので、次のスコアを得ることが次の目標だ。スコアの他に、自分の考えを正しく伝え、相手の考えを正しく聞き取り理解する部分を更に向上させたい。もちろんチームメンバーのサポートに支えられて業務は進められているのだが、もっと上手く伝えられればなと思う場面が多々あったので、前述した1つのプロジェクトを主導するためにも達成は必須だと考えている。

そのために必要なのは、英単語を覚えることよりも会話の経験を積んでして慣れることだと思っているので、来年はチームメンバーとの1on1だけでなく部活などでも積極的に英語を話していこうと思う。

チームが保持するドメイン知識および周辺知識の概要をソラで説明できるようになる

学習方法と平均学習定着率を示すラーニングピラミッドに示される通り、学んだことを他人に説明できるようになることが最も学習定着率が高いと言われている。そのため、ドメイン知識や周辺知識を説明できるようになることは肝要であると考えているので、これを設定した。更に、説明できるようになることは他チームに対しても恩恵があるため、これは出来るようになりたい、というか出来るようにならなければならないことだと思う。

この辺りはメンターから説明を受けた時に、「こういうことですか?」というように言語化して確認するステップを踏むことで向上していくと思うので、それを続けていきたい。

人生の進捗を出す

出したい。日本という国では税金的にも風当たり的にも独身に厳しいし、何より1人で得られる幸せよりも2人ないしは3人以上で得られる幸せの方が大きいという話をよく耳にするので、早めに結婚したいなと思う。この辺りの話を大っぴらに書くと変に詮索してくるerがいるので深くは書かないが、今はそう思える相手がいないので誰か紹介してくれる人がいたら紹介して欲しい*3。あと、この辺りに知見のある人がいたらご飯へ行きたい。

悪い習慣を良い習慣で上書きする

悪い習慣はいくらでもあるが、特に夜更かし作業という習慣を朝活という習慣で上書きしたいと考えている。1度夜更かしで作業をすると次の日の日中に集中できないことが増えてきたために、その週全てを棒に振ってしまうことが多かったので、この習慣を上書きしたいと思う。

新しいことを継続する時は他人を巻き込むと良さそうなので、いい感じのプラットフォームで共に頑張る人を探そうと思う。

運動癖をつける

夏はお散歩が多めだったのだが、冬は外が寒くて外出頻度がめっきりと減ってしまった。来年はランニングを習慣化したい。ただ、ランニングしていると足が痛くなるので、近くの体育館のトレッドミルを使いにいくのが良いのかなと思っている。既にシューズ・ウェアを購入して退路を絶ったので、やっていきの気持ちでいる。

おわりに

ここまでが2023年の振り返りと2024年の目標である。総括して、2023年に点数をつけるとすれば100点中80点くらいだと思う。正直、取りこぼしたと思う部分は多々あるが、見返してみると数多くのことにチャレンジできたし、上手くいかなかったとしてもそこから学びがあるので今後改善に繋げられると思えば安いものである。そもそも、私は不器用な方で初回は大抵上手くいかない凡人なので概ねこんな感じだし、上手くいかなかったこと自体に関しては軽い気持ちで捉えている。

何はともあれ、2024年も好奇心をもって引き続きチャレンジしていきたいと思う。

最後に、2024年も引き続き多くの人とご飯に行きたいと考えているので、ぜひ行きましょう。
では、2024年もよろしくお願いします 🙇

*1:結果的に彼らは最優秀賞を獲っており、流石の一言に尽きる。

*2:今も理解したとは言えないが

*3:もちろん自分でも動くが

大学院に在籍して変わったこと

はじめに

先日、芝浦工業大学の博士前期課程を修了して修士(工学)の学位を得ることができました。

大学院でやってきたことは、

に書いたので、このエントリでは大学院に在籍して変わったことについて書きます。上記エントリに書いた通り、私は大学院生でありながら研究に重きを置いていなかったので、研究生活によるアレコレを期待している方はブラウザバックをお願いします。

数年後に私自身が見返せれば良いなくらい気持ちでガッと書いたので、もし良ければ読んでいってください。

もくじは以下の通りです。もし読む場合は興味のある部分だけ読んでいただければ幸甚です。

様々なことに挑戦できた

これは大学院では学部の時の5倍くらい自由な時間があったためです。

学部の時は通常の講義に加えて教職課程も取っていたため、全休がある日は日曜日くらいでした。一方で、大学院では少しばかりの講義とゼミ以外は基本的に自由で、大学院中に情報処理学会の全国大会での発表、7つの長期インターンシップやセキュリティ・キャンプ全国大会のチューター、SECCON for Beginnersの作問・講師などに挑戦することができました。

技術力に自信が持てるようになった

これは様々な挑戦による恩恵です。

就活が終わりました にも書いた通り、学部では他人に誇れるほどの経験をしていなかったため、自らの技術力に自信を持てていませんでした。これは自由な時間を捻出しきれなかった私の落ち度なのですが、大学院に在籍して出せた複数の成果が私に大いなる自信を授けてくれました。これは学部で就職していたら絶対に得られなかった自信です。

大学院生なら研究で成果を出すのが順当なのですが、SecHack365の研究駆動コースで私よりも研究が得意な人々を前にして、研究の道より開発の道を選んだほうが楽しそうだと感じられたのも運が良かったです。不得意な分野でズルズルと闘うよりかは、一旦諦めて得意な分野で闘った方が良いということが身に沁みたのも良い副産物でした。

就寝前に本を読むようになった

これは尊敬している人が本をよく読んでいるためです。

私は尊敬している人のムーブを真似することが好きなので最初は軽い気持ちで始めたのですが、今では良い習慣がついたなと思っています。本を読むのは刺激が少ないので昔はあまり読まなかったのですが、本を読むことで得られる知見に中毒性があって止められなくなりました。

最近は技術書の予習と復習を参考にしながら本を読もうとしていますが、まだ慣れていないので徐々に慣れていければ良いなと思っています。

運動をするようになった

これは健康のためです。

コロナ禍になってから健康に気を遣って散歩を始めるようになりました。今散歩を続けてからのストリークが472日目です*1。また、セキュリティ・キャンプの全国大会で担当したグループワークのおかげで、膝コロ*2x30が習慣化したのも良かったです。

新生活が始まってからはジムかリングフィットトレーナーを始めようと思っているのですが、まだ決めきれていません。両方経験した人がいればお話を聞かせてください!

メンタルを稀に崩すようになった

これは自由な時間が増えたためだと思っています。

自由な時間があるといえど私は意欲がいつでもある訳ではありません。そのため、手を動かすでもなくぼんやりしていると「あれ、今何やってるんだっけ?このままで良いの?」と頭の中で反芻することがありました。これは突発的に来るもので、寝たり人と話したりすることで収まるのですが、学部の時はなかったなと思うので多分自由な時間が増えたからなのかなと思っています。

これを機会として、友人からオススメされたinsightを読んで、自己認識について考える機会になったのも良かったです。悩んだ時は読み返してみると求めている情報が載っていることが多かったので、同じような悩みを持っている人がいればオススメしたい一冊です。

また、気分が沈んだり不安な時にやっていることは 木が沈んだ時や不安な時にやっていること にまとめてあるので、もし良ければご覧ください。

人と関わる機会が増えた

自由な時間が増えたためです。

インターンシップやイベントに参加したことで出来たチューターや同期、他の参加者との繋がり、SNSで仲良くなった友人との繋がりが特に増えました。これらの友人はちょっとした友人ではなくリアルでご飯に行くレベルの友人で、学部時代にはあまり居なかった人間関係です。

個人的に一番良かったのはCARTA HOLDINGSの夏期インターンシップTreasureで出来た友人です。当時はコロナ禍だったこともあり対面で会えなかったのですが、CARTA側の粋な計らいでDiscord鯖が出来たことにより、今でも遊びに行けるレベルの友人が出来たので本当に感謝しています。

Treasureは今年もエントリーが始まっているので、興味のある25卒の学生さんはぜひ参加してみてください!!!*3

人を人単体ではなく振る舞い別に判断するようになった

人と関わる機会が増えて、他人の汚い部分も見る機会が増えたためかなと思っています。

学部時代は他人の汚い部分を許容できずに、自分の常識から外れた言動をする人とは距離を取ることが多かったです。けれども、この考え方だと機会を失うことになると思いましたし、私自身も汚い部分はあるので人単体の認識と振る舞いを分けて考えるようになりました。これは自分の考えの正当化に過ぎないのですが、分け隔てなく人と関われるようになったので良い変化かなと思っています。

人を頼って良いと思えるようになった

インターンシップやイベント、就活を通して良い人と多く関われたためです。

そもそも私は他人に迷惑をかけたくないと思っているので、他人に頼ることが苦手なタイプだと思っています。けれども、大学院生活では運よく良い人に恵まれたので、学部の時よりは気兼ねなく他人に相談できるようになったと思っています。

そのようなことを繰り返していると、途中から「貰ったものは返さなくては」という呵責に苛まれることがありました。これを友人に相談したところ、「求めてないものを渡されるのは迷惑でしょ。他人に助けてもらったら別の人にも返すようにしてあげな」と言われ、それに納得したのでなるべく他人にgiveできる時はgiveするようになったのも変化だと思います。

おわりに

今見返してみると、ほとんど大学院生活で自由な時間が増えたことによる変化なのかなと思いました。

人によって多種多様な大学院生活を送る/送ったと思います。学部で就職していたら/いなかったら更に良い人生を歩めていたかもしれません。けれども、終わりよければ全て良しという言葉があるように、結果として何かを得られたり変化したりしていたのであれば、それは良い選択だったと言えるのではないでしょうか。少なくとも私は学生期間を延長して良かったと思える2年間でしたし、どういう選択をしていたとしてもこれは変わらないと思います。

なにはともあれ、研究に全振りしていなかったので卒業できるか不安だったのですが、何事もなく卒業できたのは本当に喜ばしく思います。来年度からは就職しますが、就職してからも外向きの活動を続けていければと思っています。

もしここまで読んでくださった物好きな人がいれば、どこかでお会いできた時はお話でもできると良いですね。ではまた。

*1:昨年末に体調を崩したので、年末にストリークが切れました。残念......

*2:膝をついて腹筋ローラーを前後させる動作のことです。

*3:個人的な見解であり、所属する会社、組織とは全く関係ありません。

2022年の振り返りと2023年の目標を述べてみる

はじめに

こんにちは。task4233です。

この記事をあなたが読んでいるということは、2022年を無事に脱出できたということですね 👏

昨年同様に2022年の振り返りと2023年の目標を述べていきます。

過去の振り返り記事たち

もくじ

2022年、何をしていましたか?

みなさんは2022年、どんなことをしていましたか?

急に言われるとあまり出てきませんよね。私もそんな感じだったのでカレンダーを見返してみると、以下のようなことをしていました。

▶︎ やったことリスト

2022年は2021年よりもチームや団体で取り組んだものが多く、かなり周りのメンバーに助けられた1年でした。2023年は就職するので、職場でも技術力に自信のあるメンバーと共にエンジニアリングに勤しめたら良いなと思っています。

内面と向き合った就活

就職といえば、2022年は内定先の選択という大きな決断をした年でもありました。詳しくは 就活が終わりました に書いた通りで、自分の内面と向き合う機会になったのが本当に良かったと思っています。

もう少し掘り下げると、私はどうも負荷をかけられると楽しいと感じるようなんですよね。人間をロボットのように扱うような理不尽な負荷は願い下げですけど*1

そう感じるに至った理由を考えてみると、今まで成長したと感じた時、大抵が自分のキャパシティを少し超える程度の負荷をかけられた時だったから、という解釈が一番しっくりきています。いわゆるラーニングゾーン*2にいる時です。このラーニングゾーンに自分を置き、困難を克服した経験を繰り返した結果、パブロフの犬が如く負荷をかけられた状態にいるだけで楽しいと感じるようになってしまった、というのが私の解釈です。

犬並みにチョロくて笑えますね。

一方で、もちろん失敗した時も数えきれないほどあります。やると計画してやらなかったことも無限にあります*3。それでも、少しの間でも物事に本気で取り組んだならば、そこから得られるものは何かあると思っていますし、失敗しても死ぬ訳ではないので、私はこのやり方で良いんじゃないかなと思っています。

そんな訳で、就職という観点で言えば2022年は大きな決断をした年でした。

それと、これは余談なのですが、『約束のネバーランド』という作品で「決断」にまつわる好きなセリフがあるので引用しておきます。

▶︎ネタバレになったら申し訳ないので、読みたい方は開いて読んでください。

正しい判断を下すこと 下そうとすることは大切だ でも決してそれだけが全てじゃない

判断が正しいか間違っているかなんて その時には誰にも判らない

だから大切なのは判断の後 下した判断を正解にする努力

たとえ下した判断で悪い結果を招いても そこから何ができるか 如何に足掻くかこそが大切なんだ

判断だけで決まるのなら人生は賭け事になっちまう

引用: 白井カイウ 出水ぽすか (2019)『約束のネバーランド集英社, Vol. 13, pp. 56.

名言が過ぎますね。とても好きです。

それはさておき、2022年は就活が終わった後にもセキュリティ関連の活動が多かったので、これらの活動についても振り返ってみます。

セキュリティ関連

セキュリティ関連の活動が多めでした。

具体的には、SECCON Beginners CTF / Live / 札幌 / 福岡、セキュリティ・キャンプ全国大会 チューター、CTF for Connected Cars in CODE BLUE、SecHack Returns(TsukuCTF)、taskctfです。

私はCTFがそこまで強い訳ではないのですが、縁あってか今年はCTF関連の活動が多かったです。

特に印象に残っているSECCON Beginners、TsukuCTF、taskctfについて書きます。

SECCON Beginners

CTFの作問や地方開催の講師を担当しました。やりたいと手を挙げたのが功を奏したのだと思います。

私はCTFerとして強い訳ではないですが、エンジニアリングの部分なら自信があるので、少しは異なる視点を与えられた気もします。そのおかげで新たな繋がりもできましたし、手を挙げるのは大事なのだなと痛感しました。

TsukuCTF

作問と運営を担当しました。私の作問ミスがあったのは残念でしたが、ホストモーテムとしてミスの内容と修正案を提示できたのは良かったと思っています。

また、SecHack勢で集えたのも良かったです。コミュニティのありがたさを感じました。徹夜しながらの運営対応もレアな経験で、夜までワイワイできて楽しかったです。来年も開催できたら良いなと思っています。

taskctf

多忙の中、今年は早めに告知できたのが良かったと思います。

一部のユーザにはcrt.shで告知前にleakしていたようですが。

邪悪Discord鯖で事前にleakされた図
邪悪Discord鯖で事前にleakされた図

一方、本番中に障害が発生したのは残念でしたが、対応できたのは良かったと思います。

それにしても、景品もないのに毎年参加してくださる方がおり、非常に嬉しい限りです。

来年も参加できたら良いなと思っています。

このようにセキュリティ関連の活動を自由にできたのも、昨年の振り返りに書いた通り、研究の優先度を下げたからなのかなと思っています。詳しくは昨年の振り返りに書いたので割愛しますが、最後に研究に関して振り返りをしようと思います。

研究関連

なんとか修了したい

修了したいです

あとは学外発表1回と廃材の詰め合わせ修論だけなので、それだけ済ませれば修了できるかなと思います。

修士に進学したのは良い選択でした。学部の時は今よりも技術力や視座で劣っていましたし、人間関係も狭かったです。修士に進学することで学費2年分を失いましたが、長い人生から見ると大きくプラスの採算になったと思います。

とはいえ、衣食住も学費も親にサポートしてもらったので、本当に親には頭が上がらないです。直接これを伝えれば良いのですが、それはなんだか照れ臭いので、1人暮らしする前にまとめて伝えようかなと思います。

研究に専念できたか

多分いいえです。外部発表をしてこなかったので結果だけ見ると実質ニートです。これは、昨年の振り返りに書いた通り、研究に対する意欲よりもインターンシップ等に対する意欲の方が高かったためです。

私の所属する研究室は基本的に放任主義なので、その時間を使って自由なことが出来たのは本当に良かったです。

片や周りの修士2年生は外部発表をしたりジャーナルを通したりしており、心から凄いなと思います。D進する方もちらほら観測しており、素直に尊敬です。陰ながら応援しています。

3年間の研究を通して成長したこと

他人へ物事を伝える力が成長したと思います。より具体的には、他人と話すときに前提条件を抑えることを意識するようになったと思います。

これは教授が過去に話した話を全くと言っていいほど覚えていなかったためです。他の研究室もそうなんですかね?

教授は他の学生も見ている都合上仕方のないことだと思いますが、そのおかげか過去に話したサマリを話の頭に置くようになったと思います。

一方で、文章を書く力はあまり成長しなかったと思います。論文を全く書いていなかったので、当たり前といえば当たり前ですね。この書く力は社会人になってからブログを書く時間が増えると思うので、そこで少しずつ向上させていきたいなと思います。

2023年の目標

ここまで振り返りを書いてきたので、2023年の目標(やってみたいこと)を書いて終わろうと思います。やってみたいことは、エンジニアリングと私生活でそれぞれあります。

エンジニアリング

趣味の開発でやられアプリのOSSを開発しようと考えています。これはインターン先で脆弱性スキャナの開発をしていた際に、脆弱性スキャナのPoCとしてやられアプリが欲しいなと思ったためでした。

想定しているのはBadStoreやOWASP Juice Shopのようなものですが、車輪の再発明だとしてもやられアプリを作ることで脆弱性についても学べますし、開発力もつくので良いかなと思っています。

また、本業の開発では、少し無理してでもエンジニアリングに時間をかけたいと思っています。これは、現エンジニアの人から「やる気はいつまでも続くわけではない」という話をよく聞くからです。私もそう思っているので、ひとまずは初年度のワクワク感のデバフがかかった状態で、進捗を出したいなと思っています。

私生活

気分転換用にエンジニアリングと関係ない趣味を始めたいなと思っています。2022年はお散歩と英語学習、ピアノを趣味程度にやっていたので、新しい趣味を初めてみたいです。

Duolingoは383 streaksでした

目的は私が楽しむことなので、上手くなることを目指してはいませんが、何かオススメの趣味とかあれば教えて欲しいです。いや、アイデア募集中です。

それと、月1くらいの頻度で良いので2〜4人くらいでご飯に行きたいです。就職してからも時々話せると良いなと思っています。

おわりに

以上が2022年の振り返りと2023年の目標でした。

2022年も色々なことができました。冒頭にも書いた通り、特に複数人で何かする機会が多かったのが印象的でした。

2023年がどんな年になるのか想像もつきませんが、楽しんでいけたらなと思います。

長くなってしまいましたが、ここまでお読みいただきありがとうございました。

2023年もよろしくお願いします!

*1:教育実習の時に サイアクな めに あわされた

*2:心地の良い状態をコンフォートゾーン、少しストレスを感じる状態をラーニングゾーン、強過ぎるストレスを感じる状態をパニックゾーンと呼びます。詳しくはググってください。

*3:無限にあるというオタク的言い回し、どこから来たんでしょうね。

セキュリティ・キャンプ全国大会2022 オンラインにチューターとして従事させていただいた話

はじめに

こんにちは。task4233です。

2022年8月8日〜12日の5日間にかけて実施されたセキュリティ・キャンプ 全国大会2022 オンラインにて、D - AIセキュリティクラスのチューターとして従事させていただきました。この記事ではその参加記録として思ったことを書こうと思います。

D - AIセキュリティクラスの概要

AIセキュリティクラスは名前の通り、AIに関するセキュリティについて学んだり考えたりするクラスでした。

講義では、機械学習モデル自体に関するセキュリティと機械学習モデルが引き起こす可能性のある問題の2つについて扱いました。前者は機械学習モデルの検知結果を狂わせる敵対的摂動(Adversarial Perturbation)と、その敵対的摂動に堅牢な機械学習モデルの作成方法について学びました。その後、実際に機械学習モデルを敵対的摂動を付与した敵対的サンプルで攻撃したり敵対的サンプルに堅牢なモデルで防御したりするCTFを実施しました。後者は、フェイクニュースのようにこれからAIが引き起こす可能性のある問題とその対策についてディスカッションを通して考えました。

これらの講義の中で、特に面白かった講義について少し話します。

特に面白かった講義

Dクラスの講義は4種類あったのですが、その中でも実践AIシステム Attack&Defenseが最も面白かったです。この講義は、画像のクラスタリング用の機械学習モデルに絞って、攻撃手法と防御手法を実践形式で学ぶ講義でした。

講義の前半は座学で、なぜ敵対的サンプルが機械学習モデルを誤認識させるのかという基礎的な話などを説明されました。後半は実践演習で、Google Colaboratory上でコードを動かしながら、検知精度(Accuracy)を80%から10%程度に落とすような敵対的サンプルの作成手法や、そのような敵対的サンプルにも堅牢なモデルの作成手法について学びました。参考になる連載記事が講義中で提示されていたので、もしよければご参照ください。

jpsec.ai

特に面白かったのは、その後に実施されたAttack&Defense形式のCTFでした。このCTFでは、各受講生が機械学習モデルを管理し、他の受講生の機械学習モデルを誤認識させるような敵対的サンプルを送りつけるAttackと、他の受講生から送られてくる敵対的サンプルに対して堅牢な機械学習モデルを管理し続けるDefenseがありました。私はAttack&Defense形式のCTFは初めてでしたし、CTF終了後の感想戦で各受講生の手法を聞いて学びがあったので、非常に面白かったです。

他の講義も面白かったのですが、それらの講義の感想は他の受講生が書いてくれると思います*1。そこで、私はチューターとしてどのようなことを意識していたかを書きます。

チューターとして意識していたこと

一言で言うと、2つの機能を有するbotになることを意識していました。

1つ目の機能は、受講生に補足情報を届ける機能です。これは、講義中に講師の方が仰った話に関連する情報等をシュッと投げる行為のことを指します。具体的には、講義中に「最近〜といった攻撃がありましたよね」と講師が仰った時に、それに関する記事をシュッと貼る、といったような振る舞いのことです。

私はセキュリティ・キャンプの全国大会に受講生として参加したことがあるのですが、当時はよく分からない単語や情報が出てくると講義中でもすぐに調べていました。講義中にすぐ調べていたので、その時調べないとすぐに忘れると思ったためです。その結果、その先の話を聞き逃すということが何度かありました。受講生にはこのような勿体ない経験をして欲しくないと考えていたため、講義で少し難し目の単語が出てきた時は補足や参考記事をシュッと貼るようにしていました。

本年度のセキュリティ・キャンプはオンライン開催であったため、展開される講義に対して非同期的に情報を提供することができ、チューターとしてこの振る舞いが非常にやりやすかったです。受講生のアンケートを見ないとまだ何とも言えませんが、少しでも良い効果があったのであれば幸いです。

2つ目の機能は、受講生の発言・問いかけに対してリアクションをする機能です。これはオンライン講義あるあるだと思うのですが、自分の発言に対して反応がないと発言者は不安を感じます。そのため、誰かが発した発言に対してはコメントで反応することを意識していました。

もちろん、音声で反応することもできたのですが、その場合講義の邪魔になる可能性もあると思ったので、今回は基本的にコメントベースで反応するようにしていました。これが助けになったかは分かりませんが、受講生の方々のサポートになったなら幸いです。

(チューター業務を)完走した感想

一言で言うと、かなり疲れました。やはり、5日間、朝の8:30から夜の20時まで集中して多くのことをインプット・アウトプットしただけあります。LT会でも発表しましたし。

speakerdeck.com

とはいえ、受講生の皆さん、講師の方々や他のチューターさんの方がもっと疲れていたと思いますが。

一方で、その疲れを忘れさせてくれるほど、一部の講師陣やチューターさんと対面でお話できたのが良かったです。私含め一部の講師陣とチューターはオフラインで参加していたため、久しぶりのエンカイベントで非常に楽しめました。最近このようなイベントは昨年のCODE BLUE以来だったと思うので、最近モチベが停滞していた私にとっては本当にありがたい機会でした。

もちろん全ての講師やチューターの方々と話を出来た訳ではありませんが、私の実力不足に引け目を感じていましたし、どうせまた別のイベントでも話せる気がしたので一部の講師陣とは話さないようにしていました。そのような講師陣と同じ土俵に立てるようになるために、私の強みを磨いて行こうと今一度思いました。

おわりに

現在、私は修士2年生で来年就職予定なので、来年もチューターとして参加することは叶いません。そのため、仮にセキュリティ・キャンプに関わるとすれば、地方開催のセキュリティミニキャンプの講師枠として参加し、そこから権限昇格して全国大会の講師になることくらいしかできないと考えています。

そのために、まず手をたくさん動かすこと、そしてそれを外部で発表することが必須になってくると思います。昨年の振り返りにも書いた通りファーストキャリアとしてはソフトウェアエンジニアを目指す予定ですが、正直この先ソフトウェアエンジニアのスキルだけでは生きていけるとは思っていません。そのため、第二の刃としてセキュリティ系にも少し足を突っ込んでいれば良いかなと言う気持ちでいます。

とはいえ、直近ではそんなことよりも修士学生として卒業できるかが不安なので、学業に力を注ごうと思います。果たして私は無事に卒業できるんだろうか......

さて、最後の最後で完全に自分語りになっていしまいましたが、チューターとしての参加記録としてはこんな感じです。セキュリティ・キャンプ中に関わってくださった講師・チューター・受講生・そして関連者の皆様、色々とお世話になりました。また会う機会があれば、その時はよろしくお願いします。

*1:とても楽しみにしています!

BlueStacks 4.27.0 を MacOS にインストールする際にクラッシュする問題の解決方法

TL;DR

  • インストール済みの VirtualBox および BlueStacks を App Cleaner で削除する
  • PC を再起動する
  • 公式ページから最新版の BlueStacksInstaller を再度ダウンロードする
  • ダウンロードした BlueStacksInstaller で BlueStacks をインストールする
  • ダイアログが表示された場合は公式のサポートページ を参考に対応する
  • これで BlueStacks を起動できるはず

はじめに

この記事は、BlueStacks を MacOS で起動する際にクラッシュする問題の対処法をまとめた記事です。内容はほぼ Reddit に投稿されたコメントの転載ですが、日本語の記事がなかったため投稿することにしました。その Reddit の投稿や公式のサポートページは、本記事の末尾にあるので必要に応じて参照してください。

解決に至るまで

Android Emulator である BlueStacks を利用したかったのですが、起動時にクラッシュが起きていました。クラッシュレポートを読むと、以下のように Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999 というエラーが多数発生していました。

クラッシュログの一部

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

applicationDidResignActive

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

applicationDidBecomeActive

Setting IMAP State 0

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

PrivilegedHelper: ERR: Executing: /usr/bin/kmutil showloaded --list-only --bundle-identifier org.virtualbox.kext.vboxdrv

PrivilegedHelper: ERR: No variant specified, falling back to release

Virtualization driver is loaded

SetupSignals()

-[ServiceStateMachine start]

-[ServiceStateMachine enterStateStarting]

PrivilegedHelper: ERR:

VBoxBridge: Already initialised

VBoxBridge: VBoxBridgeStartMachineAsync()

VBoxBridge: VBoxBridgeStartMachine_Begin()

VBoxBridge: VBoxBridgeInternalOpenMachine()

VBoxBridge: VBoxBridgeStartMachine_Tick()

VBoxBridge: VBoxBridgeIsPowerOperationPending()

VBoxBridge: VBoxBridgeStartMachine_End()

VBoxBridge: VBoxBridgeCompletePowerOperation()

int VBoxDevicesRegister(PPDMDEVREGCB, uint32_t) -> 0x700007223bd8 393217

Cannot parse contents of file /tmp/BlueStacks-501-Private/guest-network-tcp-9999

AudioConstruct -> 0x7f88041e8220 0 0x7f8805666660

Assertion failed: (pDevIns->pHlpR3->u32Version == PDM_DEVHLPR3_VERSION), function AudioConstruct, file /Volumes/android/bst-v4.270.1-bgp64-mac/app-player/hd/external/appplayer/Host/BlueStacks/bstdevices/bstdevices/AudioDevice.m, line 246.

INFO : BSG_KSCrashReport.c (1557): void bsg_kscrashreport_writeStandardReport(BSG_KSCrash_Context *const, const char *const): Writing crash report to /Users/task4233/Library/Caches/KSCrashReports/BlueStacks/BlueStacks-CrashReport-80D7BC24-7BA7-4CDF-B144-D3D675D9AAEA.json

zsh: abort /Applications/BlueStacks.app/Contents/MacOS/BlueStacks

Saving session...

...copying shared history...

...saving history...truncating history files...

...completed.

Deleting expired sessions...none found.

[Process completed]

ググると、類似のエラーが出たという Reddit の投稿を発見しました。

www.reddit.com

ここに投稿された以下のコメントに従って対処したところ、クラッシュが起きなくなりました。

www.reddit.com

対処方法は冒頭に記した通りです。

もし同じ問題にハマっている方の助けになれば幸いです。

参考リンクたち