読者です 読者をやめる 読者になる 読者になる

自分を攻略していく記録

自分がやりたいことを達成するには何をすればいいのか、その攻略していく過程をつらつらと

ペアプロして気づいた、デキるエンジニアと未熟なエンジニアとの差

プログラミング

デキるエンジニアとペアプロをした

デキるフルスタックエンジニアとペアプロすることになった。かなり繊細な箇所をリファクタリングするというタスクだった。彼は、高校時代に孫さんに影響を受け、高校卒業後に渡米し、カリフォルニアの大学に通う。そして卒業して帰国後、未踏クリエイターに選出されてひたすらLispを触っていた。ちなみに、エディタはEmacsで、サーバーサイドはもちろんiOSAndroidEmacsで実装している。一方で、僕は彼に比べれば経験値も技術力もかなり劣る。

二人の実力差は大きいのだが、実装するのは彼の方だった。力量差があるもの同士のペアプロというと、未熟な方が教わりながら実装する、ということをイメージしてしまう。もちろん実力差が小さくなればそんなこともないのかもしれないが…。

作業速度の速さ

圧巻だったのは速さだ。Emacsを使っており、ホームポジションから本当にほとんど離れない。プログラミング歴が浅いとどうしてもトラックパッドや矢印キーに手を伸ばしてしまうが、その行為がいかに時間を奪っているのかを痛感した。複数の画面をめまぐるしく行き来し、手とパソコンと一体になっている感が強い。学生ベンチャーにいるとなかなかこのレベルの速さでタイプする人に出会えない。タイピングが早い人はいくらでもいるが、実装そのものの速さはペアプロをしないと体感できない。

ドキュメントをまず当たる

Emacsで実装しているとXcodeのように強力な補完がない。それに加えて、彼はiOSエンジニアではなく、むしろサーバーサイドが得意と言っていた。にもかかわらず的確に正しい関数を書いていくのだ。よくこんなに覚えているなと思っていたところ、彼は頻繁に公式ドキュメントを参照していることに気づいた。少しでも曖昧なところがあると Dash というアプリで公式ドキュメントを確認するのだ。これを繰り返しているうちにしっかりと身につくようである。言われてみると、自分が実装するときは疑問解決の際、ブログやQiita、スタックオーバーフローなどばかり参考にし、公式ドキュメントを参照する機会が少なかった。まず公式ドキュメントを参照するという癖がなかったのだ。見習わなければならない。

Dash
f:id:ngo275:20170321233504p:plain:w120

お互いめちゃくちゃ疲れる

こっちは普段慣れない速度でコードを考えていたので非常に集中力を使ったが、実はドライバー役の彼も普段より全然疲れたそうだ。一人で実装しているとぼーっとする時間がどうしても生まれてしまうのが、ペアプロをするとそれがなくなる。いいことだが長時間行うには適度に休憩を挟まないといけないみたいだ。

実装や思考速度は普段より早いのだが、意外とついていけることにも気づいた。逆にいうと、彼の速度でエディタを扱えるようになると実装速度が2倍くらいになると痛感した。

レベルの高い人に囲まれる良さ

こういう高いレベルの人に囲まれる良さも感じた。学生ベンチャーにいると優秀な学生に出会えるがなかなか出会えない人もいるのが現実だ。どうしても幅が狭まってしまう。特に技術力が高いエンジニアはレベルが高い環境と求めると思うので、そういうところに飛び込んでいく度胸が求められるのかもしれない。四月からの新しい環境が楽しみだ。

メルカリ(mercari)のインターンでアメリカに来ました(終わり)

一週間もそろそろ終わり

1週間メルカリのインターンでアメリカのメリーランド州に行ってきた。

f:id:ngo275:20170313200918j:plain

渡航前~1日目

2日目

3日目

4日目

5、6日目はそこまで収穫がないので省略。 アメリカで感じたことを感じたことベースにメモっておく。

メルカリの日米における認知度の差

日本でメルカリというと、ITベンチャーの中で最も勢いがあってアメリカでもいい感じ、という印象があったが、いざアメリカに来てみると実際は全然違っていた。まるで認知されていないのだ。全米2000万ダウンロードと言われているが、数十人に聞いて、メルカリを知っていると答えたのが数人、メルカリで売買したことがある、と答えた人は皆無だった。メリーランドには30万点の商品があるそうだが、結局本格的なユーザーを見つけることができなかったのである。

現地の人にヒアリングをしていて、オンラインショップで有名なサービスには、AmazoneBay、Craigslist、あとはEtsyがあった。他にメルカリの競合だと思われるのがOfferUp、Wish、letgoあたりだろうか(AppStoreでeBayと検索するとこのあたりのアプリがヒットした)。はじめにあげた4つのサービスは、ヒアリングしたほとんどの人が利用経験があると答えた。AmazoneBay、Craigslistは1994、1995年に生まれて現在も生き残っているサービスなので利用者が非常に多いが、Etsyはその10年遅れで登場し、ハンドメイドのブランドを見事作り上げ、同様に高い認知度だった。メルカリ、OfferUp、Wish、letgoは2011年からの数年で誕生したものばかりで、どれも新しく、アメリカ人からの認知度はいずれも低かった。メルカリはここからが正念場だと痛感させられた。

Amazon eBay Craigslist Etsy OfferUp Wish mercari letgo
1994~ 1995~ 1995~ 2005~ 2011~ 2011~ 2013~ 2015~
f:id:ngo275:20170313122128p:plain:w70 f:id:ngo275:20170313122142p:plain:w70 f:id:ngo275:20170313122156p:plain:w70 f:id:ngo275:20170313122212j:plain:w70 f:id:ngo275:20170313122244p:plain:w70 f:id:ngo275:20170313122253p:plain:w70 f:id:ngo275:20170313122228p:plain:w70 f:id:ngo275:20170313122305p:plain:w70

思っている以上にキャッシュレス

ペイモという割り勘アプリを作っているので、アメリカのお金の扱いについて興味があり、あえてドルを持って行かずにクレジットのみで生活してみた。電車のパスも、自販機の飲み物クレジットで購入できる。ただ、バスに乗る時はクレジットだけでは厳しいかもしれない。アメリカでは友達間で割り勘する時、Venmoというアプリを利用することが多い。今回会った人はほぼみんなインストールしてあった。Venmoができる以前はPaypalで送金していたそうだがVenmoの方がお得で今はVenmoが主流だそう。(メルカリよりもペイモに食いついてくれる人が何人かいた。)

ペイモ Venmo
f:id:ngo275:20170313123724p:plain:w120 f:id:ngo275:20170313123741p:plain:w120

シェアリングエコノミーの精神

移動にはUber、宿にはAirbnbを利用した。両方とも、知らない人の車、家にお世話になる、というサービスである。Uberはその場で呼び、Airbnbは前日に宿を抑える、というイメージで利用した。Uberの他にもLyftという似たサービスがあり、Uberより割高だが安心感は強いという。朝早くても夜遅くてもUberで車を見つけられるので、良くも悪くも時間を気にせず行動できる。Airbnbは今回初めて利用したが、そこらへんのホテルよりホスピタリティーがあって、非常に満足度が高い。一人で5000円程度の都市近郊の宿だと少し古くて汚いという印象である。

日本では両方ともあまり流行っていない(そもそも法律的な問題がある)がアメリカでは当たり前になっていて、特にお金のない若者にとって、もはやなくてはならないサービスになっていることを身をもって感じた。

Uber Lyft Airbnb
f:id:ngo275:20170313124144p:plain:w120 f:id:ngo275:20170313124157p:plain:w120 f:id:ngo275:20170313124211j:plain:w120

世代間の差

日本よりシェアリングエコノミーやいろいろなテクノロジーが進んでいる、とは言え、アメリカでもやはり世代間のリテラシー格差が大きいのは同様だった。むしろ格差という意味では日本より大きいのかもしれない。現地に暮らす50代の方3人にヒアリングをしたのだが、スマホを持っていなかったり、スマホは使っているけどカード情報や個人情報を入力したくない、と言っていたりして、その世代になると日本と意外と変わらない印象だった。もちろん、彼らの意見が全てではないのは当然ではあるが。こうした上の世代の方が生活にも余裕があるので、シェアリングエコノミーに参画すると質が一気に上がるポテンシャルがある。

日米で気になった文化の差

今回一番気になった文化の違いは、アメリカだとシェアハウスや寮生活をする若者の割合が多く、かつ、社会人になっても続ける人がそれなりにいるということだ。家賃が非常に高く、社会人になってもよっぽど高給取りじゃないと一人暮らしはできないらしい。それに伴って頻繁に引っ越すので、いらないものがよく出てきて、Facebookグループで売り払ったりすることもちらほらあるそう。もしくは寄付してしまうそうだ。日本だと寄付の文化はあまりないと感じる。

ハッカソンがなんかすごそう

薬局で働いていると言っていた友達が、実はアプリ作ったりしていてハッカソンにも出たこともあるらしい。FBIがハッカソンのスポンサーになっていたり、大掛かりなものが多かった。今回は時間もなかったし、そもそもハッカソンという発想がなかったが、今度アメリカにハッカソン目的で旅行しようと思う。こんな感じのハッカソンがある

まとめ

とりとめもなく感じたことを書いたが、ただ旅行に行ってる時とは違って学びが大きい1週間だった。旅行ついでに海外の大学に忍び込むのはけっこう楽しいかもしれない。あとハッカソン出よう。

f:id:ngo275:20170309221927j:plain

メルカリ(mercari)のインターンでアメリカに来ました(4日目)

インターン

市役所に行ってみた

市役所で働いている人にヒアリングさせてもらえると、事前に連絡が取れていたので、昼前にHyattsvilleという地区に向かった。市役所に働く22歳の男性とそこでいろいろ話ができた。彼もいらなくなった服は寄付するけど、中古品の売買をすることもあるとのこと。メルカリを聞いたことがなかったそうだが、使ってもらうと気に入ったようで、興味があるものがサジェストされたら買ってしまうかもしれないから、ホーム画面をもっとパーソナライズしてくれるといいかも、と提案してくれた。

Tinder経由で会ってみた

Tinderとかいうマッチングアプリを使って、時間が空いた時に、現地の近くにいる人とコンタクトを取っていたのだが、インタビューいいよ、という人が見つかったので、急遽そっちへ行くことに。「これこれこういう理由でメリーランドに来ている」と言うと意外と助けになってくれる人(Tinderユーザー)が多いのだ。その人はアパートに友達といるからおいで、と言うので向かってみた。女子4人でシェアハウスをしているそうだが、なぜかクソイケメンな男性(I君)が出迎えてくれた。

その場にいた3人にヒアリングをしてみたが、みんなメルカリを使ってみると、アプリは使いやすいし、簡単に出品できるのは非常に良い、とここでも好評だった。引越しで発生する不用品に関して質問すると、彼らはみな、アパートとか寮から出るときは、基本次の人のために家具を置いておく、と言っていた。I君は、大学のFacebookグループを通じて、以前いらなくなったものを売ろうとしたが全然買い手が見つからなくて断念した、と残念がっていた。

f:id:ngo275:20170311144346j:plain

日本人の友人の親戚宅へ

メリーランド在住の日本人家庭のもとへ伺った。映画に出てくるような閑静な住宅街で家も広く綺麗だった。ちょうど娘が22歳だと言っていたので(お会いしたのはその両親)年齢的にも自分たちの親世代。学生にヒアリングすることが多かったが、全然違う視点から話が聞けた。その家には、いらなくなったけどまだ全然使えそうなもの(パソコン、クリスマスの装飾品、おもちゃ等々)がワンルーム分もあったのだが、利益に対して売る手間の方が大きいので、溜まっていくのだそう。いらなくなった家具もそれなりにあるようで、シェアハウスや寮にいる学生だと欲しがるようなものもあった。

いらないものをたくさん所有している家庭がある一方で、そうしたもの(特に生活用品)を欲しがっている若い人たちも多くいるので、そこは改善の余地がありそうだ。たとえば、可能かどうかはともかく、メルカリが一気に安く買い取って、代理で出品することで、流通している質を向上させたり、そういう買取をすることで、メルカリというブランドの認知力が上がるかもしれない。Airbnbは苦労していた時期に、自分たちで部屋の写真とか紹介に注力してブランディングしていたそう。

夕飯の様子 f:id:ngo275:20170311144312j:plain

雑感

メルカリを元から知っていたと言う人はほぼ皆無だったが、使ってみると好評だということが多い。そもそも知られていないから利用されていないようだが、知られるほど利用されていないということは、何かが欠けているということだろう。メルカリでしかできないことがある、というオリジナリティが欠けているように感じる。一方でEtsyにはそれがあるからうまくいっている。メルカリの特徴はあらゆるものを取り扱っていることだが、アメリカは、日本と違って寄付する習慣があるとか、20代の多くはシェアハウスや寮で暮らすことが多い、ということにもう少し着目してもいいのではないか。

もうひとつヒアリングの中で気になったのは、Venmo(個人間のお金のやりとりを可能にするアプリ)の人気具合だ。僕は1月にプレスリリースしたpaymoという割り勘アプリ(Venmoと似ている)のiOSを実装しているが、Venmoがアメリカでここまではやっているのを見るとpaymoの可能性を感じた。まだまだ日本がクレジット社会になるには時間がかかりそうではあるが。

つづく

メルカリ(mercari)のインターンでアメリカに来ました(3日目)

インターン

作戦

昨日得た情報をもとに、ある程度、こうした方がいいのではないか、という意見を準備してから挑むことに。(2日目はもともと準備していたつもりですが、実際に聞き込みをするとまた練り直すか、となる。)結局EtsyやCraigslistは使われるのにmercariはなぜ利用されていないのか、という観点から考えてみることに。CraiglistはUIがひどいのに、みんな知ってるし便利だから使っているそう。それにひきかえmercariはかなり見やすくて使いやすいと好評で、UIUXを改善すると大きく成長できるって感じではなさそう。知らないから使わないし、みんな知ってると使うかな、とみんなに言われてC2Cの難しさ(ブランド認知力)を痛感。

AirbnbとかUberもC2Cのユニコーン企業だが、当初は非常に苦労したそうで、彼らがなぜあそこまで成長できたのか、と調べることに。どうやら少しターゲット層を変えてきたのだとか。Airbnbは何度かローンチして失敗を繰り返したのち、ユーザーが実は貸し出したい空間は、開発者が思っている以上に幅広いことに気づき、貸し出しには朝食出すのが必須とかだったのもやめ、幅広い宿の取り扱いを始めたことで、軌道に乗ったそう。Uberも初めはリムジンを配車するアプリで今から考えると結構サービスが違っている。

とか考えていると予定の時間になって正直しっかりまとめられず出発…。

メリーランド大学カレッジパークへ

昨日の夜も少しだけここへ来たが、再び現地の大学生と会うためにメリーランド大学カレッジパークへ向かう。朝からD君(同じ州に派遣されている人)と一緒に現地の大学生にヒアリングをしたが、mercariを知っているどころかそもそもショッピングをあまりしない人だった。基本いらないものが出てきてもチャリティーに出してしまう、ようだ。でも、そんな彼女もやはりEtsyは利用したことがあって、ユニークなものが買えるから使っているらしい。

昨日からうすうすは感じていたが、ここに来て「アメリカの学生って、あんま買い物しなくね?」という仮説が頭をよぎるようになってきた。たまにプレゼントとかで個性あるものが買いたくて、高くてもいいからEtsyは利用する、ということはあっても、それ以外はAmazonで買い物を済ませてしまう人が多い。服は大学名の入ったものを学校で買い、いらなくなったら寄付する、と。教科書に関してはもらったりpdfで入手したり、レンタルを利用する、というケースが多い。

今のところ、mercari厳しいのでは、というのが正直な感想だ。

社会人になっている現地の友達と会う

僕は、7年前に高校のプログラムで1週間ほどメリーランドの高校の授業に参加したことがあった。今回の派遣先がたまたまメリーランドだったので、当時仲良くなった人たちに連絡して、3日目はそのうちの1人と会う約束になっていた。26歳の社会人男性。その彼女が日本語を話せるらしく是非日本人に会いたい、とのことで3人で会うことに。やっとショッピング好きな人に会えることになった。

そんなショッピング好きな彼女は、中古で買わない、というまさかの意見。特にアメリカのこういうサービスは信用できなくて怖い、と思うよう。Amazonだといろんなラインナップや、信用できるコメントがたくさんあって安心できるから、Amazonを利用するらしい。ただ、Etsyを使うと、そこにしかないものが買えるからEtsyは使うことがあるかな、とも言っていた。ここでしか買えないもの(EXCLUSIVEなもの)があったら使うのに、とプラスの意見ももらえた。

f:id:ngo275:20170310230139j:plain

宿まで送ってもらう途中、遠距離恋愛がどうたら(彼女は1年間フロリダのディズニーワールドで働いていた)という話に逸れて、ふと日米の生活の違いに気がついた。彼らは日本でいうと社会人3年目に相当するのだが、まだ、一人暮らしは高くてできない、と言うのだ。まわりもシェアハウスをしている人が割といるようで、それはけっこう普通だそう。大学生に限らず、社会人も、寮やシェアハウス、アパートに住むことが多く、そこから退去するときに、家具や荷物になるものを売り払うらしいが、それはFacebookで行なっているらしい(2日目に聞いたJohns Hopkinsの話と同様)。彼女はディズニーの仕事を辞める際、ディズニーワールド近辺のResale用のFacebookグループで大量に出品した。一週間で大体どれも売れたとか。

そしてふと、それってこの家具周りに特化したプラットフォームがないからFacebookでやってるだけなのでは、と。思わぬ発見。

そのあとは午後は別行動をしていたD君と話を詰めようと思いつつも疲れて結局就寝。

つづく

メルカリ(mercari)のインターンでアメリカに来ました(2日目)

インターン

Johns Hopkins University到着

このインターンに参加しているY君の紹介でつないでもらった人に、Johns Hopkinsで会った。彼女は大学から日本を出てJohns Hopkinsに来ている3年生で。日本の大学と全然違い、大学生活は基本勉強しかしないとのこと。GPAも3.8は普通だそう。バイトをすることもあるが、大学関連の仕事になると言っていた。

f:id:ngo275:20170309221927j:plain

彼女にまずはいろいろヒアリングした。普段どういうアプリ・インターネットサービスを利用するのか、シェアリングエコノミーに関してとか、あとは実際にメルカリを使ってみてどう思ったか、等々。こちら側も初めてだったため、何がいいの分からず手探りでかなり時間を取ってしまった。

印象的だったのが、大学のFacebookグループに、いらなくなったものを安く誰かに売る、というものがすでにあったこと。Johns Hopkinsでは(アメリカの他の大学もかもしれないが)基本寮生活で、毎年寮が移るため、そのグループを使って家具や邪魔になる荷物を売ってしまうケースが多いそうだ(寮→シェアハウスだと特に結構いらないものがでてくる)。そのFacebookページを見せてもらったが、椅子やベッドとか家具もあればパソコンや服もあり雑多である。また、金額もメルカリのものより安く(マージンもない)、売買は大学内で完結するので郵送も楽、というメリットがある。もうひとつ印象的だったのは、彼女の場合、基本パソコンを持ち歩いており、携帯で買い物をしようとは思わないと言われたことだ。日本だとみんながみんなパソコンを持ち歩いているわけではないため、そこもアメリカならではの視点なのかなと感じた。

大学散策

ヒアリングの後、一緒に大学の食堂へ。バイキング形式でメニューもTHEアメリカという感じ。昼過ぎから授業がある、と言っていたのだが、「来てみる?」となり、参加してみた。意外にも、日本と講義自体の形態は変わらないかもしれない。

先ほどヒアリングした人が(学校のプロジェクトか何かで)医療系のiOSのアプリを作っている、と言っていたため、そのiOSの実装をしている人に会いに行いった。彼にもヒアリングをして、主にUIUXまわりでフィードバックをもらった。ただ、その人自身はあまりオンラインで買い物をしないと話していた。

f:id:ngo275:20170309221947j:plain

メリーランド大学カレッジパークへ移動

夜はメリーランド大学の人と会う約束があったので、Uberでそっちへ移動。1時間以上かかったが、それでも50ドル弱、日本のタクシーに比べると全然安い。到着して合流すると、会う予定だった彼(G君)が、普段からeBayを利用している叔父がいる、とのことでその叔父と携帯を通じてオンラインでやり取りする機会を設けてくれた。

G君の叔父はeBayを1994年から利用していて、自動車のパーツを転売することで、当時は多い時で300万(/年)は儲かっていたそう。最近は80万程度になってきて、ユーザーが多すぎると言っていた。59歳で、スマホは持っていないのでeBayしか使わないとのこと(奥さんはAmazonで買い物はするが)。郵送に関してはeBayはサポートがしっかりしていて非常に便利、悪いところは人が増えすぎたところだけだとか。

G君自身もmercariはここで初めて聞いたそうだが、使いやすさに関しては好評だった。Androidは、SMSやストレージの利用許可画面があるのだが、なぜそれが必要になるのかわからないし、許可したいとは思わないから使わないかもしれないとのことだった。彼は情報系の専攻ということもあり、そこら辺が特に気になると話してくれた。彼は、Craigslistは利用するが、それはみんなが利用しているし、対面だからかえって良い、との意見だった。「mercariはFedExUSPSしかないのか?もうひとつUPSというのがあって、それは少し高いけど一番信頼できるはずなのに、なぜないのか?」と、配送方法に関しても疑問を投げかけてくれた。Craigslistだとその配送方法を気にしなくていいのが良い、とのこと。

雑感

思っている以上にmercariは認知されていないということ。eBayやEtsy、Craigslistは大体の人が知っていて、利用経験もある人が多数だった。他の類似サービス(letgo、Offerup、Wish)の認知度もmercariと同程度、もしくはmercariよりは若干知られているという感じ。日本人のイメージとは全く違って、mercariはアメリカで思っている以上に苦戦を強いられているのだと痛感する1日だった。

つづく

メルカリ(mercari)のインターンでアメリカに来ました

インターン

メルカリ(mercari)のインターンでアメリカへ

一月の頭にFacebookメルカリが学生をアメリカに派遣するというインターンを行うという記事を見かけた。ざっくりというと、メルカリが、企画志望・エンジニア志望のエンジニアそれぞれ50人ずつアメリカに派遣して、現地で1週間ユーザーヒアリングやC2Cサービスのアイディアを考えてこいというものだ。去年1年間はホステルに飛び込んで、英語の勉強をしてたこと(ここに少し書いた)と、スタートアップにも飛び込んでエンジニアをしていた(これ)ので、ちょうど良い腕試しの機会だと思い応募した。

アメリカで何をするのか

選考が終わった後、説明会があった。そこでの概要はこんな感じ。

世界で戦うために、まずは、世界を見てきてください。
アメリカ50州のそれぞれに学生を派遣するインターンをはじめます。
1週間、アメリカで暮らし、その場所ならではの発見から、
「メルカリがアメリカで戦うためのアイデア」を考えてきてください。

そして課題はこちら。

1. メルカリ及びCtoCサービスのユーザーヒアリン
グと改善提案(※必須)
2. CtoCサービスのヒアリング・利用レポート
3. 新規サービスの立案・プロトタイプ作成(CtoCマーケットプレイスに関連するものだと尚良)

あとはどの州に派遣されるのかが発表された。ここで初めて自分が行く先がMarylandだとわかった(2/28)。自分と同じ派遣先の人と手を組んでもいいし、アウトプットのフォーマット等は任せるという説明だった。

2と3は必須ではないが、僕は、どうせだから何かアイディアがあればプロトタイピング(3)までしようかな、と思う。

事前準備①

メルカリ側に指定された事前準備はこんな感じ。

- 行動計画の策定について
    - ヒアリング対象者の探し方は?
    - 何を調査ヒアリングする?
- 現地CtoCサービスなどの調査
    - どんなサービスがある?
- 想定するアウトプット
    - どんなフォーマットでのアウトプットを出す?

あとは自分たちでやってくれ!という感じ。

事前準備②

同じ州に派遣される人が選考時に話した人だったのでコンタクトをとり、現地で一緒にヒアリングをすることに。日程は3/7〜という急なスケジュールで決定。(メルカリ側からいつ行くのか日程の細かい指定はなかった。)出国までの間にFacebookでMarylandの大学に留学している友達等をつないでもらったりした。ちょうど7年前に高校のプログラムで2週間弱Marylandに来て、現地の高校に行ったりもしたので、当時の友達にコンタクトもした(急だったが2人は会う約束ができた)。

僕はLinkedinを地味に使っていたので、Maryland近辺にいる人にコンタクトを試みたが、アポまでは取り付けられなかった。他にもmeetupというイベント関連のサイトがあり、そこでいい感じのミートアップが現地で開催されていないかチェックした。めぼしいものはなかったのだが…。

ヒアリングする内容に関しては同行する人と少し詰めておく、という程度。

アウトプットをどうするのか。それに関しては何となくふわっと持っているアイディアを現地で確認してみようと思う。

説明会から出国までが1週間とあまり時間がなかったので準備にはあまり時間は割けなかったのが正直なところ。

出国

3/7の18時の便で出発して、シカゴで乗り継ぎ、現地時間7日の21時半にボルチモア(Marylandにある都市)に到着。Airbnbボルチモア内にある宿を予約していたので、そこまでUberで向かい(一緒にヒアリングをする人(以下D君)とは別の便だったため宿で合流)、D君と8日の準備をした。8日はラクロスで有名(?)なJohn Hopkins Universityに行く予定。

つづく

スタートアップで1年以上エンジニアをやって気づいたこと

インターン

はじめに

1年と2ヶ月株式会社Candle(キャンドル)というスタートアップでエンジニアをしてきた。

エンジニアをやろうとしたきっかけ

大学は工学部システム創成学科というふわっとした学科に所属しており、主に授業は、プログラミング(Java)だったり(←すぐに授業は終わった上、実際大したことはしていないので全く身につきつかなったが)数理最適化などの手法を学んだり、ビジネス入門とかゲーム理論とか経済よりのこともする一風変わった学科だった。座学が少なくてケーススタディとかグループワークが多いのが印象的だ(就活予備校っぽい)。

一番はじめのきっかけは大学2年の冬に初めてJavaを触ったこと。もともと高校まではパソコンに触れる機会が少なくパソコンには疎い方だったが、プログラミングってパズルっぽいなと感じたのを覚えている。しかし学部時代ラクロス部に所属していて、3年になると急激に忙しくなり、あまり勉強をする時間が取れなかった。

大学4年の11月に部活を引退してから部活で割いていた時間をプログラミングにあてるようになった。引退直前は正規練習・筋トレ・映像を見る・自主練で半日近く割いていた時間をいきなりプログラミングにあてようとしたのだ。

しかしプログラミングと言っても何をやればいいのか、詰まった時にどう解決するのがいいのかはじめは全然わからなかった(今考えればググれよ、って話だが笑)。そう悩んでいる時に、ふと、「山口(学科の友達でCandleのCTOをしている)がエンジニアインターンを探していたな」と思い、すぐに会ってその日からジョインして研修を始めることにした。2015年の12月前半のことだ。

研修期間

Javaをほんの少し触ったことはあったものの全く覚えておらず、ほぼゼロスタートも同然だった。Candleはキュレーションメディアの開発・運営をメインに行っていたのでWeb系の勉強をすることになり、HTMLをドットインストールで見ることから始めた。CSSJavaScript(というかjQuery)、PHPCakePHPをドットインストールで見たり、簡単なチュートリアルを通して学んだ。研修と言っても基本一人で全部やって、詰まったりすると質問する、というスタイル。

卒論をやりつつ飽きたら研修をやって、という感じで1ヶ月半程度で何となくCakePHPを動かせるようになったと思う。2016年のお正月はCakePHPの環境構築に苦戦していたのをよく覚えている。しかしながら、CakePHPが一体何をしているのか、そもそもCakePHPは何なのか当時は理解できていなかった。

研修後

2016年の2月から簡単なタスクをもらって業務を開始し、1ヶ月くらいするとAWSのことも徐々に教わり、Webってこうなってるんだ、とインターネットの仕組みとかインフラに関して興味を持ち始めた。以来、PHPを書きつつもサーバーのログを見たりするようになった。

当時キュレーションメディアを5つ運営していましたが、そのうちの1つが大きくなって、iOSアプリを開発することになり、2016年の4月頃からSwift、iOSの勉強を徐々に始めました。そして、6月か7月くらいからiOSの開発に関わりだした。

会社が急激に大きくなる

学生のインターンが急激に増加した。エンジニアも入った時はメインで実装している人がCTOだけだったのが10人以上になっていて、組織が大きくなる様子を目の当たりにした。この成長が落ち着いた頃に、CROOZに12.5億で買収された。

Swiftにはまる

夏くらいにはエンジニアの業務委託が4、5人いたのだが、その内のiOSエンジニアの1人が入社することになった。僕と同い年だが、すで前職での経験もあり、コードレビューやコード規約に関する良い文化をもたらしてくれた(それまではなかったことはないがしっかり根付いてなかった)。彼はSwiftに関する本を出すくらいSwiftに詳しかった(ただのSwift好き?)ので、Swiftらしいコードの書き方を学ぶことができた。

また、一からアプリを作ってみたいと思い、12月には、空いた時間でQiitaのクライアントアプリを作ってリリースした。(https://itunes.apple.com/jp/app/qiitapicks/id1181929918?l=en&mt=8)30~40時間くらいでできたと思う。その過程でいろんなライブラリを目を通して非常に勉強になった。

現在

Candleはキュレーションメディアの他に女性向けの動画メディア(MIMI)を運営しており、MIMIという動画系iOSアプリの開発を3人(1人は研修なので実質2人)でしている。分担は自分APIサーバー、管理者サーバーをメインでiOSも少し分析周りとかの実装をし、他方がiOSのUI/UX面に注力している。Swift、node.js、Ruby on Railsと全部言語が異なるので結構辛いが、非常に勉強にはなっている。プログラミングは実践でやりながら学ぶのが一番早いと実感する。

何が言いたいか

1人で学習するのが難しいと思われがちなプログラミング。しかし、勉強のためにプログラミング教室に通うのはナンセンスだと思う。

例えば、英語を話せるようになるのにもっとも効果的なのは外人しかいない環境に飛び込むこと。ちまちま英会話教室に通っても外人と話せるようになれる人は良いが、多くの人は、いきなり外人だけの会話に飛び込めるようにならないと思う。プログラミングも同様で、教室に通ったからといって一からサービスを創出できるようになれない。実際作り始めてみると、コードを書く以外にもサーバーの構築、チューニング、サーバー管理などすることは非常に多い。

ただ、英語の例と大きく異なるのは、実践の環境に飛び込むにあたって経済的コストが低い(留学は高い!)、むしろインターンとかバイトであればお金がもらえるということだ。いち早くプログラミングやエンジニア的素養を身につけるならそういう環境に飛び込んでみることをオススメしたい。スタートアップであれば、全くの初心者ウェルカムという組織も多いので、プログラムに興味がある人はそういうアプローチをしてみたらどうだろうか。