(dev)juginon-blog

勉強したこと、趣味のこと。

iOSDC Japan 2021に初参加しました

f:id:ogijunchang:20210920212520j:plain

お久しぶりです、じゅぎのんです。ネットで活動するときの名義が結局定まりきらず、一部でじゅぎのんとしてやってきたもののおぎじゅんになりつつあります。

今日はiOSDC Japan 2021に初めて参加したので、その感想をサクッと書いていこうかと思います(#iwillblogを入れてしまったので)。

iOSDCとは

iOSDC Japan 2021はiOS関連技術をコアのテーマとしたソフトウェア技術者のためのオンラインカンファレンスです。 日本中、世界中から公募された100本を超える知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、参加者であれば誰でも作れる即興のトーク・アンカンファレンスなど、初心者から上級者まで楽しめるコンテンツがみなさんを待っています! (iOSDC Japan 2021 公式サイトより)

実は僕自身こういったカンファレンスに参加するのは初めてで、しかもiOSエンジニアとしてはまだ1年経っていないような自分でも理解できる発表はあるんだろうか、と思っていました。(Swift開発歴については以前の記事参考)

結論から言えば、想像以上に楽しめました。

「初心者から上級者まで」と謳っているように、かなりニッチなテーマを話されているセッションもあれば基礎的な内容やコードを全部理解できなくても楽しめるような発表もあり、初心者の自分でも糧になるものはたくさんありました。

聞いていてとても面白かった発表

iOSDC当日にリアルタイムで聞いていてとても印象に残ったトークはこんな感じ。

Day0 SwiftUI で実プロダクトを音速リリースした話 - AkkeyLabさん

fortee.jp

SwiftUIをプロダクトで採用した際の実際の使用例や、逆にSwiftUIでは解決できない(したくない)部分はどこだったのかなど詳しく解説されていました。

個人的にはスライドのデザインや発表の仕方でとても引き込まれるものがあり、簡単に理解できるような工夫がされていてとても良いなぁと思いました(小並感)。

実際にSwiftUIが採用されているアプリ「dim.」をダウンロードしてみましたが、ミニマルなデザインの中にもHapticがあったりタイトルの小さなアニメーションだったりUXにとても力が入れられているなぁと思いました。(寄付したことでもらえるステッカーもよい)

就職後の実務ではなかなかSwiftUIに触れることは難しいかもしれないですが、個人開発では取り入れられるようにどんどん試していってみたいなと思います。

Day1 noteのiOSアプリで実装したアクセシビリティの全て - fromkkさん

youtu.be

fortee.jp

iOSDCの感想ブログやスポンサーブログでもよく使われているnoteの、iOSアプリでのアクセシビリティのお話です。

アクセシビリティ、単語は知っているし意味ももちろん知っていましたが、実際にどういう部分に対応することでアクセシビリティを満たしたと言えるのか正直全然知りませんでした。

トークでは盲目のユーザーを対象にしたVoiceOver対応について詳しくお話されており、実際のプロダクトではどういった部分に修正を入れなければならないのかを具体的に紹介してくださり、とても面白かったです。

あとやっぱりスライドや動画のデザインもすばらしく、見ていて心地いい発表でした。

noteのサービス自体のデザインもとてもかわいくて使いやすいし、そういった小さな心配りがすべてnoteのサービスに繋がっているんだろうなぁと思いさらにnoteが好きになりました(なのにはてなブログでごめんなさい)。

Day2 あらゆる情報を楽に正しく String にフォーマットする - 令和2021年から脱却せよ - treastrain / Tanaka Ryogaさん

fortee.jp

Swiftで開発するときにほぼ必ず使うであろうFormatterについて深掘りしたトークです。

ここのトークは他のトークよりも長い40分の発表でしたが、本当に面白くて40分あっという間でした。

日付や時刻を変換するときに使うDateFormatter以外にもFormatterができることはめちゃくちゃ多くて、一瞬で実装できてかつ自前で実装するよりも正確(他言語対応も含め)であるということで、使わない手はないなと思えました。

個人的には燃費で馬力換算してくれるのとか需要どこにあるねん、て感じでめちゃくちゃ面白かったです。

*追記 馬力はエネルギーの話でした・・・・・

f:id:ogijunchang:20210920233628p:plain

Formatterだけで単位換算アプリ作れちゃうんだなぁと聞きながら思っていましたが、それ以外にどうやって実際に使われているのか使用例が見てみたいですね…

冒頭の寸劇でスライドと同様にニコ生でも発表者さんがコメントを流しているのかと思いきや、普通に視聴者さんがまるでリンクしているかのようにコメントしていたとask the speakerで知った時はビビりました。


Day0-2のそれぞれ一番印象深かったトークを紹介しましたが、もちろんこれら以外にも本当に面白いトークばかりで3日間が一瞬でした。

3日間が一瞬だった原因はそれだけではありません。なぜなら…

iOSDCチャレンジがあったからです。

自分は初参戦だったので去年も同様の企画があったことはDay2で初めて知ったんですが、iOSDCチャレンジとは:

「iOSDCトークン」を探してスコアを獲得し、そのスコアの合計を競う全員参加型の企画です。 iOSDCトークンは # (シャープ)から始まる文字列で、パンフレット内や公式サイト、スポンサー各社のブログ記事、各種ノベルティなどに隠されています。

パンフレットを見たときに早くこれがやりたいと思っていて、チャレンジページが公開されてすぐに入力をはじめました。

上位の方のブログでスプレッドシートで管理されている方もいて、さすがに敵わんな、という感じです。

僕は事もあろうにノベルティボックスを早々に解体して廃棄してしまっていて、フライヤーなども一通り読んで手元にすでになかったのでそういったところにもあると知った瞬間に絶望しました。

ところがDay1に入って公式がノベルティの写真を上げてくださり、これには本当に助けられました。

またDiscordでもヒントになる会話をされていたり(特にnoteの「#ファッシ…」や「#音楽」の部分)、ブログリンクを上げてくださる方もいてそのおかげでなんとか5位に入ることができました!

f:id:ogijunchang:20210920223048p:plain
「うさぎかわいい」とコメントしてくださった方、ありがとう

チャレンジ中はずっと7位〜13位あたりをウロウロしていて、これって何位以上の人がプレゼントもらえるんだろう…と思って最後の#クロージングを見ていて、「5位の方はこちら!」と言われた瞬間に結構絶望しました。

14時~15時のポイントが隠れている間に見つけた数個のトークンで僅差で5位になることができ、無事「育てるタオル」なるものをいただけることになりました〜!(本当にありがとうございます)

自分が回答できなかったトークンみましたが、#にゃんチャレと#三日坊主防止だけはどこにあるのか本当にわかりませんでした。(twitterも見たんだけどなぁ…)

あとは#iOSDC2021を入れていなかったのはマジで恥ずかしかったです。

discordで最後にトークンについてすこしだけチャットできてよかったです笑


今回は参加者ということで、チャレンジに入賞したことで名前も一応載せていただくことはできましたが、やっぱり自分も何かしら発表してみたい!

来年からはiOSエンジニアとして社会人になるわけですが、こういった場で盛り上がるような話題を提供できるような、そんなエンジニアになりたいと思いました。

f:id:ogijunchang:20210920224204j:plain
がんばりま〜す

初めてSwiftでアプリ開発をした話(そしてアプデで却下された話)

お久しぶりです、じゅぎのんです。

就活が終わって新学期が始まり、そろそろ研究に本腰が入り始める時期になってしまいました。

7月からは実験も始まるので、内定者バイト・研究・部活の結構ハードスケジュールになってしまった…

どれも手を抜けない(抜きたくない)ので、気楽に頑張っております。

さて、今回はSwiftでアプリ開発をやってみたという記事で、せっかくなので詰まったところとかWebとの違いとか所感をかければいいなと思って書いています。

作ったもの

先に、今回Swiftで作ったものは音量ボタンで制御できるストップウォッチのアプリです。

Volume Watch

Volume Watch

  • Jun Ogino
  • ユーティリティ
  • ¥120
apps.apple.com

githubにコードがまるまる上がっているので、そちらもぜひ見てみてください。(Starくれると嬉しいな〜)

github.com

Swiftを勉強し始めたきっかけ

まず、時は2,3年前に戻ります。

僕がインターンを始めたばかりのときに当時マネージャーだった先輩から、「いい感じのストップウォッチのアプリがあったらよい」というだいぶふわっとした要望を受け、当時インターンで開発を始めたばかりの僕は成長(笑)のチャンスだ!と思いアプリの作成を決意しました。

今まで僕が学部生のころから触ってきた技術は、JavaScriptフレームワークであるReactを使ったネイティブアプリ用のライブラリ、React Nativeでした。

reactnative.dev

JavaScript(React)を知っていれば大体開発ができるということで、Webの技術を触りながら今ドキのアプリ開発ができるという体験はなかなかよく、スタートアップにはうってつけの技術だなぁという印象でした。

ただ、やっぱりiOSAndroid一緒に開発しているという部分もありAppleAPIを直接使うわけではないので、やれることには限界がありました。

今回作った音量ボタンで制御できるストップウォッチアプリというのも、音量ボタンでの制御がReact NativeではできないことからSwiftならではのものと言えます。

マネージャーにいろいろ話を聞いた結果、「物理ボタンでウォッチが制御できないと結局どのアプリ使っても同じ」ということがわかり、当時React Nativeの乏しい知識しかなかった僕は完全に挫折しました。

一応作ったやつはこれ。

GitHub - Ogijun2018/newStopWatch

しかし就活でその心にもう一度炎が宿ります。

就活に関しては別の記事で長々と書いたのでそちらを見ていただければわかりますが

ogijunchang.hatenablog.com

最終的に決めたのはアプリ開発者としての道でした。

ただ僕はアプリじゃなきゃ嫌というわけではなく、単純にこの会社ならアプリの開発が一番ユーザーに価値を提供できるかな、と思ったことが最大の理由です。

一次面接が終わった後にフィードバックの面談を受けた時に、こんなことを言われました。

多分じゅぎのんくんも一番の懸念点として思っている、今まで触ったことのない技術でこれから仕事をしていくというところに関しては会社側も懸念材料としてある。

じゅぎのんくんがこれからSwiftで仕事をしていっても大丈夫だ、って言えるような覚悟を見せてほしいです。

覚悟を見せるってなんやねん…って思っていろいろ考えましたが、やっぱりエンジニアである以上技術の習得が一番の覚悟になるよなぁということで、ここでSwiftでアプリ開発をすることを決意しました。

どんな勉強をしたか

その面談を受けた日の帰りにSwiftの参考書を買って1週間でとりあえず入門書を一周しました。

そのとき買った入門書がこれ。

やるなら一気に、でも最低限の内容はちゃんと学べるような本を選びました。

結構分厚い本ですが、最初の方はXcodeの使い方とか基本文法でバリバリ進めるので、そんなにやってないのにページがたくさん進んでなんかモチベーション爆上がりしてました。

本を読み終わった後は早速ストップウォッチの開発に取り掛かりました。

当たった壁

Swiftのバージョン違いによる体系の違い

開発するぞ!となったときに一番最初に当たった壁がSwiftのバージョンの違いによるコードの違いでした。

Swiftは現時点で5.4になっていますが、入門書はWWDC2019から登場したSwiftUIを使ったアプリ開発を紹介していました。

SwiftUI Overview - Xcode - Apple Developer

つまり、2019年以前に書かれたコードはすべて入門書とは違う書かれかたをしているため、結局ネットのコードを利用するとなったときには再度学び直しが必要であるということです。

結局SwiftUIの記事はありえんほど少なくて、Storyboardを使った開発に切り替えました。

さらに古い記事だと、Objective-Cのコードもあったりしてバージョンの違いによるコードの違いはReact Nativeにはない大変なところだなぁと正直に思いました。

レイアウトの仕方が独特すぎる

React Nativeではアプリの中の要素を並べたりするとき、FlexboxというWebでは割と一般的なstyleの手法で書いていました。

Layout with Flexbox · React Native

iOS開発はAutoLayoutという様々な「制約(Constraint)」を加えることでオブジェクトの位置を決定する仕組みが使われています。

これぱっと見かなり独特で、最初は何言ってるか全然わからなくて絶対座標で指定してしまっていました。

それをシミュレーターで動かしてみると、iPhoneX系では真ん中に表示されるのに、iPhone5系だとめちゃくちゃズレて表示されるみたいな。

束縛方法はいろいろあり、Xcodeのなんかよくわからんアイコンをいろいろいじって設定します。

qiita.com

Xcodeがまずそもそも複雑っていうのも壁の一つではありました。

React Nativeを使っているとちょくちょく使うタイミングがあったので、それにだいぶ助けられた感じはします。

一からXcodeを使いこなせるようになるまではかなり時間かかるんじゃないかなぁ…

久しぶりの型あり言語、そしてOptional

僕が今まで開発で触ってきた言語はJavaScriptとかRubyとかPythonが主で、つまり動的型付け言語ばっかりでした。

最後に静的型付け言語をしっかり触ったのは学部3年のCの授業か、Javaとかかなぁという感じでかなり型に対しては食わず嫌いしていた面がありました。(TypeScriptも結局ちゃんとさわれてない)

Swiftをやるに当たってCとかの型の概念に加えて、Optionalという新しい概念についても勉強しました。

Optionalは予期せぬところでnilを参照してバグを生み出すことをなくすための仕組みって感じですが、変数に「?」とか「!」とか「??」とか「!!」とかよくわからん記号がついているのはなかなか不安になりました。

正直いまだにOptionalをすることによる恩恵を受けているか微妙ですが、もっと勉強して上手く使えるようになりたいです。

作ったアプリ

そして作ったアプリはこちらになります。

github.com

githubにgifがありますが、音量ボタンを押すのと同時にスタート/ストップが動いていることがわかると思います。

なんとか最終面接までに形にすることができて、これをアピールしたらかなり喜んでもらえました。(結果内定いただけたので、めでたしです)

さて作れたことだしアプリリリースしてみるか〜!と思いましたが、ここで最大の壁に当たりました。

音量ボタンの操作がAppleガイドラインに違反する

App Store Reviewガイドライン - Apple Developer

音量ボタンで制御するコードをいろいろ調べているうちに、なんとなくわかってしまったことだったのですが、Appleガイドラインには以下の文章が記載されています。

2.5.9 音量を上げる/下げる、サウンドオン/オフといった標準スイッチの機能、および他のネイティブユーザーインターフェイスの要素やその挙動を変更または無効にするAppは却下されます。たとえば、ユーザーがその動作を想定できる別のAppや機能に対するリンクをブロックすることはできません。

割と絶望しました。まあだからこそAppStoreに同様の機能がついたアプリがないのかもしれません。

AppStoreに上げないで他者にアプリを配布する仕組みとしては二つあり、AdHocとIn-Houseがあります。

AdHocはアプリのデバッグ用として、UDIDを登録している端末にだけアプリを入れられるような仕組みです。

これには一番面倒な制約があり、有効期限があって永久にアプリが使えるわけではありません

これじゃあ俺が卒業したらもう部活の人たちには使ってもらえないんか… そう思ってかなりしんどい気持ちになりました。僕はユーザーファーストな開発をモチベーションにしているので。

まあでも万が一の可能性もあるし、一応審査出してみるか…と思って審査を出した結果、なんかよくわからないけど通りました

ということで現在は1.3.0というバージョンのものが上がっていると思います。

Volume Watch

Volume Watch

  • Jun Ogino
  • ユーティリティ
  • ¥120
apps.apple.com

これで一件落着やん、ということで、部活の人には結構喜んでいただけました。

ただ機能としては本当に最小限で、ラップを自動で保存して呼び出せるメモリー機能があればいいな、というふうに思いながらリリースしていました。

そしてこの前、Realmというローカルデータベースを使ったラップメモリー機能を実装(v1.4.0)してアプリの審査を再度出した結果、審査から弾かれました。

f:id:ogijunchang:20210629003239p:plain
絶望の却下

翻訳すると、あんたのアプリ普通の音量ボタンの使い方してないからダメやで、ガイドライン準拠させてもっかい審査だしてくれやということですね。

音量ボタンで操作できなくなると僕のアプリのアイデンティティは消滅してしまうので、このアップデートはいまだにかけられていません;;

日にちをおいて再度審査をだしたら審査する人が変わってワンチャンあるんじゃないか!?と思ってやってみたりしましたがやっぱりダメでした。

Appleの審査工程謎ですね。そしていまだストアから消えない僕のガイドラインに違反したアプリはいつ消えるのか…神(Apple)のみぞ知る、です。

総括

ひとまず就活や部活で助けになるためにアプリを作成しましたという話でした。

これ以上追加開発をしてもストアにあげられない以上、今後の開発はどうしようかなぁ…という気持ちです。

カメラでシャッターボタンにしてるんだから別にええやん…

Appleさん、よろしくお願いします。

f:id:ogijunchang:20210629004038j:plain

就職活動奮闘記

こんにちは、絶賛春休み中のじゅぎのんです。(そろそろ終わる)

今回は、前回にも言及していた就職活動について満を辞して書き記そうと思います。

実は就活の記事は結構前に書いていて、めちゃくちゃ長文を書いた挙句「これ見るやつはなにを見せられているんだろう…ってなりそう」とふと思って全部消しました。

そんなわけで、今回は自分が「これをやっていてよかった」とか「これをもう少しうまくやればよかった」と思った就活の要点?的なものをまとめておこうかなと思います。

就活プロフィール

まずは自分がどういう業界のどういう職種をやることに決めたのか、プロフィール的な感じでまとめます。

  • 2022年 電気通信大学大学院卒業予定 現在情報学専攻の修士1年生
  • 志望業界はいわゆるWeb系企業 エンジニア志望ではあるがデザインにも興味があった
  • 本選考に入った企業は全部で4社 うち1社一次面接落ち、1社選考辞退、2社内定
  • 一番早い面接…11/9 内定1社目…12/14 就活終了…2/19
  • 面談の回数…40回弱 面接の回数…9回

こんな感じですかね? 夏にインターンシップやってたりもするので、よければそちらもご覧ください。

ogijunchang.hatenablog.com

では、就活やってみた所感など書き連ねていきます。

軸を見つけることを最優先にする

でましたね軸。就活のセミナーとかにいくと「軸を持とう」という言葉を耳に胼胝ができるほど聞かされると思いますが、実際その通りです。

面接って自分をアピールする場所であることは当然のことで、「自分はあなたの会社にとって力になる存在なんですよ」ということを示す場所です。

また、それに加えて会社の人にとってはできるだけ長く働いて、速く成長して会社に利益をもたらしてほしいと思うのは当然のことです。

面接に挑む側は結構そのことを忘れがちで、「なんでもいいから俺を雇ってくれ」とか内定がないときは思うんですが、会社にとってはなんでもよくはないんですね〜(当たり前)。

その環境で長く働ける・速く成長できる人というのは、その環境に素早く馴染むことができるとか、その環境にいて苦痛ではないことが大前提になります。

じゃあどうすればその会社が自分にとって馴染める環境であるか、苦痛ではない環境であるか判断できるのか?それが就活の軸なのです。

「軸」という言葉で聞くとすごく堅苦しいイメージで、「会社のビジョンがうんちゃらかんちゃら…」みたいなことをイメージしがち(僕がそうだった)なんですが、これって意外となんでもいいことを面談をして知りました。

僕は軸を大きく3つに分けて、その中で細かく重要度に分けて決めていました。

軸1: 人間関係

まずは人間関係についてです。面接でも何度も言っていましたが、僕は人間関係が仕事をする上で一番重視したい要素でした。

今までの人生の経験上、人間関係が面倒なことになっている環境では自分の力がうまく使えない(周りの人に話しかけることができない・憂鬱な気分になる)ことがわかっていたので、少なくとも仕事に対してマイナスな感情を持っている人のいない環境がいいと思っていました。

まあそんなことは全人類そう思っていて、かつそんなことを面接で聞いたところで会社のやばいところを教えてくるような会社はあるわけないんですが、それでも結構面談や面接で「この企業に勤めていて『ここは変えて欲しいな』とか思うことってあったりしますか?」という質問はけっこうしました。

意外とそういうことを聞くと素直に答えてくれる面接官は多く、素直だとそれはそれで会社の印象もよくなったりしました。

軸2: 技術

次に技術についてです。エンジニアを志望する以上、技術については最低限「これをやりたい」という軸は持っておくべきでしょう(持論)。

僕は今までフロントエンドエンジニアとして夏のインターンシップや長期のインターンシップをやってきて、ユーザーの目に直接触れるクライアント側の処理を書くことにとても面白みを感じていました。

ただ、僕は「プログラミングをやりたいからプログラミングをやっている」というよりかは、「こういった問題があってこれをどうにか改善したいから、その手段としてプログラミングを使っている」という気持ちが強いです。

これは別にどっちがいい悪いの話ではなく、好みの問題だと思います。

機械学習がすごく面白いからMLエンジニアになりたいという人ももちろんいるだろうし。

なので、僕は会社として技術に対して「問題を解決するための一つの手段」である、という考え方をしている企業を選びました。

結構そういった類のスローガンをビジョンやミッションに掲げている企業は多く、わかりやすくてよかったです。

また、先程のクライアントサイドをやっていたというのもあり、「ユーザー志向」というワードは就活でとてもよく使いました。

今までの経験上、僕のプログラミングのモチベーションは「作ったものを使ってくれたユーザーからの声」であることが自己分析(と言えるのかわからないけど)でわかりました。

なので、そういったユーザーボイスドリブンで開発しているような環境だったら自分の力を精一杯注げそうだな、と思い「ユーザー志向」を軸にしました。

軸3: 組織

最後に組織(というか企業自体)についてです。

プロフィールのところで面談の回数40回弱と書きましたが、Web系の大企業からかなりの小規模な企業までいろいろな規模の企業と面談をしてきました。

そこでの感触としては、「多分自分は大企業には合わないな」でした。

大企業は収入も(おそらく)安定していて、教育もきっとしっかりされてエンジニアとして堅実な道を歩めるかもしれなかったんですが、やはり上二つの軸に当てはめた時に不安が残ることが大きかったです。

まずユーザー志向な開発はおそらくほぼまったくといっていいほどできないと思いました。

大体業務内容として聞くものは保守・運用が多く、ユーザーとはほど遠い位置で開発をする環境であることがわかりました。

なので、持っていた軸としては「100人〜数100人規模の企業で、これから成長する見込みがある企業」という感じでした。

また、自分は今後エンジニアもやりつつマネジメントの方に舵を切っていきたいとも考えているので、そういったルートにいけるような会社という面でも選んでいました。

こんな感じで軸を作って面談をすると、「あ、この会社は多分違うな」というのが肌感でわかるようになります。

そうすることでミスマッチな会社の本選考に入ることがなくなり、企業にとっても自分にとってもいい時間になると思います。

本選考って想像以上に精神力使うので、何十社も受けてるような人は本当に尊敬します。

人に相談する

僕の中で就活を満足して終わらせられた要因の一番大きいものはこの「人に相談をたくさんした」ことだと思っています。

4月から就活イベントでお世話になっていたサポーターズのアドバイザーの方、陸上部の卒部生であり現Web系企業エンジニアである先輩、研究室の後輩、一緒に就活をしていた陸上部の同期、両親、面談を設けてくださった企業の方など、本当にいろいろな人に相談しまくりました。

とくにWeb系に勤めている20卒の先輩にはマジでちょくちょく相談をして話を聞いてくださったのでありがたかったです(寿司も奢ってもらったし)。

さきほども言ったように僕は面談を40回弱やったと言いましたが、実はそのうちの13回は内定を出していただいた2社との面談です。

その2社は先程言った3つの軸で当てはめてもばっちりの企業で、内定をもらった直後ではどうしてもどちらにするか決めることができませんでした。

そういう時は自分で考えていてもしょうがないので、とにかくいろんな人に「どっちにしようか迷ってるんだけど、ここはこっちの方がよくてここはあっちの方がいい」など本当に思ったままのことを相談していました。

もちろんそれは内定を出してくれた企業にも正直に言いました。

どちらの企業も本当に親身になって話を聞いてくださり、僕を会社の人材としてではなく一人のエンジニアとして人生相談に乗ってくれていたな、と感じます。

特に、僕の中で一番響いたのは陸上部の先輩が言っていた「どの仕事をしていてもつらいときはあるけど、自分がやりたい仕事やってればそこまで苦に感じないのでは」という言葉です。

そこからサービスへの愛着が僕の中で一番の論点になり、「今の自分は、自分に近い身の回りにいる人たちの助けがしたいんだ」ということをはっきりさせることができてどちらにするか決めることができました。

僕も後輩にいいアドバイスができるようになれればいいなと思います。

面接は結局慣れ

今年はどの企業もすべてオンラインでの面接だったので、多分リアルで面接するよりかは緊張もそこまでなかったのかもしれませんが、それでも1社目の1次面接はクッソ緊張しました。

正直言ったことも汎用的なことで、あまり面接官の印象に残らないまま1社目は1次面接で落ちました。

そこでかなり落ち込みましたが、やっぱり何回も面接を繰り返していけば余裕も出てきて素直に質問に答えられるようになったなと思います。

特に僕の中で印象が強かった面接は、先日基本情報技術者試験をうけるきっかけになった面接

ogijunchang.hatenablog.com

そして、内定を承諾した企業の1次面接です。

その企業はiOSアプリエンジニアとして応募していて、Swiftはほとんど触ったことはなかったものの「一応少しだけ触ったことがあります」と言いました。

そうするとそれに対する質問として、「SwiftはJavaScriptと比べてなにが違うと思った?」ということを聞かれ、その時はマジでなにもわからなくて固まりました。

少し考えていいですか、と聞いて考えましたがやっぱり何も出てこず、これは素直に答えるしかないと思い「すみません、それについてはわからないので答えられません」と言いました。

この時点で半ばこの会社は諦めかけていて、あーあと思っていたらその日に面接通過の連絡がきました。

後日面談でそのことを聞くと、「わからないものはわからないと素直に答えているのが逆に好印象だった」と言われ、わからないことがあってもいいんだな、と思うようになれました。

たしかに実際に働くことになって、わからないものをわからないと言えないようなやつに仕事を任せて全然進捗ない、ってよりかは普通にわからないって言ってくれた方がいいですよね。

あとはその面接で、「デザインに興味があるならデザイナーにはならないの?」と聞かれたとき、デザイナーがどんな仕事か他社の面談で聞いていたこともかなり良ポイントでした。

どの面談も無駄じゃないな、と思えた瞬間でした。

もっと他の企業があったんじゃないか

就活をしているときに常に感じていた不安として、「自分に合っている企業は単純に僕の目に触れていないだけなんじゃないか」ということです。

サポーターズのアドバイザーにいろいろな企業の推薦をしてもらいましたが、どの企業も正直あまり惹かれる部分はありませんでした。

しかし、その推薦をみて「自分の知らない企業ってこんなにあるの…?」とも思いました。

実は今自分が選考を受けているよりももっと自分にあった企業が実はあるけど、単純に時間がなくて会社をみることができず、見つけられていないんじゃないか、ということをずっと思っていました。

これに関してはなるべく早くからいろんな企業をみて回る以外になく、時間の問題だなぁと思います。

会社のことをよく知るためには企業サイトだけではなくブログも読まないといけなかったりするので、結構骨が折れます。

就活関係なくいろんな企業のサイトはみておいて損はしないな、と思いました。

総括

まとめとして言いたいことは、てきとうに「この会社でいいや」で決めるんじゃなくて、よく考えた方がいいぜってことです。

正直夏の時期は「就活はなんの苦労もなく一瞬で終わらせたいな」とか思っていたんですが、そんな楽をしてもいいことは正直あまりないです。

結局未来の自分を苦しめることになると思うので、研究もそこまで忙しくない今の時期にたくさん自分のことで悩めたのはとてもいい経験だったなと思います。

ということで、最後まで読んでくださった方に向けてお知らせになりますが、わたくしじゅぎのんは2022年新卒で株式会社ZOZOテクノロジーズのiOSエンジニアになります。

今まで触れたことのない言語を仕事にするということで若干の不安はあるものの、この1年でどうにか力をつけていこうと思います。

f:id:ogijunchang:20210324005252j:plain

プリズムの煌めきと一緒にがんばるね。

基本情報技術者試験を受けた

こんにちは、就活が無事終わりましたじゅぎのんです。就活に関しても記事はあげようかなと考えていますがかなり長くなりそうなのでまた今後。

今回は3/1,2に受けてきた基本情報技術者試験についてレポートしていこうかなと思います。

結果

先に結果を挙げると、まだ正式な合格通知はきていないものの、午前試験は86.25点、午後試験は全体正答率91%取れたのでおそらく合格したんじゃないかなと思います。

改めて結果通知がきたら公開しようと思います。

※ 5/10 追記

先日合格発表があり、無事合格していました。

また、郵送で午後試験の得点が通達され、91.00点という結果でした。

全体正答率も91%だったので、意外と点数は均等配分なのかも…?

きっかけ

なぜM2になる今更、応用情報やスペシャリストではなく基本情報を受けたのか?

他に資格を持っていないからとか、もともと去年受けようと思ってたらコロナの影響で中止になったからというのも理由としてはあります。

2020年の抱負の記事に書いている通り、プログラミングに関する大きな目標として基本情報に合格することを挙げていました。

実はその時4月ごろに試験を申し込んでいて、春休みで勉強を少しづつやっていたんですが(卒業旅行にも参考書を持って行ったりしてた)残念ながらコロナウイルスの影響で2020年の前半の試験はなくなりました。

秋に優先で申し込みができる権利みたいなものをもらっていましたが、その頃にはモチベーションがだいぶ下がっていて受ける気にならず、結局申し込まないまま時はすぎていきました。

ではなぜ今受けたのかというと、就活の面接で自分の基礎知識のなさに気付かされたからです。

後に書くであろう就活レポートにも書く予定ですが、とある企業の二次面接での出来事です。

面接官:「Webに関する知識ってどれくらいありますか?」

じゅぎのん:「そうですね、大学で学んだことは大体基本情報技術者の範囲にはカバーしてると思います」

面:「なるほど、ではHTTPについて説明できるだけ説明していただけますか?」

じ:「(ファッ!?)えーーっと…そうですね、ブラウザがWebサーバーと通信するときのプロトコルなんですが…すいません、それ以上のことについてはあまり説明できることがありません」

面:「HTTPSとHTTPの違いについてはどうですか?」

じ:「暗号化されてるんだろうなー、くらいはわかるんですがそれ以上は…」

面:「なるほど、わかりました。Reactとか結構がっつり書いていてとてもいいと思うんですが、こういったWebに関する基盤になる知識もあるともっといいかなって思いますよ!」

じ:「そうですね…ありがとうございます」

結局この面接には通り、その企業からは内定をいただけたんですが「自分にはこんな基礎知識もなかったのか…」と思い知らされることになりました。

面接を受けたのが11月の下旬で、その後12月頃に就活が終わったら受けようと決意、3月の初めに受験という流れです。

実際基本情報を勉強したことでWebに関する知識(特にネットワークやセキュリティ)に関してはかなりついたかなと思っています。

基本情報って聞くと結構「なんで今更そんなの受けるの?応用情報ならまだわかるけど金の無駄でしょ」とか言われることが多いんですが、エンジニアとしての基礎知識を完璧に網羅できている人ってそう多くないと思います。

もちろん国家資格だし、エンジニア志望でもしっかり勉強しないと普通に落とされる試験なことに間違いはないと思うのでバカにするような資格ではないよな、と受けてみて改めて思いました。

使った参考書・教材

僕が勉強に使った参考書や過去問はこちら。

教本

過去問

教本は常に持ち運んで、大学でも勉強する機会がとても多かったので電子書籍で購入し、iPadで読みながらノートを書いていました。

また、よく参考書としてあげられるキタミ式や「かんたん合格」と謳われる教本

こういった参考書を使わなかった理由は、上でも言ったようにWebの基礎知識を一応すべて網羅できるように一周しておきたかったからです。

基本情報技術者試験に合格する」ことを目的とするというよりかは、「Webに関する知識を最低限覚える」ことを目的として受けていました。

戦略としては単純で、章ごとにいつまでにその章を終わらせるか目標を立て、教本が終わり次第過去問を解き始めるといった感じでした。

僕が使っていた教本の各章はこんな感じの内容でした。

1章: 基礎理論(数学に関する知識・アルゴリズム

2章: コンピュータシステム(メモリ・OS)

3章: 技術要素(DB・ネットワーク・セキュリティ)

4章: 技術開発(システム開発プロセス)

5章: プロジェクトマネジメント

6章: サービスマネジメント

7章: システム戦略

8章: 経営戦略

9章: 企業と法務

午前問題対策

はじめの章から順番に勉強していき、時間がなくなり次第過去問をやるようにしたため、最後のストラテジ系はかなり駆け足になってしまいました。

その分、1~3章の部分は純粋にページ数が多かったのもあり(3章までで教本の半分)、かなり細かいところまで勉強することができました。

実際、ストラテジ系は問題を解くというよりかは単語の意味を覚えているか、日本語がきちんと理解できるかを問われているような感じがしたのであまり勉強せずともある程度の点数は取れるんじゃないかと思います。

勉強していて僕が特に覚えることに苦労したポイントはこちらです。

RAIDの種類が覚えられない

RAIDとは、ディスク装置を複数台用いて高速または信頼性の高いディスク装置を実現する技術です。

全部で7つ種類があって、それぞれ名前がつけられているわけではなく単純に「RAID0,RAID1,...RAID7」と書かれているだけなのでかなりややこしいです。

過去問では「RAID0の特徴は…」とか問われるので、ちゃんと覚えておかないと死にます。

なんとか覚える方法はないかなと調べたところ、この記事の覚え方が一番しっくりきました。

reject.tokyo

RAID0,1,5の3種類しか問われないとのことだったので、0と1は記事のように数字の形で覚え、RAID5だけは「パリティビットがある」という覚え方をしました。

DRAMSRAMの違いが覚えられない

RAMとROMの違いはわかるけど、DRAMSRAMの違いが覚えられなくて苦労しました。

特に、「リフレッシュが必要なのはどちらか」と言われたときにパッと思いつくことができなくてミスった覚えがあります。

こちらも調べたところ、この記事の覚え方が一番しっくりきました。

egoro.seesaa.net

かなり昔の記事ですが、みんなやっぱり覚えるの苦労してるんですね。

SQL文が覚えられない

DBの章ではSQLによるデータベース操作の記述が一気に説明されて、初めてSQL文をしっかりみるときはかなり混乱しました。

これに関しては午後過去問のデータベースの問いをやるのが一番覚えられました。問題として出てくるとどういった処理をしているのかが比較的簡単に読み取れたので、ここは覚えることに固執しないでさっと流す程度でいいと思います。

他にも、「秘密鍵と共有鍵の違いがわからない」「ディジタル署名方式がよくわからない」「ネットワークの通信方式がよくわからない」とか疑問はかなり多かったですが、一つ一つきちんと理解することで知識として定着させました。

午後問題対策

午後問題の対策は完全に過去問をやりまくるだけでした。

実際に過去問に手をつけたのは本番の1週間半前くらいからで、かなり短い間でやりました。

購入した過去問には1年分の予想問題と3年分の過去問題が収録されていて、とりあえずその過去問をすべて2周しました。

午後問題はとても文章量が多く、かなり集中しないと全然理解できないので本番と同じ時間と集中力で挑む必要があります。

だらっとしながら問題を解いていたら答え合わせでほとんど間違えていて「やべぇ午後で落ちるかもしれん…」みたいな気持ちになりましたが、集中して解いていくと意外と解くことができました。

また、戦略としては問2~問5の選択問題でどれを選ぶのかが重要になってくると思います。

とりあえず全問解いてみて当日もざっと目を通していけそうな部分から手をつけていました。

当日実際に問題を解いてみた感想としては、過去問は4年分を2周すれば十分対策になるかな、という感じでした。

ほぼ過去問そのままで出題された問が一つあり、そこに関してはかなり過去問があってよかったと感じましたが、それ以外の問に関しては問題の内容はかなり違くて純粋なアルゴリズムの知識が必要でした。

ここに関しては暗記をするというよりかは解き方を固めておく必要があるものなので、数回過去問を解くことで身についていくかなと感じます。

あとは当日やった戦略として、集中力の続く・時間に余裕がある一番最初にアルゴリズム問題とpythonの問題を解き、その後に残った時間をいい感じに分割して残りの大問を解いていきました。

こういった一つ一つの大問に使う時間とかもしっかり練習の段階で決めておければだいぶ楽になるんじゃないかなと思います。

受験当日

令和2年度秋期以降の基本情報技術者試験がCBT方式での実施になることが、IPA情報処理推進機構)より発表されています。

会場を指定するとそれぞれの会場で受験可能な日にち・時間を指定することができ、午前・午後でそれぞれ好きな日にち・時間を指定することができました。

僕は3/1に午前試験、3/2に午後試験を受けるように設定しました(午前と午後を同日にすることもできました)。

僕が申し込んだ会場はとても小さく、受付にいくと左右に仕切られたPCルームがあり、それぞれの部屋に大体10台くらいコンピュータが置いてありました。

持ち物をすべてロッカーの中にしまい、準備ができるとPCの前に通されます。

受験開始のボタンを押してからはモニター上に試験問題が出され、その回答をマウスでクリックして進んでいくという流れでした。

紙の方がいい・CBT方式の方がいい二つの意見に別れると思いますが、正直どちらでも変わらないかなと思います。

CBT方式だと設問ごとにフラグを立てることができて見直しをするのが楽だったり、マークシートの判定漏れとかが確実にないという安心感もあったので僕はCBT試験の方が好きです(多分)。

午前試験はどの過去問をやっても6割は確実に超えていたので普通に解きすすめればよかったんですが、謎に緊張してマウスを動かす手が震えていました。

問題が進むにつれてだんだん慣れていき、大体1時間くらい残してすべての問題が終わったと思います。

途中退室もできたようですが自分は一応時間ギリギリまで見直しをしていました。

試験が終わった後、受付に戻って確認をとって午前試験は終了しました。

携帯の電源をつけるとメールですでに午前試験の結果が届いていて、午前試験に関しては100点満点中何点だったか・それぞれの分野で何%点数を取れていたかがわかりました。

紙の試験だと結果がくるまで1ヶ月はかかると思うので、結果がすぐわかるというのもCBT試験のいいところだなと思います。

午後試験も同様の方式で行い、試験が終わった後に送られる結果には点数ではなくそれぞれの大問で何%点数をとれていたかのみがわかります。

今回の結果としては、午前試験で86.25点、午後試験で全体の91%をとることができました。

午後試験は設問の難易度によって配点が変わるため確定で合格とは言えませんが、さすがにこれで落ちていたら納得できないです。

感想

資格の試験を受けるのは大学3年のTOEIC以来ですが、国家資格というのもありかなりしっかりした体制で試験が行われているなと感じました。

やっぱり基本情報とはいえしっかり範囲全体を勉強していないと合格はできないレベルの問題が設定されていて、たしかに「高度 IT 人材となるために必要な基本的知識・技能をもち,実践的な活用能力を身に付けた者」になれそうと思いました(小並感)。(でも正答率60%で合格ってちょっとボーダー低すぎではとは思った)

あとは情報学の内容しか出てこないので、純粋に自分の興味で勉強を進めることができたので勉強していて苦痛に感じることがまったくなかったのもよかったです。

TOEICとか真剣に勉強しても絶対こんな点数取れないと思うので。

正式な結果は4月下旬に出るとのことなので、楽しみに待っていようかなと思います。

応用情報とかスペシャリスト系も挑戦してみようかな…(研究しろ)

f:id:ogijunchang:20210310135513j:plain

そういえばノンシュガー単独ライブ行ってきました。新曲5曲アツすぎだろ…

月川ちりのオタクになりました。

2020年の反省、2021年の抱負

こんにちは、10,11月とブログ更新をサボりましたじゅぎのんです。

2018年、2019年と反省・抱負を書いてきて、今年も無事に2020年が終わります。

去年はどんなことを目標に掲げていたんでしょうか?ちょっと見てみましょう。

ogijunchang.hatenablog.com

2020年やったこと

フォーマットは去年とほぼ同じでいこうかな。

研究

間違いなく一番最初にくるイベントはこれですね。卒論。

2月7日に原稿の締め切り、2月14日に卒研発表です。2ヶ月後は間違いなく修羅場です。

3ヶ月後にこの記事を見てあのときはな〜〜って早くなりたいです。もうお正月も気が休まらない…

ただ、卒論を書き上げても僕は電通大院に進学するので、研究が終わることはありません。正直学部での研究テーマが微妙すぎてできるならやり直したいと思っています…

ということで、M1で新しい研究テーマをちゃんと決めたいなと思います。先輩には気を抜いてると一瞬で1年終わると言われたので、気を抜きたくないですね(フラグ)

嘘だッ!!!!!

まあ無事に卒研発表は終わりましたね。

僕は1月下旬に第1稿をあげて、結局4回くらい直したかな? 僕が去年どれだけ心が荒んでいたかはこの記事を見ればわかります。

ogijunchang.hatenablog.com

この記事、個人的にはこのブログで一番の傑作だと思っています。

やっぱり心がやられているあの時にしかこの記事は書けなかった。まじで書いてよかったと思ってるし、これを後輩に読んでもらって僕の同期がどれだけやばいやつだったか知ってもらうことができて僕は幸せです(にっこり)

研究テーマが微妙だから変えたい、と言っていましたが、今やっている研究は少し路線が違うものの卒研のころとほぼ同じテーマで続行しています。

夏にオンラインで学会発表をし、この研究の道筋というか今後なにをやっていきたいかを明確にできたと思っています。

これから実験をやって分析して、その結果を用いてシステムを作り、修論発表に向かう所存です。

一応なんとなく目処は経っているので去年よりかはスムーズに研究は進むんじゃないかなと思ってます。

ちなみに同期の研究はガチで何も進んでいません。

陸上競技

去年にあげていた目標はこんな感じでした。

  • 十種競技で関東インカレ3部標準突破

  • 27大学対校戦で十種競技優勝

  • 黙って記録と金を出す

この目標は残念ながら達成することはできませんでした。十種競技に出場できなかったので。

コロナウイルスの影響で春の記録会は全滅し、もしやれていたとしても公認記録にはなりませんでした。

27大学対校戦は参加できる大学数が大幅に減った影響で国公立大学対校戦へと名前を変え、十種競技も競技時間の関係上実施されることはありませんでした。

ということで、今年記録を残せたのは3種目、走高跳走幅跳・110mHのみでした。

ただ、記録自体は悪くなく、走高跳はPB-1cmの195cm、走幅跳は6m91cmでPB、110mHはPB+0.23sの15.74でした。

純粋な短距離のメンバーの中で今年PBを出せたのは自分だけだったので、それは素直に嬉しいです。

ただ未だにどの種目も関東インカレ標準には一歩及ばずで、走高跳はあと4cm、走幅跳はあと19cm、110mHはあと0.21sです。

陸上に関しては今年は不完全燃焼の年でした。

プログラミング

プログラミングに関しては、今年は就活もあったことで大きな飛躍の年になったんじゃないかなと思っています。

今年の実績はこんな感じ。

  • 夏のインターンシップに参加し、チーム開発を経験できた(コンペで優勝もできた!)

  • 去年に比べてインターンで高度なことを任されるようになった

  • 内定を2社いただけた

夏のインターンに参加できたことは僕のエンジニア人生にとって大きな転換の出来事でした。

チーム開発を経験したい!というただそれだけの理由で申し込んでいた自分は今になって考えると何言ってんだろうって感じですが、それでも気持ちを汲んで採用してくれたVOYAGE GROUPの方にはとても感謝しています。

今考えると、インターンに参加するだけで12万円もくれるなんて会社からしてみればかなり力の入れた投資だよなぁ…って思います。

夏のインターンのおかげで、就活もかなりスムーズに進めることができています。

夏のインターンの記事はこちら。

ogijunchang.hatenablog.com

就職に関しては今かなり迷っているところです。できることなら大企業にいきたいけど、それが本当にいい選択なのかわかりません…

ここに関しては今もまだ模索中ですが、自分なりの答えは出せました。今年1年間で面談をした会社は30社近くになり、企業の方とたくさん話すことで僕は自分なりの答えに近づいて行けたなと思っています。

就活に関しては確定したら記事にしようかな。

長期インターンに関しては、来年にかなり大きな仕様改修が待ち構えていて、それをやるのがとても楽しみです。

自分が卒業するまでにそれを完成させて、無事卒業できたらな、と思っています。

趣味

今年は趣味もかなり全力を注げたんじゃないかなと思っています。

新しいコンテンツを追いかけたい とも思っています。

去年の僕、見つけましたよ。アイドルマスターという新しいコンテンツを。

ライブに関してはコロナウイルスの影響ですべてオンライン開催になってしまいましたが、カラオケでライブ配信をみたり研究室の大画面の前でサイリウムを振ったりオンラインでもたくさん盛り上がれた年だったかな、と個人的には思っています。

でもやっぱり現地に行ってコールしまくって声枯らしたい…と切実に思っています。

今年のキモ・オタク活動はこんな感じ。

ラブライブは無印がとてもいいストーリーだな〜って思ってたけど、サンシャインで二番煎じ感あってちょっとだけ萎えた。

  • ミュークルドリーミーの視聴(1月〜12月)

初めてのサンリオ作品の視聴。今年一番幸せなアニメだと思ってる。ゆめちゃんかわええなぁマイラブ!

いろいろな影響が重なって視聴を始めたアイマスでしたが、千早の約束を見て号泣、そのままシンデレラガールズとSideMも見ました。

今はどのCDを借りればアイマス楽曲を制覇できるのかがんばって検索しているところです。

  • 増えたオタクグッズたち

f:id:ogijunchang:20201230144500j:plain

去年の比じゃないくらいオタクグッズが研究室に増えました。

卒業したらこのグッズの居場所をどうすればいいのかすでに不安になっています。

  • プリティーシリーズだけじゃないライブへの参加

    • 佐々木李子さん(だいあちゃんCV)のワンマンライブ
    • 邪神ちゃんドロップキック(ノンシュガー出演)のライブ
    • バンドリ!RAISE A SUILENのライブ

RASは個人的に曲が好きすぎてバンドリじゃなくても追いかけたいバンドですね。

Sacred Worldの初回限定版に入っていた舞台RASのDVDを見て推せるな、と思いました。

あとオタクでやったことの大きいことは、アイカツスターズ!の早乙女あこちゃんのスクショを永遠に垂れ流すbotを作ったことですね。

twitter.com

RailsでWebアプリを作り、そこ経由でtwitterに画像を飛ばしています。

来年はWebの方でスクショをちゃんと見れるようにしたい!

2021年やりたいこと

研究

研究室同期のやる気のなさはきっと来年も変わらないですが、自分は自分で一生懸命頑張ろうと思います。

少しずつでも手を止めない、あとは何かにつけて期限を設けてだれることのないようにしたいです。

来年末は去年末よりも楽な心持ちで振り返りの記事を書いていたいですね。

陸上競技

陸上競技の選手としてトラックに経つのは来年がもしかしたら最後になるのかもしれません。

少なくとも大学陸上は来年で引退になるので、自分の悔いの残らないように記録と結果を出したいです。

具体的な目標を書いておくと、こんな感じかな。

本当に達成ができそうな目標はこの上記3つだと思ってます。そもそも大会や記録会が今年のように開催されなかった場合を考えると、これがまあ最低限かな。

最近は、記録として残すことも重要だと思っているけどそれ以上に大学陸上6年間のラストに相応しい部活にするにはどうすればいいのか、メンタルの面でいろいろ考えています。

せっかくなら記録以外でもなにか部活に貢献したいとか、どうすれば22年の卒部式で心置きなくお世話になりましたと言えるのかとか。

答えは今出るものではないので、1年かけて探し続けようと思います。

プログラミング

最近はもうお金稼ぎのために仕事をしていなくて、やらなきゃいけないからやっているという感じが強くなってきました。

研究が忙しくなるまでに、インターンの方はちゃんと大改修を終わらせられるようにしたいです。

あとは就活を無事に満足した、と終わらせて、次のステップに進むためのインプットを増やしていきたいです。

個人的な具体的な目標はこんな感じ。

  • 技術書を10冊読む(エンジニアリング関係の本)

  • 技術者試験へチャレンジ(春?)

  • 競技プログラミングを継続させる(できればAtCoderで緑を目指す)

新しいMacを購入したので、生産性爆上げでいきます。

趣味

今年はプリティーシリーズに加え、アイマスシリーズというかなり巨大なコンテンツにも手を出すことができました。

そしてプリティーシリーズではなんとアイドルランドプリパラという最強コンテンツが来年配信される予定です。

プリティーシリーズ・アイマスシリーズはしっかり追いつつも、他のコンテンツにも興味をむけて楽しみたいなー、というのが今の気持ちです。

オタク趣味の輪を広げることも継続してやっていきたいですね。あこにゃんbotももっと進化させよう!

総括

今年は異例の年になったものの、自分は自分なりにいろいろ頑張れた年だったなぁと思います。

好きなものは好きって言える、そんな環境を今後もずっと大事にしていきたいですね。

来年は学生最後の年でもありますが、あまりそこは強く意識せずに自分の楽しみたいことを存分に楽しみます!!

f:id:ogijunchang:20201230152502j:plain
趣味も仕事も部活も研究も我慢しない!

VOYAGE GROUPのTreasureに参加しました

またお久しぶりになってしまいました、じゅぎのんです。

8月上旬は授業が佳境に入り、テストがあったり提出物があったりで忙しく、研究も実験をちょっとだけやったりと忙しい日々が続いていました。

そんな8月下旬、ついにVOYAGE GROUPの夏のインターンであるTreasureが始まり、二週間+αの戦いの末無事生還して戻ってきたので、今日はその報告をしようかなと思います。

Treasureとは?

このブログを見ている人は大体みんな知ってそうなので特にかしこまって書く必要があるかは分かりませんが。。

Treasureとは、VOYAGE GROUPって会社が開催してる夏のインターンシップのことです。去年のレポートとか会社ブログ、そしてすでに今年の参加報告もちらほら上がってきているので、是非そちらも確認してみてください(きっと僕なんかよりいい文章書いてる)

うちのチームにいた人事のなみさんのテックブログ

techlog.voyagegroup.com

今年、共にTreasureに参加した人たち

hirocky86.hatenablog.com

https://blog.takurinton.com/17

昨年のTreasureに参加した人たち(TAとして今年参加していただいてる人もいます)

kitchen-py.hatenablog.com

denden-seven.hatenablog.com

今年は例に漏れずコロナウイルスの影響ですべてオンラインで、8/1, 8, 15の土曜日と8/17~28の計13日間(表記上は)の開催となりました。

去年までのTreasureのレポートをみて「オフィスきれいそうだし、お酒もタダで飲めるし、お菓子も食べ放題みたいでいいな〜」と思っていたので、そこがなかったのは少し(かなり)残念でした。。

でも、前回の記事でも書いた通り自分は普通だったらこの時期部活の大会・練習でこんなに時間がとれていなかったはずなので、このインターンに参加できただけで嬉しかったです。

あ、お菓子に関しては安心してください(?)、今も食べ切れていないほどのお菓子他の詰め合わせが段ボール二箱分配送されてきました。

f:id:ogijunchang:20200902234836j:plain
一箱目(Tシャツも送られてきました)

f:id:ogijunchang:20200902234932j:plain
二箱目(発売したばかりのVOYAGE対談本も送られてきました)

そんなわけで、お菓子も気持ちも用意完了!いざTreasureへ :muscle:

前半戦(講義)

8/1, 8, 15、そして8/17はVOYAGE GROUPの方がフロント・バック・DB・インフラ・アイデアについて講義をしてくれました。

フロントエンドはJavaScriptの歴史からJSのtips(function関数とarrow関数の違いとか、bindについてとか)を学びました。

意外とずっと書いてきたのに知らなかったこととかがあって、フロントエンド講義も学びが多くあったなぁと感じます。

バックエンドはTreasure-voiceという1対1の通話サービス的なものを作りながらGolangを学びました。

Repository, Service, Controllerの役割やAPIのエンドポイント設計、WebSocket、WebRTCなどバックエンド経験ほぼ皆無な自分にとってはすべてが初めて聞く単語で、完全にコンフォートゾーンから外れた状態(むしろ体半分パニックゾーンに入ってる)でしたが、TAのらぴおさんが講義のあとに1対1で画面共有をしながら丁寧に教えてくださり僕は感涙にむせび泣きました。本当にありがとうございました…!

DB講義では実際にdbdiagramというDB設計ツールを使いながら、発表されたチームごとに実際の運用のことを考えながらDB設計をしていきました。

dbdiagram.io

DBも僕にとっては初めての領域で、わからないながらも設計に関しては自分の考えをもって発言することができたんじゃないかなぁと思います。

インフラ講義では、今回チーム開発時にベースとなるTreasure-appのインフラ周りの部分についての解説を聞きました。

正直ここはまだあまり理解できてない…(しょうたさん、ともかつさんすみません)AWSむずすぎです。解説スライドをいただいたので、がっしりと読み返して学んでいこうと思っています。

最後にアイデア講義。僕たちのチーム開発は後述するようにアイデア出しでありえん時間がかかったので、今回のインターンで一番学びになったと言っても過言でもないのはアイデア講義で得たことでした。

フロントエンド・バックエンド共にわからないことがあったときは補講を開催してくださったり、個別に質問を受け付けていただけてとてもやりやすい環境でした。

ヤンウェイさん、バックエンドがわからなさすぎて初心者みたいな質問ばっかしてすみませんでした。僕もっと強くなります。

後半戦(チーム開発)

決起!

講義が無事に終わると、ついにチーム開発がスタートします。今回のTreasure参加者数は全部で24名、4名×6チームに別れてアイデア出しから始まります。

僕は大学院のテストの関係でチーム発表の場に居合わせることができませんでしたが、チーム名が無事ヱビスと決まり、サポーターさんにれぞさん、ちゅうこさん、なみさんがついてくれました。

チーム名の由来は「時間がなくなったからみんなの共通点ぱっと出したときにみんなヱビスビールが好きだったから」だそうです。

ごめん、僕お酒そんなに好きなわけじゃないんだ…

無事にチームが発表になった日の夜は決起会という名の飲み会がありました。

今回のインターンで得たいことを各々語り、チームとしてはこんな感じの目標が立ちました。

  • DevopsとかCI/CDに興味があるから、テストを頑張りたい
  • Treasure期間で作り終わってはいおしまい、じゃなくて、その先も作っていけるようなものが作りたい
  • UI/UXに興味があるから、できればデザインも頑張りたい(僕)
  • とりたい賞はいっぱいあるけど、やっぱりグランプリを目指したい

目標は高く、グランプリを目指せるような、将来性のあるサービス。

それを目指すためにみんなで決めたことは、「妥協しない」ことでした。きっとこの"妥協しない"があったからこそ、今回いいサービスが作れたんじゃないかなと思います。

そして、地獄みたいなアイデア出しが始まります。

イデア出し前半

まず、僕たちヱビスチームのいっっちばん最初の目標日程を見てみましょう。

f:id:ogijunchang:20200903002704p:plain
一番最初に計画した日程

そして、次に23日(チーム開発残り5日)に変更された目標日程を見てみましょう。

f:id:ogijunchang:20200903002807p:plain
日曜日に改めて計画した日程

おかしいなぁ…8/23までの4日間が消滅しているのはなぜだ…?

はい、アイデア出しで計4日間かかりました。今改めて最初の目標をみると鼻で笑えますね。

去年のレポートとかみても、どこにも「アイデア出しがつらかった」と書かれていないのでみんな記憶をどこかに置いていってしまったのでしょうか?

僕は絶対に忘れたくないし、多くの学びがこの4日間にはあったのでアイデア出しがどれだけ大変だったかをレポートしちゃいます。

f:id:ogijunchang:20200903003549p:plain
一目でわかる、4日間の苦労

イデア出しと言っても、どうすれば価値のあるアイデアが出せるのか? ただ単純に自分たちが使いたいから作る、というだけでは価値のあるプロダクトにはならないとアイデア講師のわーみーさんから教えられ、こんな手順でアイデアを出していくのがいいと言われました。

  1. 最近、社会に起きている「時流」を書き出す

  2. ディスカッションをしながら内容を整理する

  3. 考える領域(市場)を決める

  4. 決めた市場にいるプレイヤーを書き出す

  5. 決めた市場と組み合わせて、面白いプロダクト案が思いつきやすそうな時流を選ぶ

  6. 選んだ時流に対して、今後発生していきそうな事象を書き出していく

  7. 実際に具体的なアイデアを考えていく

文字にすると簡単なんですけどね、これエゲツなく難しいんですよ。

まず時流がわからん。え、運動不足の人が増えたのは時流じゃないの?外出が減ったことも時流じゃないの?

どんなに自分で「これが時流だろう」と思ったことを書いても、「じゃあこれは何が原因で起こったの?」と言われる。

なんやかんやしながらも捻り出した時流たちがこれ。

f:id:ogijunchang:20200903004822p:plain

時流を出したら、次は市場選び。「チーム開発なら自分がユーザーになれそうだし、意見もいっぱい出そうだからチーム開発を選んでみよう」

f:id:ogijunchang:20200903004957p:plain

…え、ちょっとまってなんか全然アイデア出てこないんだけど

まず出てきたアイデア全然チーム開発関係ないし…(今振り返ると) 社会のゆらぎに「電子書籍が増えた」っていうちょっと意味不明なゆらぎを選んでみたことで面白いアイデアがでるかも、と期待したものの、意味不明なアイデアを量産する始末。

ちなみに先に言っておくと、全部でこのサイクルを3回やりました。

「やっぱり時流が足りないからゆらぎがでないんじゃない?」「じゃあちょっと一番最初に戻って時流考え直してようか」

これを3回。最初に見せた時流は完成形で、それまではもっと雑な時流が並んでいました。

市場選びもコロコロ変えながら、だんだんと「市場はオンライン趣味教室が良さそう」というところに落ち着いてきました。

イデア出し後半

オンライン趣味教室に市場を決定した。そこまでは比較的スムーズに進みました。でも地獄はここからでした。

市場が決まってから実際にアイデアを出していき、「SNS上の有名人になにかを教えてもらうときって、聞くのはレベルが高すぎるよね」という話から、だんだんと質問箱のような質問サービスを作ろうか、という流れになります。

f:id:ogijunchang:20200903005945p:plain

このときはまだアイデア出しは1日で終わらせなきゃいけない、早く実装を始めないと置いていかれるという焦りがあり、あまりアイデアとしてのまとまりがないまま決定しようとしていました(今振り返ると)

そしてなみさんから言われます。「ちょっと席外してて今までの流れわからなかったから、説明してもらってもいい?」

(えっと…なんでこういうアイデアになったんだっけ…)

サービスを使うユーザーは具体的にどんな人で、その具体的な人はどんな課題や欲求を持っていて、それに対してどんな解決をするのか。

それをちゃんと言えない限りはいいアイデアとは言えないし、このまま進んでも開発の途中で疑問が出てくる。ここから地獄のような「「「深掘り」」」が始まります。

イデア講師のわーみーさんに相談。「ユーザーの抽象度が高すぎてポイントを絞れないんじゃないかな」ユーザーの抽象度ってなんやねん…

ユーザーを固定してみる。固定したはいいけどユーザーの抽象度がよくわかってないから固定できたのかわかんねえ…

これってシステムで解決できる問題なのか…?

ペルソナってどうやって出せばいいの…?

このままペルソナ一つづつやってたら時間溶けまくらない…?

亀のような進行度で議論が進み、だいぶみんなの頭が沸騰してたと思います。

答えに近づいていっているのかわからない、でも今更もどったら確実に時間がない、でもこれ以上アイデアが出ない。

わーみーさんの「あとほんのちょっとでいいアイデアが出そう」という言葉を信じて、自分はあとちょっと同じテーマでがんばりたいとみんなに伝えました。多分ここら辺がいちばんしんどかった。

f:id:ogijunchang:20200903011549p:plain
これからどうするか?とかいう不穏すぎる見出し

全部立ち返るか、そのままのテーマで進むのかの選択はかなりの分岐点だったと思います。

そのままのテーマで進むことがきまり、具体的なペルソナを出すために身近な人にインタビューをし、改善点を探すもののシステムで改善できるような部分が見当たらない。

そこにれぞさんの「時間軸を変えて考えてみたらいいんじゃない?」という最強の言葉が投下され、今までの地獄が一変します。

f:id:ogijunchang:20200903012222p:plain

まってなんかこれいけそう、みたいな雰囲気が流れ始めて、ついに、とうとう、満を辞して、アイデアが固まります。

ここまで丸4日。どれだけつらかったか、みなさんわかっていただけましたか?

コーディング開始!とはいかない

イデアが無事出たら、うおおおおコード書くぞ!!!とはならないことはTreasure経験した皆さんならわかると思います。

  • イデアに最低限必要な機能のリストアップ
  • APIエンドポイント設計
  • DB設計
  • 技術選定
  • 担当分担 etc...

ここにきて初めて、アイデアを固めることの大切さに気付きました。アイデアがフワフワしているとサービスに必要な機能が定まらないし、そのあとの設計に移れない。

僕たちは事前にばっこりとMVPを固めたことで設計にはそこまで時間をかけずに終わらせることができました。しかし、残された時間はあとたった3日。

妥協しないと決めたものの、時間内に終わらせるためには設計に優先順位をつけて最低限の実装を終わらせなければいけません。

頑張ればここまでいける、というラインを決めて、1日の目標を決めてコーディングに入りました。

爆速コーディング

実際にコードを書き始めてからは、チームメンバーがエゲツないスピードで開発を進めていきました。

外部サービスとの接続、credential管理、各画面とのつなぎ合わせ… 自分が小さなところで詰まっている間に、みんなが各自頑張ってくれました。

一番最後の最後までサービスとして成立するのか(最低限の機能が備わり、動く状態になるのか)が不透明だったものの、最終日前夜の深夜1時ごろにすべてがつながり、本番環境で動作した時は「マジですげえ…」としか言いようがなかったです。

f:id:ogijunchang:20200903022247p:plain
無事完成!

結局最終日の朝6時までスタイルを当てたり実装が続き、なんとか見せられる形になって完成しました。1時間だけ寝て、発表資料を作って発表。

妥協せずに頑張ったかいがあり、無事にグランプリ・UI/UX賞・ニーズ賞というすべての目標を達成することができました。

Treasureで学んだこと

めちゃ長文になってすみません。ここからは個人的にTreasureに参加して、チーム開発を初めてしてみて勉強になったことを書いていきます。

「予定は往々にしてうまくいかないものなので」

これ最初に誰がいったのかもう覚えていないんですが、Treasure期間中に5回以上は言っていると思います。

最初のアイデア出しの日程もそう、設計の段階もそう、予定はつくったところで基本的には延びることになる。

その中でも本当に大切にしなきゃいけないものはなんなのか全体で共有しておかないと、すべてがうまくいかなくなる。

戻ることを提案する勇気

イデア出しを始めて2日目、チーム内に「早くアイデアを決めないといけない」という焦りのある中で、まとまりのないアイデアに対して一旦考え直すことを提案できたことはとてもよかったなと思っています。

そして、今までやってきたことを自分の一声で無に返すのではないかという恐怖がそこにはあること、それでも戻ることが提案できればさらによいアイデアが出せることがわかりました。

チームメンバーに本音で話そう、とここで思えたのもよかったです。

フロントだから、バックエンドのコードは見なくていいわけじゃない

今までフロントエンドエンジニアと自分で名乗ってきたけど、今回Treasureに参加して、フロントエンドはバックエンドがわかった上でこだわれる領域なんだということがわかりました。

APIを叩いてうまくいかないとき、データをバックエンド側に送ったとき、DBやバックエンドのコードを読むことは避けられません。

今までサーバーレスのシステムばっかり触ってきた自分にとっては、このプログラミング初心者みたいな気付きをやっとできました。

人をいい意味で待たずにどんどん自分から実装していく、そんな姿勢を持っているチームメンバーを見てとても意識が高まりました。

チーム開発では指示待ち人間にならない

「指示待ち人間になるなァ!」って中学校の部活でよく言われていたんですが、チーム開発でもそうだと感じました。

APIがバックエンド側でできておらず、データが取れない状態だったとしてもフロントエンド側で理想のデータを作って表示させることくらいはできる。

個人個人が最速の動きができていれば、時間がなくても実装はできるんだなぁと感じました。

自分の得意な領域

開発の面ではチームメンバーがすごくてあまり自分の得意というものが見つけられたかは曖昧ですが、「チームで開発をする」という点では、自分は他の人の意見を聞きながらもそれをまとめて自分で次に進もうとすることが得意なんだなと気づくことができました。

これはきっと誰しもが持っているものではないし、これにさらに技術力がつけば最強のエンジニアになれそう、と自分で勝手に思ってます。

みんなで一つのものに向かって全力で取り組むのはやっぱり楽しい

チーム開発の醍醐味ですね。僕は今までチーム開発と言えるものをやったことがなかったので、本当にいい経験になりました。

僕ももっと勉強して、みんなと肩を並べるくらいの技術力を持って、今回作ったサービスの続きを是非つくりたいと思っています。

総括

いかがだったでしょうか。他の方が書くようなレポートというよりかは感想文みたいな感じになってしまいましたが、この記事を見て少しでもTreasureに興味をもってくれたら、是非参加してみて欲しいです。

イデア出しではとても苦労しましたが、その分得られるものがとっても多くて、この1ヶ月でだいぶ成長することができたと思っています。

あと、僕の周りには高い技術を持った同年代の人が少な(特に研究室にはいない)かったので、参加するだけで刺激になりました。チームメンバーのみんな、ついていくことしかできなくてごめん。

僕は学会や部活の大会があるため他のインターンシップには参加予定はないので比較することはできませんが、Treasureは得るものだらけの間違いなくおすすめのインターンです。チームメンバーのみんな、サポーターのみなさん、一緒にTreasureに参加してくれたみんな、ありがとう!これからも頑張ります!

f:id:ogijunchang:20200903022057j:plain
俺のスターダムはこっから始まるんや!

サマーインターン選考奮闘記

こんにちは、6月にブログ更新したいな…と思っていたけど授業が忙しすぎて結局更新できなかったじゅぎのんです。

ブログに書きたい内容は山ほどあるんですが、如何せん時間がない!中途半端な文量だったり内容の薄い記事は書きたくないので、これからもできるだけ時間を見つけて書ければいいな。

さて、今回の記事は表題の通り「サマーインターン選考奮闘記」です。この時期になるとエンジニア志望の22卒はそわそわしているんじゃないでしょうか?

割とほとんどの名の知れた会社は選考が終わっているものの、まだ選考中やエントリーができる会社も多くあるし、まだ間に合う!

22卒だけじゃなくてそれ以降に就職をする人にも備忘録としてまとめます。

応募しようとしたきっかけ

まず、僕は学部3年のころからとあるスタートアップの会社でフロントエンド開発者として長期インターンに採用されていて、今も仕事は続けています(だんだん高度になってきた)。

なのでそもそもサマーインターン自体に関してはそこまで関心がなかったんですが、応募しよう、となったきっかけはサポーターズというサービスを知ったことでした。

corp.supporterz.jp

じゃあサポーターズをどこで知ったのかという話なんですが、それは研究室の先輩のおすすめでした。

卒研発表が終わって春休みに入り、一応進捗は出しておこうということで同期はいないけど先輩と一緒に研究室で進捗発表とかをやっていた時期があり、そのときに現M2の先輩と話しているときにおすすめされました。

最初は「なんか胡散臭そうなサービスだなぁ」みたいな感じに思ってたんですが、とりあえずプロフィール登録だけは別にしても損じゃないし一応しとくか、程度のノリで登録しました。

10社連続面談

サポーターズに登録したあと、正直そこから何したらいいのかわかんなかったので放置してたんですが、割とイベントやります!みたいなメールはちょくちょく来ていました。

そのとき偶然目についたのがこれでした。

f:id:ogijunchang:20200712210914p:plain

急に呼び捨てにされたメールが届いたので、最初「は?」って思ってたんですがよく読んでみると特別招待らしく、これ参加すると追加で5000円あげます!って言われていました。

イベントの内容は企業10社と30分ずつで連続に面談して、今後の就活に生かそう!あわよくば夏のインターンの選考スキップしよう!みたいな感じです。

昼前から夜ごろまでかかるイベントでしたが、15kもらえるんだったら時給換算してもそこまで損じゃないなー、という感じだったので受けてみることにしました。ポチッ。

このメールを見たのが3月末で、4月中旬にイベントがありました。イベントでは最初に各企業の会社説明と夏のインターンに関する情報を聞き、その後一人一人別れて面談が始まるという感じです。

そのときのメモ書きはこんな感じ。

f:id:ogijunchang:20200712211531p:plain
メモ書きのほんの一部

面談では、軽い自己紹介で今まで自分が何をやってきたのか概要に触れ、今後どうしていった方がいいのかとか、その会社のいいところとかを聞いていきました。

自分は学部3年からインターンをやっていますが、実際のところ真剣にプロダクト開発をしたのはReact Nativeによるネイティブアプリ開発だけだったので、そこを重点的に話し+今(面接時点)Reactでポートフォリオを作っています、という話をしました。

最初面談と聞いていたので、どこの企業も自分に対して柔らかい物言いをしてくれるんだろうな、とか思っていたんですがぜんぜんそんなことなく、割と辛辣な意見も多く来ました。

自分の主観なのでわからないですが、正直他の参加者よりかは圧倒的に自分の開発力は低く、このままだと置いていかれそうだな、と思ったのが本音です。

ちなみに一番エンジニアとしてきつかったのは、A社からの「決してじゅぎのんくんに技術力がないといっているわけではないからね」と、C社の「じゅぎのんくんはいい意味でエンジニアっぽくないので〜〜〜」でした。

どちらの企業さんもネガティブな言葉ではないのは理解できているんですが、やっぱり自分はまだまだだなぁと感じ、そこで「今のままでインターンやっていてもあんまり成長できないのでは?」と思ったことがサマーインターンに応募しようとしたきっかけになるかな。

ちなみに、そのイベントでは企業さんから面談後にフィードバックで数行の文章と一番よかった点みたいなので4つくらいのカテゴリーにわかれて評価されるんですが、

f:id:ogijunchang:20200712212512p:plain

こんな感じでした。

あと、自分が他の参加者に比べて最低レベルみたいなことを書いていましたが、一応このイベントは選考があったらしく、56人くらいから18人?選ばれていたみたいです。機会をくれたサポーターズに感謝。

サマーインターン選考スタート

無事イベントが終わり、今度は各企業のサマーインターンの選考フェーズに入っていきます。

結果から言うと、応募したのは5社、書類選考落ちが1社、面談で選考落ちが2社、自主辞退が1社、そして合格が1社でした。

予定的に自分は1社インターンに参加するのが限界で、もともとから1社受かった場合は他の選考を蹴ろうと思っていたので、自主辞退はその1社です。

選考が終わった企業に関してはもう大丈夫だと思うので、具体的にどの企業でどんなことが聞かれたのか覚えてるだけ書いておきます。

1社目 Sansan株式会社

Sansan株式会社は連続面談を受けたときにもとても印象がよく、インターンがあれば是非受けてみたいなと思っていました。

面談後にイベントに特別招待され、LT会にも参加させていただき、社員の方がどんな開発フローを採用しているのかとか、今の仕事をやっている経緯だとかを説明してくれました。

インターンの内容は基本的にバックエンド寄りで、それに付随してあるといい知識としてReactやSwift,Kotlinなど、と言う感じでした。

自分はバックエンドをその時はチュートリアルをやったくらいで正直知識が全くない状態だったので、それでも選考に進んで大丈夫なのかLT会のときに伺ったところ、キャッチアップが間に合えば問題ないとのことだったので選考に入ることにしました。

印象としては、Sansanが一番エントリーシートが長かったです。他の企業はESスキップでいきなり面談のところも多かったので。

書類選考を無事に通り、次に面談となり、面談では一人のエンジニアの方とお話しました。

その方は僕の通っている電気通信大学の学部卒で、結構話しやすくてよかったです。

でも、やっぱりバックエンドの知識がほぼ0に加え、インターンができる期間もそこまで長くない(自分の希望としては2週間だった)ので、もしかしたら厳しいかもね、という話をして終わりました。

Sansanの面談はそこまで技術的な面を聞かれるわけではなく、インターンに参加できる日程とかキャッチアップできそうか、みたいな話中心でした(あと自分がめちゃ質問してた)。

案の定落ちました。

2社目 株式会社DeNA

もともとDeNAは受ける予定がなかったんですが、部活の練習をしているときに急に電話がかかってきて、なんだと思ったらDeNAの人事の方で選考受けませんか、という内容でした。

受けるだけならタダだしと思って快諾、その週末に面談をしました。

結論、DeNAが一番技術的に強そうで自分には手が届きそうにありませんでした。

今まで面談しかやってこなかったので、とくに聞かれたことスラスラ答えれば問題ないでしょ、と言うイメージで面接に挑んだんですが、

  • 今開発しているプロダクトで大変だった場面、それをどうやって切り抜けたのか?
  • 今開発しているプロダクトはなぜその言語を使ったのか?技術選定のポイントは?
  • 自分で問題解決に向けて具体的にやったことは?
  • 今注目しているOSSは?なぜそのOSSに注目しているの?
  • もしインターンに採用されたらどんなことを得て終わりたい?

基本的にこんな感じのことを聞かれ、OSSは「えっ…とぉ……AR.jsですかね…僕は近い未来スマホってなくなると思っててー、ARの技術って今すごく注目されているじゃないですか…もし眼鏡型デバイスとかになったとき、ARは今より大事なものになると思うんですよ…AR.jsはウェブでARが表現できるんですけど、まだ発展途上な部分も多くて注目してます」

という切り抜け方をしました。スマホがなくなるとはあまり思っていません。

DeNAの面接が一番緊張しました。でもこれらの質問がうまく答えられるくらい開発をいっぱいすれば、DeNAも夢じゃないのかもな、という若干の希望も持てたので面接してよかったです。

まあ落ちました。

3社目 DMM.com

書類選考で落ちました。

4社目 レアゾン・ホールディングス

面談イベントのときに、ここの方にじゅぎのんさんはうちにぴったりだと思う、ということで、React Nativeでのアプリ開発を唯一10社のなかでやっている企業がレアゾンHDでした。

React Nativeのつらいところとか、逆にコストが低くていいこととか共感する話ができてとてもよく、インターンの選考もメールで進んでいきました。

その後人事の方と面談があり、そこで「今選考中の他のインターンにいきたかったらそっちを優先してもらってもかまわない、うちは時期にかかわらずいつでも受け付けているので他の企業にいった方がいい場合もある」という話をされ、ちょうどそのとき選考中(合格した企業)だったので、一旦止めておいてもらいました。

その後、無事に別の企業の方で合格がいただけたのでそこで連絡をして夏期間でのインターンは辞退、ということになりました。

人事の方との面接は技術的なことは全く聞かれず、日程のことや業務内容のこととかのみのお話だったのでスムーズに進んでいた印象です。

5社目 株式会社VOYAGE GROUP

こちらの企業はイベント後にES提出が免除になる期間があり、そこで選考に混ざろうかな〜〜とか思って他の企業の選考に頭を回していたら、いつの間にかES免除の期間が終わっており、やべえ!!と思いながらもワンチャンこれメールすれば免除で大丈夫じゃないか?と思い、期限がすぎた翌日にメールでオナシャス!と送ったところ、快くES免除を受け付けてくれました(この時点で選考は本気で挑むと決めた)。

選考としてはエンジニアの方・人事の方と面談があり、その後適性テスト?アンケート的なものに答え、その後参加の可否を聞かれると同時に合格の通知が渡されました。

エンジニアの方はとても柔らかい感じの方(DeNAとかに比べると)で、僕が今まで作ってきたものに対して的確なアドバイスをしてくれました。

個人的には面談イベント前から作っていたポートフォリオサイトが完成していたことがおおきかったと思います。

1人目のエンジニアの方とは長期インターンでやってきた内容(React Nativeでアプリ開発をしてきたこと)を中心に、難しかったことや大変だったこと、よかったことなどを聞かれ、flutterというのもあるからみてみるといいよ、というアドバイスをいただきました。お恥ずかしながら自分はflutterというものをそのときまで知りませんでした。

2人目のエンジニアの方は、1人目の人と違う話をしていいよ、といっていたのでせっかくならと思いポートフォリオサイトを一緒にみながら自己紹介をしました。そのとき、自分はES免除だったものの多分サポーターズの自己紹介欄のところがまんまESとして渡されていて、当時開発中だったURLを向こうに送っていて、面談をやるまでは向こうのURLでは真っ白の画面が表示されていたっぽく、

「あ、ちゃんと表示されるように完成しているんだね!もしなにかしらエラーで表示できていなかったら今ここでペアプログラミングしようと思ってたんだよ」

と言われました。それはそれで面白かったかもしれないけど、完成したものを見せることができてよかったです(ポートフォリオに関してもブログ書いていないので書きたい)。

あと、自分が採用される決め手になったのか?と思う点は、「今まである程度複雑な開発をしてきているものの、チーム開発を経験したことがない」という点です。

ここのインターンでは講義と開発に別れていて、開発ではチーム開発が行われます。なので、結構チーム開発の経験が聞かれるんですが僕はそれがありませんでした。

そこを逆にアピールして、「このインターンだと今まで経験できなかったチーム開発が経験できるのでここがいい」といったところ、なるほどね〜、という感じで納得してもらえました。

2名のエンジニアの方と面談した後は人事の方と面接がありました。今までの他の企業とは少し違った質問をされました。例えば

  • 今までで一番情熱を注いだものは?
  • 今一番はまっているものは?
  • 他人からみた時、あなたの短所はなんですか?
  • なにかのリーダーになって動いたことはありますか?

など。幸いにも僕は陸上競技部で主将をやっていたし、陸上に情熱を割と注いでいたし、プリパラにはまっていたし(これはガチで人事にプリパラにはまってるんですよっていった)、比較的スラスラと答えられてこっちも楽しかったです。

プリパラの話をしたとき、あっやべぇこれはドン引きされたか!?と思いましたが、「え〜!すごい、そんな深いストーリーなんですね!みたくなりました!」(お世辞)といってもらえて嬉しかったです。

その後、適性テストというかなんか心理テストみたいな紙に記入してください!みたいなのがきて、その数日後に電話がかかってきました。

日程に確実に参加できるか確認された後、ではじゅぎのんさん、合格です!とテンション高めで言われ、僕もテンション高めでまじっすか!ありがとうございます!と返しました。

そのあと数時間(いや数日)はテンション高めでした。

総括

そんな感じで今にいたります。ということで、8月はサマーインターンに参加してきます!そこでは自分がまだ触れたことのない言語やチーム開発が経験できるので、確実に自分の糧になると思っています。

もしコロナウイルスのこの状況じゃなかったら、部活で夏のインターンには行けていませんでした。そのことを考えると、ポートフォリオを作れたことやインターンの選考に入れたこと、採用されたことはやっぱり巡り合わせだなと感じます。

今できることを全力でやっていくので、部活も研究も仕事も一切手を抜かずにこれからも頑張ります!

インターンが終わった後はきっと報告記事があがるので、乞うご期待です。長くなりましたが、応援よろしくお願いします!

f:id:ogijunchang:20200712222014j:plain
楽しみですわ〜〜!