海外カンファレンスに参加してTOEIC900点取った英語の勉強法

仕事で機会をもらって、先日ラスベガスで開催されたre:Invent2017というAWSのカンファレンスに参加してきました。 ずっと憧れていた海外カンファレンスへの参加とあって、このチャンスを無駄にしないためにも普段より英語学習に力を入れました。

おかげさまで11月に初めて受験したTOEICで925点*1を取ることが出来ました。 カンファレンスでは、AnalyticsJamというゲームイベントでその日初めて会ったメンバと共に英語でコミュニケーションを取りながら課題に取り組むことが出来ました。

一年前の自分と比べると圧倒的に英語力は向上したと感じています。 TOEICの点数も上を見るとキリは無いですし、ペラペラに喋れるわけでもありませんが ここに至るまでにやってきて良かったと思うノウハウを共有しますので、良かったら参考にしてみてください。

結論: 真剣にやれば身につけられる。逆に、追い込まれないとやらない。

社会人になって6年。 今まで何度も英語が出来るようになりたいと思い書籍を買ったり勉強法を学んだりして挫折していました。 そんな私がTOEICを受けるきっかけとなったのはre:Inventへの参加です。

特に、今回私はJAMSessionというハッカソンのようなイベントに参加申し込んでいました。 JAMSessionでは、当日集まった人たちとチームを組んで課題に取り組みます。 誰と一緒に組むことになるか事前にわかりません。そしておそらく日本人は殆ど参加していないでしょう。 そのため、英語が理解できないとやばいという心理的な焦りがありました。 とは言え目標が無いと学習計画も立てづらいので、自分の実力を客観的に測定するためにTOEICの受験を申し込みました。 逆にいうと、ここまで追い込まれないとTOEICを受けることすらやっていなかったということです。

本エントリでは、下記3点について説明していきます。

  1. 本気になるための環境づくり
  2. 英語を勉強する順番とおすすめアプリ(サービス)
  3. TOEICで点数を稼ぐための方法

1. 本気になるための環境づくり

いくら本気になれば出来る、と言われたからと言って、今から3ヶ月間一人でアメリカに行ってきてくださいみたいなことは現実的ではありません。 日本にいながら、普段の業務や生活の中で本気になるために下記の3点を工夫しました。

  • a:必要にかられる
  • b:真面目なテーマを選ぶ
  • c:楽しくやる

a. 必要にかられる

業務でヘルプデスクのサービスを導入することを検討していたのですが、その際に引き合いに上がったのがアメリカのスタートアップがやっているサービスでした。 最初のアポイントまでは上司が取り付けていたのですが、以降デモの日程調整やテレカンの設定・参加を自分が巻き取って対応しました。 その際、英語の出来るメンバーのサポートを受けながらですが、やり取りを自分で行いました。 読む機会はあっても書く機会は中々無いため、とてもためになりました。 普段英語を使うチャンスがないという人は、積極的に必要にかられる状況をつくりましょう。

今回は受け身で始まりましたが、普段から英語を使いたいと発信していれば機会は作ってもらえるかもしれません。 私の場合、入社した時からずっと行きたいと言っていたお陰でre:Inventへの参加もすんなりと認めてもらえました。

b. 真面目なテーマを選ぶ

私が所属している会社では、週に1回Englishランチと称して、英語の出来るメンバと積極的に話す機会を設けています。

最初のうちはフリーで喋れる人だけが話すというような感じだったのですが、 ついつい日本語で喋ってしまうことが多く、次第に工夫をするようになりました。

みんなで海外ドラマを見たり、質問カードを使ってレクリエーションな感じで話したりと色々試したのですが、その中で最も効果的だったと感じるのがディスカッションです。 「理想のマネージャ像とは」、「今の業務を改善するにはどうすればよいか」といった重めのテーマを選定することで真剣にならざるを得ない状況を作りました。 たまにヒートアップして日本語で話すこともありましたが、関心のあるテーマだけにみんなが積極的に考えて話すようになりました。 一方で、週末どこに行く?とか、おすすめの映画は?などのようなカジュアルなテーマだと会話が続きませんでした。

c. 楽しくやる

ここまでの話で、最初の一歩を踏み出すのを億劫に感じてしまった方も多いと思います。 確かに、面倒な道ですし、プレッシャーを感じてしまったかもしれません。 しかし、真面目ばっかりでは続きません。私も無理です。

そこでお薦めしたいのが、英語でゲームをすることです。 今すぐニンテンドースイッチゼルダの伝説を買いましょう。

そして言語設定を英語にしてプレイします。面白すぎるので否が応でも続けられます。 アプリだったらクロノトリガーがオススメです。

ゲームの内容が現代劇じゃないと実用的では無いのでは、と思うかもしれません。 しかし、毎日英語に触れて慣れることが目的なのであまり気にしないで良いかと思います。 面白くて止めたくならないことが何より重要です。 逆に、ファンタジー系のゲームは英語の方が世界観にマッチしているような気がします。 特にゼルダはストーリーも吹き替えも良く出来ていておすすめです。

2. 英語を勉強する順番とおすすめアプリ(サービス)

英語の勉強法を調べていると、リーディング、リスニング、スピーキング、ライティングの4つの中でどれが一番大事ですかという質問をよく見ます。 回答も人によって様々で、初学者の人はどこから手を付けてよいかわからないと混乱するかもしれません。 どこから手を付けるかは目的次第だと思います。 英語のドキュメントが読めるようになりたいならリーディングから、字幕無しでドラマが見たければリスニングから始めれば良い。 これらは全て関連しているので、どれかを伸ばせば別のスキルも向上するはずです。 ただし、下記3つについてはどれをやるにあたっても必要となる前提知識のため、一番最初にある程度の所まで身につけることをお薦めします。

    1. 発音
    1. 単語
    1. 文法

a. 発音

個人的に一番難しくて、一番重要だと思うのが発音です。 上達に時間もかかるので一番最初に取り掛かるのがおすすめです。

正しい発音が理解出来ていないと

  • 聞けない
  • 通じない
  • 恥ずかしい

負のスパイラルに陥って英語が嫌になります。 逆に、これらがある程度出来るようになると自信がついてきて楽しくなってきます。

発音は一人で身につけることが難しい分野なので、実際に先生に教わりながらやったほうが効率が良いと思います。

おすすめのサービスは ストアカYouTube、 そしてGoogle音声入力(またはSiri)です。

ストアカは個人が習い事教室を開くためのサービスです。 英語の講座は充実していますし、英会話スクールと違って単発で気軽に行けるのでおすすめです。

youtubeはたくさん動画があるんですが、 Yumi's English Boot Campというチャンネルの動画がおすすめです。 日本人向けに、とにかく通じるための発音方法を教えてくれます。


Rの正しい発音-Rは巻き舌じゃありません! この動画は目からウロコでした。

そして自分の発音をチェックするのにおすすめなのがGoogle音声入力(またはSiri)です。 チャットやstackoverflowなどで英文を書くときに音声入力を使うことをお薦めします。 想像以上に聞き取ってくれないので凹みます。

b. 単語

文法が分からなくても、単語を知っていると何となく英文が読めるようになりますし、動画を観ていても何となく何の話をしているかは察せれるようになります。 2000語くらい覚えていると、辞書を使いながら読めるようになってきますので、基礎として丸暗記しましょう。 英単語アプリはたくさんありますが、mikanが気軽でおすすめです。 私は通勤電車の中で毎日1日100語以上やってました。 色々なカテゴリがありますが、センター試験対策とTOEIC対策を何度も反復することをお薦めします。 GRE(アメリカの大学院入試レベル)の単語はここ以外で目にすることが無いので、必要がない限りやらなくても良いと思います。

c. 文法

文法がわからないと正しく読めません。 大学受験でやったという方も、ブランクがある方は文法書を一通り復習しておいたほうが良いです。

大学受験のときはForestを使っていましたが、1億人の英文法が面白く読めました。 また、文法は読んでるだけでは定着しないので問題集を解いたほうが良いです。 上記書籍の問題集がアプリであります。東進Bookストア アプリ内課金で購入する形になります。あまりイケてるアプリではないですが、問題の質は良いと思います。

一億人の英文法 ――すべての日本人に贈る「話すため」の英文法(東進ブックス)

一億人の英文法 ――すべての日本人に贈る「話すため」の英文法(東進ブックス)

まとめ

この3つを総合して練習出来るアプリにDuolingoがあります。 毎日気軽に続けられるのでいいんですが、ボリュームが少なめです。1ヶ月くらいで終えてそれぞれを伸ばしていくのが良いかと。

3. TOEICで点数を稼ぐ方法

TOEICの点が高くても英語がペラペラというわけでもないですが、履歴書にも書けるし、問題自体も実用的なものが多いので勉強しておいて損は無いと思います。

TOEICで高得点を狙うには対策をしておいた方が良いです。 TOEICの問題はある程度パターン化されているので、それを知っているだけで圧倒的に有利です。 また、リーディングテストで時間が足りなくて焦るという人も多いため、一通り解き終えるまでにどれ位かかるかを把握しておいた方が良いです。

おすすめの対策方法は公式問題集をひたすら解くことです。 TOEICには過去問が無いため、本番相当の問題で練習出来る唯一の問題集です。 実際全く同じレベルだったので、ほぼ過去問と言って差し支えないでしょう。 2017/12/17現在、新方式対応のものが4冊出ているので8回はトライできます。 新品は1冊3000円と値段が張りますが、メルカリで2500円位で売れるので実質500円くらいです。 その際、マークシートは用紙のコピーを取って利用することをお薦めします。

ちなみに、TOEICは問題用紙に書き込みをすることが禁止されています。 また、問題の形式は全く変わらないので1枚の解答用紙(マークシート)を使いまわすことはなんの問題もありません。

TOEICのリーディング問題は求人票、チラシ、説明書、新聞記事、Webサイトのレビュー、emailやチャットのやり取り、など身近な題材をテーマにしているものが多いです。 リスニングに関しても、似たようなテーマの会話が何度も出ます。 ラジオDJによるローカルイベントの宣伝とか、ショップ店員と客のやり取りとか。何故かケータリングの発注を取り扱った話が多い気がします。

これらの傾向は問題集を何冊かやれば掴めると思います。 話の文脈が予めわかっていると、文章のどこに注目すればよいか分かって早く読めますし、リスニング問題も聞き取りやすくなります。 逆にリアルの現場では前提が無いことで苦戦します。

ラスベガスでは、ファーストフード店で注文方法が分からず、 店員さんにお勧めを聞いたところ何を言ってるか分からないまま料理が運ばれて来るということがありました。

TOEICテスト公式問題集 新形式問題対応編

TOEICテスト公式問題集 新形式問題対応編

公式 TOEIC Listening & Reading 問題集 3

公式 TOEIC Listening & Reading 問題集 3

最後に

目的が無いと学習を続けることは難しいです。 当面の目標であったre:Invent参加が終わってしまったのですが、 今度はspeaking&writingの方も受験してモチベーション維持をしていこうと思います。

*1:証拠です。f:id:oqrusk:20171217200019p:plain

Mercari Tech Conf 2017基調講演のまとめ

概要

Mercari Tech Conf 2017に行ってきました。 とても素晴らしい基調講演だったので、無我夢中でメモを取りながら聞き入りました。せっかくなのでまとめを公開します。

本編のスライドが全て公開されていますので、正しくはそちらを御覧ください。

f:id:oqrusk:20170930233033j:plain

感想

メルカリがなぜココまでの急成長を遂げられたのか、 国内にとどまらずグローバルで拡大し続けられるのか、 その理由がよく分かるような発表でした。

自分たちの実現したい事業コンセプトを徹底するために大胆に判断し、必要なところに最大限のリソースを投入する。
既存コードの作り直しを厭わず、冗長な作業を自動化することで本当に必要なことにフォーカスできる環境を作りあげること。
ミスをしても再発を防止する仕組みを作ることで、失敗を恐れない文化が作られたのだと感じました。

基調講演のまとめ

概要

  • メルカリの創業期の様子
  • US/UKへのグローバル進出
  • souzouやkauruなど新しいプラットフォームの展開
  • 急成長を遂げるためにどのような戦略を取ってきたのか。
  • スケーラビリティを実現するためメルカリエンジニアの行動指針について
  • そして今後の展望について

mercari創業時代の話

スピーカーは鶴岡 達也(Head of Engineering, Souzoh)さん

mercariのスタートは地味だった

  • 今の六本木ヒルズの華々しいオフィスではなく、取り壊し予定ビル。
  • テーブルには会社支給のお茶のペットボトルが置かれているが、なくなってからの交換のため忘れられて酸っぱいお茶を飲むこともあった。
  • 企画とエンジニアとが同じテーブルに座って開発する文化は当時からあった。

初期の会議の様子

  • MTGは定例のみ
  • 会議室も無かった
  • 時間は1hour/1weekぐらい

mercariの核となる事業コンセプト

  • コンセプト
    • スマホでものを売るような時代が来る
  • 競合他社との違い
    • 最初からスマホに完全特化したユーザ体験
    • サービス展開を世界規模で考えていたこ
  • コンセプトの実現のために重視した2つの柱
    • ユーザ体験
    • スピード感

出品体験の最大化と競合他社を圧倒するスピード感

事業コンセプトを実現するために取った戦略。
ユーザ体験と開発速度の最大化を実現するために必要ないことはやらない。

初期のインフラ構築の例

一般的には、冗長化を考えた構成にするが、mercariはそうしなかった。
冗長化の例としてはLBや複数インスタンスのサーバ、DBのmaster/slave構成、キャッシュ層の導入などがある。

時代背景としては4年前。EC2はあったがGCEはなかったような時代。

当時の議事録

f:id:oqrusk:20170930232416p:plain

議題:インフラ ★決定 ハイエンドな1サーバに全部集約。

3ヶ月持てば良いという思想の元、最初から捨てることを決めて構築を行い、作業はわずか1日で完了した。

初期のインフラ構成

f:id:oqrusk:20170930232458p:plain

  • 構成
    • サーバ:シンプルすぎるLAMP環境
    • クライアント: ios/android + webview
  • 選定理由
    • メンバ全員が開発経験があった
    • 必ずリリースできる見込みがあった
    • メンバにはphp界隈では有名人も多く、コネクションもあり、後の人材採用の容易さも見込んでいた

初期のメルカリに無い、あって当たり前のはず機能

初期のメルカリには、検索機能が無かった。 

f:id:oqrusk:20170930232518p:plain

初期のメルカリにとって、検索機能はユーザにとっても開発者にとってもメリットがない不要なものだった。

「 手抜きではなくアイデア」と鶴岡さんは語った。

一方で、出品体験の最大化のために時間をかけた事例。

商品画像の改善

f:id:oqrusk:20170930232603p:plain

一見全く同じように見える2枚の画像だが、サイズと容量が全く異なる。
3G回線でも快適にアップロード出来るようにJPEGを軽量化するため、長い時間をかけてチューニングを行った。

タイムライン機能

初期はネイティブエンジニアがいなかったのでタイムライン機能はWebView(HTML5)による実装だった。
これは、開発者の都合でしかなく、ユーザにとっては重くて使いにくいものだった。
ユーザ体験を最大化するために時間をかけ、タイムライン機能はネイティブに作り変え、API側も数10msになるようにチューニングした。
その結果、スクロールしても一切引っかかることがなく、他社を圧倒する体験が実現できた。

テレビCM対応

f:id:oqrusk:20170930232641p:plain

メルカリはリリース後、早期からTVCMを撃った。
その対応は2ヶ月で行われて、本格的な負荷テストを実施し、キャッシュが導入された。

創業期の開発チームが上手く行った理由

  • 事業コンセプトへの理解
  • どんな課題を解決するか見極める
  • 大胆に意思決定をする

f:id:oqrusk:20170930232705p:plain

必要なことを必要なときにやる、創業期はプロダクトのことだけを考えればよい時期だった。
チームより強力な個人のスキルに依存していたフェーズだった。

社員数が20人を超えてから、チームを意識するようになった。

mercariの拡大期とこれから

スピーカーは柄沢 聡太郎(VP of Engineering)さん

メルカリのプラットフォーム拡大、グローバル展開、開発組織、VALUEの話。

メルカリの拡大

サービスについて

f:id:oqrusk:20170930232734p:plain

  • US/UK : 戦略的地域拡大
  • JP : プラットフォーム拡張
  • 共通 : 断続的なUX改善

souzouから生まれる新規事業はmercari idでログインすることが出来、mercariにも出品される。新しいチャネルを作っている。

エンジニアの規模について

f:id:oqrusk:20170930233333p:plain

  • エンジニアの増加
    • 2015年25人→2016年 50人→ 2017年110人(約)と年々で倍になっている。
  • 職種を超えた多様性
    • 数学部が出来た。証明問題を説いて喜んでいる人たち。
  • グローバルでの開発
    • 全世界に拠点があるので時差があるため、24時間稼働している。
    • マージ = deploy なので常にリリースされている。 f:id:oqrusk:20170930233422p:plain

新規事業をどうやって作ったか(souzou)

新規事業を始めたいが、既存事業も重要。どうするか。

リソース(人的、物質的)を完全に分離して、新規事業に専念出来る環境を作った。
souzouにはインフラメンバもおらず、全てAppEngineで作った。

f:id:oqrusk:20170930233436p:plain

USの立ち上げ

f:id:oqrusk:20170930233520p:plain

USの立ち上げに踏み切ったとき、現地にはオフィスもなかった。
日本を開発拠点に、海外向けにフォーカスし、殆どのリソースをつぎ込んだ。 日本から全力で作った。
その時日本向けを作ってたのは1人だけクロネコヤマトとの連携機能なども一人で作っていた。(今では日本向けも少しずつ増えている。)

Nativeアプリの扱い

f:id:oqrusk:20170930233536p:plain

リリース当時は1バイナリを共有していた。(日本版のノウハウを横展開したかったため) しかし、ローカライズの要求が高まり、共有できる部分が減ったので完全に分離した。

  • ローカル差分の例
    • USでは、日本でマイナーなpaypalでの決済が多い
    • 返品が当たり前な文化

f:id:oqrusk:20170930233549p:plain

顧客要望を敏感に嗅ぎ取るため、組織の現地化を行っている。

mercariの開発組織

f:id:oqrusk:20170930233617p:plain

  • プロジェクトチーム
  • 横断的チーム
    • SRE
      • インフラチームから実態に即した名前に変更
      • インフラそのものではなく、ユーザへの信頼性にフォーカスする。
    • QA/SET
      • 手作業によるQAをやっていたチームが自動化、環境構築に責任を持つようになった。
    • EngineeringOperations
      • 組織開発・採用を主導。自分たちの仲間は自分たちで連れてくるという思想
      • 一部社内システム構築も行う
      • 今回のTechConfも主導した。

f:id:oqrusk:20170930233706p:plain

メルカリのVALUE

f:id:oqrusk:20170930233718p:plain

  • GO BOLD
  • All for One
  • Be Professional

valueを体現している例

f:id:oqrusk:20170930233734p:plain

Wifiの設定変更による障害 設定変更は環境を良くするために行った作業は、 GO BOLD リアクションに失敗を咎めない文化が現れている。
今回、失敗した事例を公開してスライドへ掲載する許可をくれたのは ALL FOR ONE と言える。

メルカリエンジニアの開発組織が掲げる理念 Scalable and Elastic

Scalable and Elastic

f:id:oqrusk:20170930233749p:plain

Scalable And Elasticをどのように実現するか。

スピーカー:名村卓(CTO)さん

メルカリの今

  • 日本
    • 新機能開発
    • 複雑化への対応(シンプルに)
    • DBのスケールアウト
    • 検索精度向上
      • メルカリのCPUコア数はAPIより検索サーバの方が多い。
    • トラフィック最適化
  • US
    • 国土の大きさ、州ごとにライセンスが必要、返品率高いへ対応するオペレーション
    • アプリを1から作り直したため、サーバのアーキテクチャも変わって独自進化を始めている。
    • USならではの独自機能
      • 価格交渉が出来るオファー機能
      • 不正利用を機械学習で検知
  • UK
    • 立ち上げフェーズ
    • UK独自機能の追加
    • EU全体から多様性あるメンバーが集っている。

メルカリエンジニアの行動指針

  1. Ornership
  2. Automation, Karakuri
  3. Progressive

1.Ownereship

f:id:oqrusk:20170930233816p:plain

Micro Service Architectureの導入

  • 一つのマイクロサービスを担当するのは小さなチームになる。
  • 独立チームになるので、裁量が与えられる。
  • プラットフォーム、ミドルウェアの選定も全て任される。
  • テストがシンプルになる。 テストが高速になる。 デプロイも軽量になる。
  • オンボーディングコストが小さくなる。

どうやってマイクロサービスに転向するか。

USではすでに3つのMSが稼働している。今後もどんどん転換していく方針。

  • 導入の背景
    • 既存をこれ以上大きくしたくない。
    • ローカル採用されたエンジニアが歴史的経緯を理解せず開発出来るようにしたい
    • US展開でクライアントのバイナリを分ける話があった
  • 設計
    • API GW: go+ protocol buffer
    • grpcでマイクロサービス化
    • kubernatesでochestration。デプロイも簡単。

モノリスから

f:id:oqrusk:20170930233834p:plain 徐々にマイクロサービスを切り出し f:id:oqrusk:20170930233842p:plain 発展させる f:id:oqrusk:20170930233854p:plain

2. Automation, Karakuri

小さい頃では気合でなんとかなっていたものが、大きくなっては無理になる。 組織も大きくなってくると、個人の頭のなかだけにあるノウハウは足かせにしかならない。

二度以上やったことは自動化の対象。全て自動化していく

気合ではなく、仕組みで解決する方法がKarakuri

からくり : 仕組みによる問題解決

  • 障害を起こした原因がテスト不足だったらUTを増やす。
  • レビューを2回に増やすという運用を追加しても意味がない。

botによる自動化

  • Go Bold Bot
    • 月400回の メルカリのdeployを支える
  • とんこつbot
    • アプリのストア反映をキャッチして通知するBot(手でポーリングしなくて良い)
  • AccountBot
    • 手動でやっていたアカウント作成を自動化した。(DBやVPNのアカウント) Slackで承認ボタンを押すだけで済むようになった。

アプリの e2eテストも自動化:(SETチーム)

f:id:oqrusk:20170930233910p:plain

Karakuriを大事にする風土

f:id:oqrusk:20170930233921p:plain

mercariでは、犯人探しはしない。 問題が起きない仕組みが出来たら、解決したとなる。

責任を取るのではなく、仕組みを作ることで問題を解決する。

3 Progressive

常に足を止めずに良い手法、技術を探求し続ける。 メルカリでは様々な最新技術を試している。

  • ApacheAirflowはOSS化されてすぐにUSのデータアナリストが稼働させた。
  • deployにはspinnakerを検討している。

新しい技術分野

  • AI&machine learning
    • 機械学習をプロダクトに取り入れるため、Project横断組織のチームAIがある。
  • C2C marketing * Blockchain
    • まだ語れないことが多い

f:id:oqrusk:20170930233957p:plain

MachineLearningPlatform:Continuous Training

f:id:oqrusk:20170930234011p:plain

チームには多様性があるため、モデル作成に集中しやすい基盤を整備している。 データの整備やモデル評価などの共通部分を基盤化しており、来年あたりOSS化する目標を持っている。

以上。基調講演のまとめでした。

余談

こちらは戦利品のノベルティーです。 f:id:oqrusk:20170930231149p:plain f:id:oqrusk:20170930231312p:plain 中はどら焼きでした。六本木の名店です。

運営について

素晴らしい運営体制だと感心しました。   Wifiも快適につながり、時間通りに進行して一切トラブルが無く、気持ちよく一日が過ごせました。

特にすごかった点

  1. 時間が完璧。殆どの発表が時間ぴったりに収まっていたこと。
  2. 気配りがすごい。メイン会場での発表のほか、サブ会場では展示会とカフェが併設されていました。サブ会場ではスピーカーへ質問できる場所が設けられていたり、困ることがありませんでした。
  3. お金がかかっている。英語への同時通訳、懇親会の料理、社員エンジニアのスタッフ参加。

初めての大型カンファレンスをこのクオリティでやれるメルカリは改めてすごいと感心しました。