Secure,Crack,Programme.

何かよくわからないもの置き場。競プロとかCTFとかそこらへん?

インターンをはじめました (WASD Inc.)

初めましての方ははじめまして、こんにちはの方はこんにちは。 iLiss.と申します。


私事ではありますが、この度長期インターンでWASD Inc.(@WDigichime)にお世話になることになりました。

最近入社された方が記事を書いているのをよく見るので、折角ならということで私も記事を書くことにしました。
実際のところ「1学生のインターン程度」ではあるものなのですが、折角なので記事にまとめておきたいと思います。


きっかけ

会社自体の存在を知ったのはういろうさん(@uirogame)*1のRTだか記事共有で回ってきた記事だったと思います。u*takaさんの記事だったかな...


その後もう1タイミングあって、インターンの件がTwitterで回ってきたのが今回のきっかけでした。


当時引っ越しをして、今までやってきたバイトは既に退職した後だったので職を探していたのですが、技術系インターンの経験を積んでおきたいと考えて、また目の前の金銭問題の解決を目指して応募しました。
WASDの社員の方にDMを送ってくださいということだったのですが、DMの文面を生成してから実際に送信するまで2日空きました。どうして。

今回応募して、実際に関わっているのが開発職ということで、先に「技術系、開発職にした経緯」を自己紹介のようなものに添えて書いておきたいと思います。

なんで技術系にしたの?

まず最近はあまりやらなくなってしまったのですが、AtCoderという競技プログラミングコンテストサイトがあり、大学に入ってからそこに積極的に参加するようになりました。
大学入学時体育会系のサークルの合宿の時ついていけないノリのコンパから抜け出してABCをしたことがあります。
現在のレートは903ですが、気がついたら最終参加が昨年9月で周りに置いていかれていました。最近はBEMANI PRO LEAGUE*2やWorlds*3と被ること多くしょうがないんですが、それ以前で参加できてなかったのは完全に怠慢です。*4

AtCoderをはじめとする競技プログラミングの経験からある程度のコーディング力がついたという自負ができ*5、また競技プログラミング以外でどこまで通用するか、ということを考えていたりしました。これが多分2019年だかの話です。

ところで、自分はTSG(@tsg_ut)というサークルに所属しています。
このサークルではSlackbotなるものを作成・運用しており、Node.jsで作成された様々なBotたちが日々TSG部員のSlackを支えていたりしなかったりします。
AtCoderに参加してある程度コード力がついてきたと感じてきた頃このSlackbot作成に参加させてもらったことがあるのですが、冗談抜きで何もすることができず、競技プログラミングと開発の違いを思い知ることになりました。開発言語がJavaScript(Node.js)であるところはお伝えした通りですが、言語仕様も分かっていなければ*6何かを作るためにどうすればいいか、どこが間違っていてどういう想定外の挙動が起きているかも全く理解することができず、そら何もできないわといった状態でした。
その頃から「開発って具体的にどうするんだろう」、そこに続いて「仕事でプログラミングするってどんな感じなんだろう」ということを考えるようになりました。


この後に忙しい時期と、モチベーション喪失期が訪れ、音楽ゲームに打ち込む日々が続きます。この気概はいつだかどこかへ飛んでいってしまい、あまり意識することもなくなってしまいました。

そして金欠と危機感が同時にやってきたのが今年の7月です。
引っ越しに伴って以前の飲食のバイトをほぼフェードアウトのような形で辞め*7、そしてゲームセンターにまた顔を出すようになってお金が飛んでいくということになると、またお仕事をしてお金を稼ぐ必要に駆られることになります。

同時にやってきたのは危機感でした。
この時期は好きなことだけをして社会から逃げ続けてきた時期で、いつか向き合わなければいけない、やりたくないこともやらなければならない、という意識が出てきました。

しかしいつまでも逃げているわけにはいきません。大学卒業までにはどうにかして辿り着きたいと思っていますし、その先でやりたいことに手を出したいと考えるのならば大学4年間を生き抜かなければなりません。東京大学に入学していわゆる進振り弱者*8となった私は、興味関心が薄い分野で大学生活を戦う必要が出てきました。
そうなれば、やらなければならない事は今まで逃げ続けてきた「やりたくないこと」であり、私に突きつけられたのはそこに向き合わなければ卒業することは難しくなるという事実でした。

社会に向き合う時が来たのです。

向き合うときが来ました。

同時期に上述した開発や仕事としてのプログラミングへの興味が再燃します。こうして、社会と向き合いつつ、興味関心との繋がりと保つことができる技術系のお仕事をしようという考えが固まりました。

...と、ここまで長々と真面目そうなことを書き連ねてきましたが、実際のところこれらの半分くらいは後付けで、インターンが始まってから考えたことです。
勿論何も考えていないというわけではなかったのですが、インターン申し込み当時はまだ逃避が抜けきっていない時期で、好きなことでお仕事できたらうれしいな、どんな感じなんだろう、という軽い気持ちでした。
やる気やモチベーションはあったので、インターンの面接には割と気合を入れて臨みました。その場でインターンの採用を伝えられて『え!?』状態でした。
ちなみにインターン入社時デジちゃいむは使ったことがありませんでした。ホームのゲーセンにな、ないんだな...

会社について

WASD Inc.(WASD株式会社、『ワスド』と読むそうです)というスタートアップ企業です。「デジちゃいむ」というサービスの開発提供を行っています。

f:id:iLiss557_Ort:20211110124219p:plain
間違えないように注意
会社に関する詳しいことは社員さんの入社記事やCEOの盛島さん(@328jp)、CTOの進木さん(@konoki_nannoki)による記事をお借りしたいと思います。

また、記事の執筆中に同じくインターンのERRさんによる記事も公開されていましたのでよろしければそちらも併せてどうぞ。*9
新規性があまり大きくないことを書いてもこの記事の意義がなくなってしまうので、自分の経験や開発インターン特有の話などを交えて書いてみたいと思います。

インターン開始直後の話を交えながら

さて、私のプログラミング言語経験はCとC++、そして><>といった感じで、主に競技プログラミングで使用するために言語選択をしてきた、またそれを経験の殆どが占めていたため、開発で主に使われるような言語はさっぱり経験がありませんでした。
WASD Inc.における開発言語はTypeScriptで、Reactというライブラリを使用しています。インターン面接、サービスの体験の後、TSとReactの勉強から始めましょうということになり、最初の業務が決まりました。

ここでいきなり実務ではなくて腰を据えてお勉強してください、と言っていただけたのは本当にありがたくて、時間をかけたおかげでインターン開始から2週間で実践の体験まで辿り着きました。
(これは自分の要望が強かったです。実戦経験を焦りすぎでよくないんですが、要望を受け入れてくださった会社には感謝してもしきれません。)

ここで色々な言語を勉強していた経験が活きました。勉強の経験よりはプログラミングの知識が役に立ったと思います。
勿論他の言語のあれです、といった感じで当てはめていくのは危険ではありますが(言語によって仕様が大分違う場合があるため)、それでも他の言語でやってきたことは確実に活きたと思います。
正直この点は勉強している時に感動していました。

そんなことで2週間が経過しました。
「たった2週間じゃ何もできないでしょ」というのはプログラミングにおいてはやはり真で、最初の担当分はTypeScript、Reactの基本的な部分を用いてといったものだったのですがすぐに手詰まりました。
インターンで開発に参加している時、現場のことはまだ右も左もわからない...という状態で分からない部分がある時に(基礎的な部分であっても)忙しい中手厚いサポートを頂けたのが本当にありがたかくて、相談事に利用するチャンネルだけでなくTimesという進捗や手詰まりを逐次報告するチャンネルに書いたことにもアドバイスを頂いたことでだいぶ経験や知識が増えたと思います。

f:id:iLiss557_Ort:20211110161130p:plain
分からないことを聞ける恵まれた環境

最近は調査系のタスクも振っていただいていて、ちゃんと調査して作るって大変なんだと痛感しています。

デイリーのおはなし (iLiss.編)

ところで、WASD Inc. Devには「デイリー」というものがあります。「朝会」と呼ぶのが嫌だから「デイリー」と呼んでいるそうです。
朝10時から前日の進捗、今日のやること、今詰まっていることなどを話す会です。
インターンを始めて3ヶ月、この会には結構助けられていて、詰まり具合を共有することで業務の進行が滞る時間が長く続くことが少なく済んでいます。

さて、インターン開始前、8月下旬にデイリーの存在と参加要請を告げられた私にとってこのことは非常に大きな問題でした。
というのも、私は今まで深夜遅くにDiscord上で行われるゲーム通話、そしてLEC*10MSI*11といった海外プロゲーミングシーンの観戦などで、生活習慣が完全に崩壊していました。*12
毎日朝6時に寝て、起床が16時前後という一般異常大学生完全な異常者だった私にとって、生活習慣の矯正は急務でした。

とはいえ生活習慣改善というものは困難でして、インターン開始即改善というわけにもいきません。
始まる頃は強引に寝て強引に起きていました。とりあえず布団に体をねじ込み大量のアラームを設置して間に合わせました。*13 朝が致命的に弱いので今でも朝10時はそこそこ辛いですが、生活習慣は今どうにかなりおかげでその後の大学生活にもしっかり戻れています。

大学始まってからどうしてんの?

そういえばもう11月ですね。夏休みはとうの昔に終わりました。
以前の飲食のバイトなら土日でやるぞ!になったのですが、WASDは土日がお休みです。こうなると平日の中で日程を調整してやるぞ、という感じになります。

WASDは業務がフルリモートOKということで、家から業務に参加しています。
この家から業務というのが本当にありがたくて、オンラインになった大学の講義と合わせて「1コマだけある日に講義の時間だけ抜けてインターン」というのが実現できています*14。朝10時デイリー、そこから開発に参加して授業、終わり次第戻って開発の続き、といった1日が実現しています。時間は貴重ですから、このように経験を得る時間が増えるのは本当にありがたいです。

インターン先のアリーナA1の上司から聞いた話なんですけど」

さて、このWASDという企業、他にはなかなかない特徴があります。

BPL選手5名在籍

...?
BPLのプロは全部で24名です。
そのプロが5名*15在籍している会社、なかなかすごい会社だと思います。
Devで直接お世話になっているU76NERさん(上記事)やWASD関連の記事を多く執筆していらっしゃるu*takaさん(冒頭記事)を始めとするBPLプロの方々や、その他の社員の方にもIIDXが上手い方が多く、一瞬上司の半分は自分よりbeatmaniaIIDXが上手いんじゃないか...?と思うことがあります。

f:id:iLiss557_Ort:20211110172225p:plain
私は...決して...下手では...
その他にも趣味の話で内部コミュニティがそこそこ活発でして、おかげで社内コミュニケーションが円滑に取れています。
入ってから共通の話題というのはやはり強いんだなと改めて感じました。

一部には変な共通の話題もあったりしますが...
f:id:iLiss557_Ort:20211110173226p:plain
???????????????????????????*16*17*18

まあ、ゆたマヨ氏(@uta_mayo)が勤務していらっしゃるということで...

おわりに : TL;DR

ここまで大分自由に書き進めてきました。何が伝えたかったんだろう。自分が書く文章はとっちらかることが多くて申し訳ないです。
TL;DRって書いたのでここまで飛ばした方に向けてまとめを書きます

  • WASD Inc. (WASD Inc.(@WDigichime)で長期インターンさせてもらうことになりました
  • 競技プログラミングでないプログラミング/エンジニアの現場経験が積みたくて選びました
  • 開発自体や開発言語は殆ど未経験でしたが、勉強の時間も頂き初期の開発サポートも手厚くして頂いて本当にありがたかったです
  • 生活習慣矯正に苦労しましたが、その分朝の報告会に出れるようになって業務効率が上がりました
  • 趣味の面で共通の話題が多く社内コミュニケーションで不便がなくなるのは嬉しい一面です


本当に文章に蛇足を張り巡らせるのが上手です。ええ。

最後に、今関わっているデジちゃいむは、これから先様々な場所へ広がっていきます。
自分が開発に関わった機能が実際に世に出ていき、それによってプロダクトが新たな場所へ広がっていくことを感慨深く思いつつ、まだまだ実力が足りないなあと実感しながら毎日過ごしています。
デジちゃいむは全国に展開しておりますので、見かけたら是非使ってみてください。

また、インターン等も募集中とのことです。いかがでしょうか?


というわけで、わざわざ記事をご覧頂きありがとうございました。
それでは。

*1:所属サークルB4UTの先輩

*2:https://p.eagate.573.jp/game/bpl/bpl2021/index.html

*3:https://lolesports.com/article/worlds-2021-primer/blt62509b20849344d4

*4:この時期はちょうど急激なモチベーションの低下があったんですが、また別のお話とします。

*5:実はこれは半分嘘で、4桁ギリギリ届かない程度のコード力では自信があまりつかない

*6:競技プログラミングにはC++で参加していました

*7:そもそもコロナ禍で行かない状態が続いていた

*8:東大のいわゆる進振りと呼ばれる制度は成績順で行ける学部学科が決まる制度ですが、その成績が振るわない者のことを学部を自由に選べないことからこう呼びます

*9:同時期に書き始めたと思うんですが何故こんなに自分の記事は公開が遅いのでしょうか...

*10:League of Legends European Championship。League of Legends(LoL)のヨーロッパリーグ

*11:Mid-Season Invitational。LoLの年1回夏に行われる世界大会。

*12:実は別に夏休みだからという理由ではなく、学期中もこんな感じだったので成績はアでした

*13:実はこれを続けると生活習慣が割と改善されるので結構おすすめです。健康には悪いかもしれない。

*14:これ以外にも全休が1日あります

*15:約20%

*16:https://thinaticsystem.com/glossary/gomamayo/

*17:ご覧の通り:gomamayo:というemojiがありまして、

*18:社内ミーティング中にゴママヨに反応する一幕も...?