DC4

TOEIC200点台だった僕が600点になるまでにやったこと。

先日3ヶ月間の英語留学が終了しました。

無事目標としていたTOEIC600点を達成する事ができたので、これまでの勉強を振り返ろうと思います。

英語学習を始めた理由

自分は昔からずーっと英語から逃げ続けてきたので勉強開始時の英語力は、中学生以下のレベルでした。

新卒からエンジニアとして働き始め、英語の必要性を常々感じてはいましたが、具体的な勉強は特にやっていませんでした。

当時在籍していた会社でTOEICを受ける事になり、人生で初めて受けたところ、250点くらいでした。

TOEICは4択形式で990点満点です。全部Aで回答しても確率的には同じくらいの点数が取れるので、実質0点ですね。

今後もエンジニアを続けていくに辺り、このままではマズいのでは…?と思ったのが学習を始めたキッカケです。

目標

勉強開始時に漠然と設定した目標は以下のようなものでした。

  • 開発に関連する英語の記事やドキュメントが読めるようになること。
  • GitHubやStackOverflow等で海外の開発者とコミュニケーションがとれるようになること。
  • コンテキストが解っている状態で英語で会話ができること。

ですが、どれくらい勉強すれば上記を満たせるのか解らなかったので、 こちらの記事で「英会話、英文解釈などのスタートライン」と書かれていたTOEIC600点を数値目標にすることにしました。

TOEIC600点レベルに届く最短勉強法(TOEIC600点への道)

やったこと

単語さえ読めればなんとかなるんじゃないのかなーと思い、しばらくは通勤時間にiKnowを使って単語だけを勉強していました。

200時間くらいやった辺から少し変化が感じられ、 以前は英語ドキュメントを見つけるとすぐさまGoogle翻訳を開いていたのですが、 知っている単語を拾いながら読める事が少しずつ増えてきました。

ですが、ある日GitHub上に公開されているライブラリのバグを踏んでしまい、修正後した後にプルリクを出そうとしたのですが、そこで完全にフリーズしてしまいました。

この経験から単語だけではこれ以上先に踏み込めないんだなーということを痛感し、文法の勉強を開始する事にしました。

最初に着手したのはこの本でした。

  • くもんの中学英文法―中学1?3年 基礎から受験まで (スーパーステップ)

中学時代に英語をちゃんとやっていた人ならきっとスラスラ読めると思うのですが.... この時点の私は「三単現のs」さえよく理解できておらず、全然進みませんでした...。

なので以下の書籍に変更しました。

  • ひとつずつ すこしずつ ホントにわかる 中1英語
  • ひとつずつ すこしずつ ホントにわかる 中2英語
  • ひとつずつ すこしずつ ホントにわかる 中3英語

名前の通りとても丁寧で解りやすかったです。

その後、少しだけ詳細に説明されている以下の書籍を読みました。

  • 基本にカエル英語の本 英文法入門 レベル1
  • 基本にカエル英語の本 英文法入門 レベル2
  • 基本にカエル英語の本 英文法入門 レベル3

このタイミングでくもんに再度チャレンジしたところ、スラスラと読むことができました。

その後、理解度の確認&復習するために以下のドリルを2周しました。

  • 【「話せる」ための音声(MP3)DLプレゼント付】 Mr. Evine の中学英文法を修了するドリル (Mr. Evine シリーズ)

中学英文法については大体理解できたと感じていたのでオンライン上で受けられるCASECという試験を受けた所、 TOEIC換算で340点という結果でした。

現実はとても厳しかったです。

この時点で勉強開始から1年以上が経過しており、英語へのモチベーションが途切れそうになっていました。

このタイミングで諦めてしまっては次はないと感じ、色々タイミングが重なったこともあり、会社を辞めてセブへ語学留学することにしました。

セブ島留学

セブは英語留学のメッカと言われるだけあって、たくさんの語学学校があります。 色々サイトを見て探し、良さそうな学校をいくつかピックアップして、留学先を決める前に一度現地訪問することにしました。

フィリピンへ下見に行った。 その1 - こころんだより。

留学中は平均1日/10Hくらいやってました。 今まで開発以外の勉強を長時間するという習慣がなかったので、最初の2週間はとてもきつかったです。

カリキュラムの内容については書くことが出来ないので割愛します。 カリキュラム以外では Rebuild: 122: The Metal Is Dead (tenderlove) のTranscriptを印刷して読んだりしていました。

留学1ヶ月目で受けたTOEICが前回から全然変わっておらず、かなり追い込まれながら勉強していたのですが、

留学2ヶ月目のTOEICでようやく変化が現れ、600点越えを達成する事ができました。

あとフィリピンのTOEIC試験環境は日本に比べるとかなりハードモードです...。

自分が受けた際は以下の様なことがありました。

  • 自分の席が用意されてない。
  • 試験開始が2時間以上遅れる。
  • リスニング音源が音割れしている。
  • リスニングパート中に平気でスタッフがドアの開け閉めをする。
  • 年に一度の盛大なお祭りの日と重なっているにも関わらず、試験日は変更されない。パレードの音がすごい。

まとめ

Rebuild: 125: Toothbrush Can Be Exciting (N, naan) の中で

「日本人で普通に中学、高校と行けば6年間は学ぶ訳ですからね...」

という発言があります。

その貴重な期間を無駄にしてしまった僕は、聞く度に「うわーーーーーー!!!!」と叫びながら枕に顔を突っ伏したくなる衝動に駆られていました。

きっと同じような心境の人は他にも居るのではないでしょうか。

ですが、今回の経験からお金と時間を使えば大人になってもその期間の勉強を取り戻すことが、少なくともTOEICの数字上では可能だという事がわかりました。

学年別TOEIC平均スコアは何点?(高校・高専・大学・大学院)

そしてTOEIC600点を取ったら目標にしてた項目は達成できたのか?という点なのですが、 まだまだ全然足りていないです。 当初に比べると遥かにマシになりましたが、英語坂、まだまだ遠いです...。

今後

今まではTOIECを題材に勉強を行っていたのですが、3月の受験でTOIECからは一度離れよう思います。

その後は技術系の分野と上手く繋げながらの勉強法を模索していきたいと考えています。

おすすめの方法等がありましたら是非教えて下さい。

それでは。

2015年を振り返る。

あけましておめでとうございます。

本来なら振り返っている場合ではないのだけど、
せっかく毎年やっているので今年も振り返ることしました。

Ruby

昨年から引き続きRubyをメインで書いていました。

yasun.hatenablog.jp

yasun.hatenablog.jp

400日くらい休まずコード書いた。

yasun.hatenablog.jp

留学するまで毎日コードを書いてました。

まさかここまで続くとは自分でも思っていなかったです。

Webサービス

今年もネタ的なやつから、

yasun.hatenablog.jp

yasun.hatenablog.jp

実用的なサービスまで色々作りました。

yasun.hatenablog.jp

特にSttendは気合入れて開発したつもりです。
一人で作るのは大変でしたが、学びが多かったです。

ふとももは突貫工事で作ったにもかかわらず瞬間的なPVがSttendより遥かに多く複雑な気持ちになりました。

色々な言語を入門しては放置した。

かなり迷走していました。

色々手を出してみましたが、継続して書いてるのはGoだけです。

ISUCON。

yasun.hatenablog.jp

予選敗退(またもや)。

Backbone.js / Marionette.js なお仕事。

1~2ヶ月程度ですが、jsメインなお仕事を初めて経験しました。

光から闇まで学びが多かったです。

英語と向き合うことにした。

英語を本腰を入れて学ぶことを決めました。

それについての詳細は後でまとめようと思っているので割愛します。

現在フィリピンのセブ島へ移住し、英語留学中です。

毎日暑いです。

退職した。

上記を理由に約4年お世話になった会社を退職しました。

本当に多くの事を学ぶことができました。感謝。

結婚した。

結婚して無職になって海外へ行こう!と申し出を快諾し、

夫より先に海外で就職をしてしまうアグレッシブな奥さんに感謝です。

まとめ。

技術勉強とサービス開発についてバランスよく活動できたと思っています。 技術の勉強と同じくらいにサービスを作る事も好きなので、 今後もこのバランスを大切にしたいです。

去年の今頃からキャリアについて悩むことが多かったのですが、 その結果がまさか異国で年を越すとは思ってもいませんでした。

今年やりたいこと。

仕事と英語学習を両立できる環境を作る。

英語学校を2月中旬に卒業予定なので、3月中頃からお仕事を再開する予定です。 しばらくセブ島に居る予定なのでリモート可能な仕事を中心に探す予定です。

仕事をしながら学校に通ったりと継続して英語学習を行える環境を作りたいと考えています。

もし仕事が見つからなければ、異国でヒモというよくわからない状況になってしまいます...。

深掘りしてみる。

前職で求められていたポジションと、新しい事を学習するチャンスが多かったので、 インフラからフロントまで色々な分野を広く経験することができた一年でした。

一方で、特定の分野を深掘りするという事が少なかったなと感じてます。 来年は特定の分野に集中してしっかり深掘りしてみるのもいいのかなと考えています。

WEBサービス開発している会社/スタートアップにジョインする。

イケてるサービス作りたいです。

今年もよろしくお願いします。

ISUCON5に参加した。

前回

今回も言語はGoを選択しました。

やったこと

開始直後はとりあえずアプリを動作させて、仕様を把握。

その後はツール系の準備やnginxのアクセスログの調整とかをしました。

  • GoAccess
  • htop
  • dstat

前回参加時はGoを全然使ったことがない状態でしたが、 最近バッチ処理を書いたりする際に使用していたので実装を読んだり、クエリをexplainしたりしてました。

感想

前回はミドルウェアやDBのチューニングがスコアを左右し、アプリケーションはシンプルな印象でしたが、 今回はアプリケーションがやや複雑で実装に手を入れなければスコアが伸びないように感じました。

自分のGo経験値が低いので読む事はできるのですが、気の利いた実装がとっさにできなくてもどかしさを感じました。

手に馴染む言語*1の重要性を改めて感じました。

諸事情により来年は出れるか分かりませんが、またリベンジしたいです。

1年間毎日コード書いた。

365日を達成したので振り返り。

エビデンス

f:id:Yasun:20150823181327p:plain f:id:Yasun:20150823181333p:plain

始めたキッカケ

1年前に仕事でRubyを扱う事になり、プライベートでの勉強時間を毎日作るためのキッカケ作りとして始めました。

主にやっていた内容

前半

中盤

後半

全期間

  • その時話題だったり興味があったりした言語、ライブラリ等のハンズオン

継続するために工夫した事

やることを常にメモしておく

PC立ち上げて今日は何をやろうかと考えるのはかなり時間を消費しました。

毎日それをやるのはしんどいのでネット上で興味を持った技術記事等を常に草メモへストックしておきました。

やる時間を決める

日々の業務もあるので、時間を作ることに一番苦労しました。

やる時間をルール化しておくことで、少し強引にでも時間を作り続けることが必要でした。

毎朝のゴミ捨てとおなじ感覚でできるよう、日々の生活の中に組み込むことを心がけました。

感想

全然やる気がない日も当然あって、そんな日でも「とりあえず何かコミットして寝るか」という気持ちでコードを書いているといつのまにかやる気が復活していました。

「やらないとやる気は出ない」ってのは本当でした。

始めた理由にも書いたキッカケ作りとしてはとても有効だと思います。

ただ、旅行中とかお酒飲んだ日とかは結構キツかったです。

得たこと

やる前まではここまで続けられると思っていませんでしたが、 やってみると継続することがそこまで苦痛ではなく、自分の新たな一面を見つけることが出来ました。

B3スポーツユーザ向けのWEBサービスをリリースしました。

f:id:Yasun:20150509172133p:plain

この度、B3スポーツユーザ向けのWEBサービスSttend 」をリリースしました。

Sttend?

Sttend

SttendはB3スポーツを楽しむ人に向けて作成した、スポットを中心にユーザー間のつながりを促進するためのWebサービスです。

作った背景

私自身もB3スポーツユーザーです。
B3スポーツに限ったことではありませんが、一人でやるよりも複数人でやった方が当然楽しいです。
ですが人口が少ない競技であることも影響してか、同じ競技のコミニティに出会う確率は中々低いのが現状です。

私自身も環境が変わった際に近辺にどのようなスポットが存在し、どれくらいの人が居て、どの競技が人気なのかといった情報を得ることが難しかったため、暫く足が遠のいてしまいました。

私の場合は運良く同じ競技のコミニティと出会い、 再びB3スポーツを楽しむ事が出来ましたが、同じような状況の人が他にも居るのではないかと考えました。

そこで過去の自分が欲しかったサービスを作成することにしました。

期間

業務終了後の時間と休日で作成して約5ヶ月程かかりました。
アイディア出しや、デザイン作業等の時間が予想以上にかかりました・・・。 放置期間や、RubyRails学習時間もあるので次回はもっと早く作れると思います。

Rails、Ruby関係で最近読んだ本まとめ。

開発着手までにやったこと

サービスを作る際はゆーすけべーさんの実装までにする7つの企画作業を参考にさせて頂いてます。 今回のサービスですと

哲学は スケートは一人で滑るより、複数人で滑った方が圧倒的に楽しい。

イデアとして

  • 全国のスポットが検索できる。
  • スポットに参加予定を書き込める。
  • フォローしているユーザーの参加状況がわかる。
  • フォローしているスポットの参加状況がわかる。 ... etc

といった形で7項目をそれぞれ考えて随時見なおしていました。
この項目に従ってサービスを考えるのはとても考えやすかったです。

Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ (Software Design plus)

その他にも

をCacooで作成しました。 あまり書きすぎるとメンテナンスしたくなくなるので程々を心がけました。

使っている技術

とよくある構成です。

タスク管理はGithubのissueとEvernoteでやっています。

当初はホスティングにHerokuを使用するつもりでしたが、前から気になっていたSqaleを使用しました。
いまどき Rails で何かつくるなら、VPS より Sqale(スケール)だと思うの

気になることがあり何度か問い合わせメールを送ったのですが、全て1日程で返信して頂けて満足です。 日本語で問い合わせが出来るメリットは大きいですね。

学んだこと

使用しているライブラリの修正

今回使用したJSライブラリにいくつかの不具合があり、それに気がつくまでかなり消耗しました・・・。
使用していたライブラリがGithub上に合ったのでせっかくなのでプルリクを投げた所、あっさりと取り込んで頂けました。
OSSにプルリクを出すことは敷居の高いことだと感じていたのですが、今後も気がついた点は積極的に上げていこうと思いました。

モチベーションの維持

正直やる気がでない日もありました。
そんな中でモチベーション維持に利用したのはGithubLongest streak (草活動)でした。
その時興味ある事や勉強中の何かをGithubへコミットしてSttendの開発作業開始、という習慣を作ることで モチベーションが上がらなくともTermを立ち上げるきっかけとなりました。

個人的な体感ですと勢いでなんとかなる期間は1ヶ月が限度だと感じました。 それ以上の期間が必要な場合はモチベーションを維持させる作戦が必要だと思います。

細かく動かすことが重要

実際に動作する物があるとモチベーションが上がります。 テストを書いてとりあえず動くものを作り、細部を検討してリファクタ。
のサイクルを心がけました。

今後の課題

Homeのデザインが不評なのと実際に想定している使い方(予定の作成)まで辿り着いている方が少ないのでHomeページのリニューアルを予定しています。
ユーザー検索機能の追加等も検討中です。
ユーザーに想定した行動をしてもらうのは中々難しいです...。

おわりに

実はこのサービス、2年前程に一度作成しようとしたのですが挫折しました。 今回のリベンジが成功して本当に良かったです。

一人でWebサービスをリリースするのはやることが多く大変でしたがその分学べることも多かったです。

現在B3スポーツをやっている方、またはこれからやってみようとお考えの方が居ましたら是非一度お試しください!

Sttend バグ報告や改善要望など頂けると助かります。