生存報告所

日記だよ!

9/13 勉強会_東京国際工科専門職大学

9/13(土) 睡眠時間5時間

 そろそろ、日記ということに胡坐をかいてはいけない気がしてきた。レポート部分だけ切り出すか。

やったこと

 土日だというのに、気合を入れて8時台に起床。15分の眠気との戦いを繰り広げて、何とか起き上がる。さぁ、頑張りますかー。

脱毛

 結婚物語。さんに入会を申し込んだ際、「提携エステがあるから、エステもぜひやってってー!」と言われた(気がする)。初回特典もあったため、申し込んで2週間ぶりの恵比寿。今回はビルの6Fではなく、4FにあるKMB恵比寿さんに向かった。

 予約していたのは、開店と同時の10時。出てきたのは10時13分。1時間半見積もってたんですけど!?

 入ってカウンセリングシートに記入し、「脱毛経験あるんですねー」「そうなんですよ、3回行って倒産しだんですけどね*1。」という会話をして、バチンバチンと髭を熱射して退店。ベルトコンベアで検品するかのごとく、流れ作業で終わってしまった。

世の中の会議も、これくらいのサプライズ速度で終わってほしい。

 

 以前に行っていたクリニックでは、まず顔にジェルを塗って乾かすところに時間が必要だったのだが、今回は「痛かったら塗りますね」という確認のみ。

「痛いですか?」「大丈夫ですー」と、熟練のハンコ押し役人のごとく承認し続けたら、何も塗らずに高速で終わった。「脱毛向きの肌ですね!」と昔に褒められたのは間違いでは無かった。

 

エンジニアリング協会_勉強会 

他の方がすごくとても非常に読みやすい参加レポートを書かれていたので、先に紹介する → 

ソフトウェアエンジニアリング勉強会に参加してみた|kazizi

 

移動

 さて、新宿駅で下車し、西口へ移動。

地下口を通って、新宿駅周辺でもひときわ目立った建物である、コクーンタワー*2へと入る。2階から36階までエレベーターに乗って急上昇。

これは帰り際に撮った外観

 人もヨドバシも建設中の風景も見下ろし、列車たちがNゲージに見えるような空間で行われるのが、今日の勉強会である。

この会を主宰するのは『一般社団法人ソフトウェアエンジニアリング協会*3』の方々。去年の勉強会に参加*4して以来、Discordは覗いていたのだが、自分のキャリアの方向性が分からなくなってきたため、改めて参加してみたのである。Yes,モチベ上げ。

 

講義 13:00~14:15

 スタートラインに立つためにはどうするのかに似た内容の講義。

 前回参加した時から大きくは変わらないが、世界の中で相対的に貧乏になっていく日本の状況と、「ソフトウェアエンジニアリングとは何か」というテーマは、安穏としている自分の意識を揺さぶる話で、何かを始めないとと、身が引き締まる思いだった。

 

 1年前に参加したときに比べ、中途採用の面接を受けたこともあってか、履歴書の書き方についてが特に印象に残った。

  1. 「ソフトウェアエンジニアリングをする*5」という目的に整合した動きが取れているのかどうかを計っている。
  2. そのために、誰にどんな構築をして何を改善したのかというインパクトを書くことが重量*6
  3. 加えて、そのインパクトがまぐれではないこと。
  4. 自分がリーダーシップなどの重要な役割を果たしたこと

が書けると良いらしい。後で履歴書は見直しておこ。

そして、年次が上がっていくにつれて相手からの「これくらいは知っておいてほしい」というレベルが上がっていくため、「自分が何をどこまで知っておかなければいけないのか」は日々意識しながら学習・活動をすることも肝要。

コクーンタワーから渋谷方面
ビルがオモチャのようだ!

模擬面接 14:15~16:00 

 講義後は、ワクワクの模擬面接のお時間です。

 講師の方からコーディング・コンピュータサイエンス関連・システムデザインに関する問題がそれぞれ1問ずつ出題され、立候補した生徒役が黒板とチョークを使いつつ解答していく。

 

コーディング問題

「括弧”()”が対応しているか(=閉じられている)かをチェックする関数を作ってください」という問題。

 

 「そんなの簡単じゃーん」と思いながら自分も即座に考えはじめたが、空文字が渡ってこないのか、入力される文字は"(”と”)”だけなのか等、最初に入力条件を確認をするべきだったと頭を抱える。

生徒役の方が問題を解き終わると、次は面接官役から「この処理は何秒の実行時間がかかりますか?」「これで入力文字を1TBにしたらどうなりますか?」とスケールを大きくしたフォローアップ質問が飛んでいた。

その人の知識ピーク量、どこまで考えながら実装することができるのかという実力を計るためらしく、「正しく動くコードが書けること自体が重要ではない」ということを思い出した。今回の例では、文字サイズ1TBを想定した場合の分散処理まで書けるとmore betterだったようです。

 

コンピュータサイエンスに関する問題

「パソコンを起動してからログイン画面が出るまでの処理を説明してください」という問題。自分達が扱う道具についてどこまで知っているかという割とポピュラーな問題らしい…が、難しいよ~。

 

ChatGPTに聞く限り、

 電源供給→BIOS/UEFIが起動確認→ブートローダが起動→カーネルをメモリにロード(デバイスドライバの管理・メモリ管理)→OSが起動→ログイン画面

という回答らしい。低レイヤは日頃意識しないため鍛えがたいと範囲だが、「自分の仕事道具も知らずに使っているの?」と聞かれたらぐうの音も出ない。日常生活でも、「これはどう動いているのか」という好奇心は持ちたいところ。

 

システムデザイン

 これは場数だから経験を積んでおきたいと考えていたため、生徒役として挙手。選んでいただいたため、100人以上の視線を集める壇上に上がった。これ怖いな?

 

 出されたのは、「映画館の席予約システムを、(実務に取り掛かれるように)設計してください」という問題。人生で行った映画体験って、ガルパン3章、プリキュアF、ジークアクスしかないぞ~!?  と困惑しつつも臨む。

最初の10分の振る舞いは本当に失敗で、自分が何を求められているのか、そのために何から話し合うべきなのかがまったく分からず、壇上でずっと狼狽えていた。恥ずかしすぎて、挙手を巻き戻して帰りたい。

「とりあえず画面遷移から考えていいですか…?」と聞き、次にDB設計、サーバー構成(クラウド)という順番で話して終わった。

 

 私が狼狽えていた裏では当日イベント用のDiscordが大いに盛り上がっていたようで、終わってからその全てを知る。

  • まず、何をゴールにしたいのかを最初に合意しなければいけなかった。

(ユーザーストーリー→仕様策定→全体のサーバー構成→DB設計)で考えようという例は分かりやすかった。

  • 頭では混乱するため、ユーザーストーリーなども図を描くこと。

の2点は特に重要で、日頃の上流工程に関する意識が薄かったと反省するところ。

 また、”予約”とは席の仮割当機能を含むのか、決済画面の負荷、同時接続のピークを考慮するのかなど、ビジネス的・技術的に危なそうな”匂い”*7について、仕様の合意を取ることが最重要らしい。

 

 今日は、講師の方が何度か「面接官を対等な同僚として扱いましょう」というお話をされていた。

面接の設計で求められているのは、ようするに「お昼ご飯を作ってくれ」と言われたときに「何食べたい? 予算は? 量は?」と受け答えするようなもの。緊張しながら正解を1人で出すのではなく、いつもの仕事のように話し合えると良いようだ。

 

 「システムデザインの勉強はどのようにすればいいのか」というのが最近の悩みの一つではあったが、頻出問題の例*8、お勧めの本などがDiscord上で話題になっていたため、個人的にはとても学びのある時間だった。

漫画家・脚本家が面白さの要素を分解するように、技術者は知らないサービスも触ってみて、作り方の要素を分解するという思考は大事そう。

 

模擬面接 16:00~16:30

 今度は講師同士で生徒役と先生役に分かれ、B-Treeを実装するという問題を出したというていで模擬面接。

 何をどこまで作りますか? というすり合わせから始まっていたのは、自分の正解例を見ているかのようで印象的だった。

うろ覚えの知識については「自信がありませんが、業務では調べます」という留保をつけつつ、面接官と話しながら実装を進めていたため、「面接で大事なのは正解を出すことではなく、ソフトウェアエンジニアとして振る舞いを見られている」ということがよく分かる時間だった。

 

質疑応答 16:30~17:30

 就職先の選び方で困っています等のキャリア相談、「Googleで働いて実際に良かったことは?」から「若いうちからしておきたい体のケアは?」まで、多様な種類からの質問が飛び交っていた。

無理できる若いうちは996*9を超えた無理するのもありらしい。が、全力疾走とほどほど運転のバランスを取れないとアメリカ社会では生きていけないらしい。

「この会社で忙しくない奴はいない。そんな奴は私が首にする。」

いやぁ、アメリカ。

 

懇親会 17:30~

 終わった後は、希望者が近くの店で懇親会。同世代の方々にどんな仕事・研究をしているのかという話を聞いたり、「100人の前で模擬面接の機会なんてほぼ無いから、良い経験したねぇ!」と言っていただいたり。

明日を考えて早めに退場したが、様々な分野の話を聞くことで仕事・勉強に向きあうモチベーションを上げることは出来た。同席した方々、ありがとうございました!!

 

まとめ

 1年経っても相変わらず迷える子羊エンジニアではあるが、参加して少しキャリアについての光明が見えた気がする。

開催頂き、講師の方々、東京国際工科専門職大学の職員様、ありがとうございました!

 

一週間有効な協会の Discord の招待状です。自由に拡散してください。

https://discord.gg/F8jFXsZk

ということなので掲載。コーディング練習、キャリア相談など、様々な活動が行われてます。

オフラインイベントに関するメーリングリストはこちら -> About

 

ごはん

 朝食:サンドイッチ

 昼食:梅おにぎり

 夕食:中華

 

*1:アリシアクリニックに行っておりました。倒産した12/10は流石に笑った。

*2:東京国際工科専門職大学さんが入っているビル

*3:SWEJP

*4:前回の参加レポはこちら → 7/15 勉強会 - 生存報告所

*5:詳しい定義はスライド参照だが、簡単に言うと、「人の課題解決のためにソフトウェアを使って構築し、価値を届けること」である。

*6:学術用語、専門性の高い言葉を使って説明することが勝利ではない。専門用語は、ただのコミュニケーションの圧縮。

*7:後の質問コーナーで、「この匂いについて鍛え方はありますか?」という質問が出ていた。回月並みな表現だが…という前置き付きで「ユーザーの視点に立って想像すること、個人開発などてたくさん地雷を積んで、経験を積むこと」の2つしかないとのこと。地雷は、踏んだ数だけ強くなれるらしい。

*8:Uberの配信システム、Netfilxのような動画配信システムなど。Twitterの設計は頻出らしい。

*9:9時-21時、週6勤務。「996 中国」で検索!