パーソルグループとSky株式会社は、sightを通してエンジニアの自分らしいキャリアを応援しています

なぜ、そのコードが動くのかー女子大生プログラマ・羽柴彩月がインターン武者修行で学んだこと

勉強を楽しくするサポートアプリ「Stuguin」をリリースし、多数のメディアに天才女子高生として取り上げられた羽柴彩月さん。現在は、慶應義塾大学環境情報学部でテクノロジーと心理学を結びつけた、モチベーションに関する研究をしながら、アプリ開発も行っている。「最初にパソコン触れたのは保育園の時」という羽柴さんのテクノロジーとの出会いとキャリアの軌跡を聞いた。

羽柴彩月さん

Profile

慶應義塾大学環境情報学部 「Stuguin」開発者 羽柴 彩月(はしば・さつき)氏

1997年生まれ。高校1年生でiPhoneアプリ開発を始め、高校2年の冬に「勉強をもっと楽しくする」というコンセプトのモチベーション管理アプリ「Stuguin」をリリース。多数のメディアに天才女子高生として取り上げられる。その後、慶應義塾大学環境情報学部に進学。サイバーエージェント、クックパッド、Google、メルカリなどでインターンを重ねる。

楽しく使えるように、UIやデザインにはこだわった

高校在学中に、「Stuguin」という勉強のモチベーション管理アプリを作って、いくつかのアプリ・コンテストで賞をいただきました。スマホを使い出すと、一瞬たりともスマホを手放せなくなってしまうのですが、SNSやゲームばかりやっていると、勉強する時間がなくなってしまうことが悩みでもありました。

そこで、スマホをストップウォッチみたいに使えば、自分が今日は何時間勉強したかがわかり、その記録をつけることで、モチベーションが上がるんじゃないか、と考えたのです。私自身がそのコンセプトに必要性を感じていたからこそ、作れたアプリでした。

最初に実装したのは、時間を測る機能です。YouTubeアプリで音楽や動画を視聴していても、アプリを閉じるとコンテンツが途中で終わっちゃうじゃないですか。「Stuguin」もそういう仕様にしようと思いました。

「Stuguin」をフロントで動かしていないと、時間がカウントされない。勉強を始める時に「Stuguin」を起動して、勉強が終わったら閉じる。その間は、LINEやYouTubeなど他のアプリに気を取られることなく、集中して勉強できるはずです。

羽柴彩月さん


ただ、単なるストップウォッチだと、やらされ感が強くて、辛い気持ちになりますよね。そこで、勉強時間を記録したら、友達と共有できるようにしました。

「今から一緒に勉強しようと」と友達を誘ったり、友達の誰かが「いま勉強を始めました」という通知が送られてくる機能も、今のバージョンにはないんですが、実装しました。勉強に集中した時間を共有することで、モチベーションを高めようというわけです。

見た目が整ったきれいなアプリケーションにすることは、一番意識していましたね。見た目が堅苦しいと使いたくなくなってしまうから。もともと、何でもダサイのは嫌なんです。ペンギンのキャラクターも自分で描きました。

ペンギンが好きなんです。だからアプリのネーミングも、Study + Penguin を合成して「Stuguin」。勉強するペンギン。キャラクターを仕上げるのには、Life is Tech!で教えてもらったデザインツールのスキルが活きました。

Life is Tech!のメンターや、インターンに明け暮れた大学生活

高校卒業後は大学に進学することを考えていましたが、Life is Tech!のプログラミング・キャンプの最初が慶應大学のSFCキャンパスだったので、慶應には惹かれるものがありました。

キャンパスの建物が丸かったり、コンクリート打ち放しだったりと、近未来的でかっこよかったんです。Life is Tech!のメンターにも、SFCの学生が何人かいて、プログラミングに特化した授業があるとか、キャンパスの雰囲気が自由だとか聞いていたので、憧れてましたね。

幸いにもAO入試で慶應に入ることができました。AO入試では、高校時代にコンテストで入賞したことも評価ポイントの一つだったと思います。結局、プログラミングを始めたことが大学進学というその後の進路につながっていくんです。

羽柴彩月さん


大学に入ると、プログラミングの楽しさを教えてもらった恩返しという意味もあって、「Life is Tech!」のメンターを始めます。それと大学2年の夏からは、サイバーエージェント、クックパッド、メルカリ、GoogleなどのIT企業でインターンをしました。

いろんな会社を知るのは、今しかない。社会人になって、こんなに会社を変えたらジョブホッパーになっちゃうし、迷惑もかけるので、今のうちしかできない。中に入らないと実際に働いたときの感じもわからないし、いい機会だと思って、いくつかトライしました。

インターン先企業の選択は、iOS開発が強いところという条件。最初のサイバーエージェントは、iOSのカンファレンスに学割で参加したときに それをサイバーエージェントが協賛していて、その後の食事会の席で人事の人に誘われました。最初の“修業先”としては、いい選択だったと思います。ここでめちゃくちゃ技術力が伸びましたから。

その時のメンターがすごくいい人だったんです。コードも書けるし、技術力もあるし、コードレビューもスマートだし、面倒見もいい。まるで私の師匠みたいな人。ここでは、2~3日前に書いた自分のコードが汚ないと思えるくらい、短期間で力がつきました。

インターン生は、社員と一緒に業務の一端を担います。最初のサイバーエージェントではライブストリーミングのプラットフォーム「FRESH!」に関わり、バグ修正をしたり、写真の切り取り機能をつけたりしていました。

サイバーエージェントには、その師匠を慕って、大学4年の夏にも再度インターンに行くんですが、ここでは「WinTicket」という最近出た競輪サービスのアプリ開発のチームで仕事をしました。

学生とインターンではプログラムの書き方が全く違う

インターン生として企業の業務の一端を担うのと、学生としてプログラミングをするのとでは、全然違いますね。個人でプログラミングしていたときは、誰も私のコードなんて見ないから、変数名や関数名のネーミングは適当でした。

分からないことがあったら、Stack Overflow(プログラミングに関するQ&Aサイト)で質問して、回答をコピペして、「やったー動いた!」でいいのかもしれません。でも、業務だと、なぜそれが動くのか、それが本当に適切な実装なのかということを常に考えないといけない。

さらにちゃんとしたプロダクトに仕上げるためには、コードレビューがきわめて重要だということも分かりました。自分ひとりで作っている時は、このコードだと動くけど、なんとなくダサイ、設計としてもぐちゃぐちゃだ、とは思えても、それをどう直せばいいかが分かりませんでした。

そういうところを、先輩やメンターに的確にレビューしてもらうと、本当に理解することができます。ただ、レビューに出すと必ずたくさん指摘される。指摘されるのは分かっているけど、自分では解決できないから出すしかない。結構辛いものがありました(笑)。

羽柴彩月さん


Googleでは2回インターンをしましたが、最初は「Google STEP」という教育プログラム。テクノロジー業界でマイノリティとされている人々を積極的に取り込んでいこうという趣旨があって、情報系の女子大学生や障がいがある人を積極的に募集していました。

カリキュラムもいきなり実務ではなく、前半の8週間はコンピュータサイエンスの基礎を講義形式で学び、後半8週間が実務研修です。前半から後半に進むためには、面接をクリアしなくてはいけません。

実は、大学2年の春にそれに応募した時は落ちてしまって、Googleでのインターンができなかった。女子学生という優先枠で面接されていたのに、選ばれなかったことがすごく悔しかった。

その時に、Googleでインターンするのならもっと実務経験がもっとほしいと言われたんです。そんな時にサイバーエージェントに声をかけてもらったので、そこで修行して、翌年の3年生の夏、Googleに再チャレンジしました。

その時はGoogle STEPではなく、誰もが応募できる「ソフトウェアエンジニアリング・インターン」というコース。前年の恨みをはらそうと思って勉強しました(笑)。

面接では、面接官がその場で問題を出し、それに対してどんなアルゴリズムどう解くかを答えたり、実際に疑似コードを書いて提出します。結構ハードでしたけれど、事前にちゃんと対策していたので、なんとか合格できました。

次回 #03 テクノロジーで実現する未来 Coming soon