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

未経験からプログラマに、俺はなる!!〜とある東大生の挑戦記〜

院進学予定の東大農学部生がふと思い立ち、10か月でアメリカのプログラマーになるまでの記録(初めての方は左上のリンクから「このブログについて」に飛べます)

引っ越しま〜す

---------------------------------------------------------------------------------------------

勉強するから、何をしたいか分かる。

勉強しないから、何をしたいか分からない。

北野武

---------------------------------------------------------------------------------------------

 だいぶ期間が空いてしまいました汗

引越し先の準備が整ってきたので、リンクを貼ります(リンクはこちら)。

これからはリンク先のwikiにて進捗報告などなどをしていきたいと思います。

wikiはまだ不慣れなことも多いですが。。やはり分類がめちゃ簡単で気持ちいいですね。

お気に入り登録よろしくお願いしますm(_ _)m

WIKIへの引越し

すみません、

やっぱりこのブログめちゃめちゃ見にくいので別のサイトに引っ越します。

現在そちらを準備中です。

少々お待ちください。

 

Launch School備忘録4(Preparatory-Back-Ruby)

---------------------------------------------------------------------------------------

Have nothing in your house that you do not know to be useful, or believe to be beautiful.

ー William Morris

---------------------------------------------------------------------------------------

変数はスコープの大きさで分けて5種類ある。

定数、グローバル変数、クラス変数、ローカル変数、インスタンス変数である。

・定数

全て大文字と_で定義する。

rubyでは再定義も可能だが非推奨。

 

グローバル変数

$をつけて定義する。

アプリ全体で使える(ので危険)。

 

・クラス変数

@@をつけて定義する。

 

インスタンス変数

@をつけて定義する。

 

・ローカル変数

何もつけない。

 

getsは、コンソールで入力を求め、入力をstring型の返り値として返すメソッド。get + string。

gets.chompにすると最後に¥nが付かない(逆にこれを付けないとつく)ので、基本的にはgets.chompを使う。

# say.rb refactored again

def say(words='hello')
  puts words + '.'
end

say()
say("hi")
say("how are you")
say("I'm fine")

で、デフォルト値を設定できる。

この時関数の呼び出しとして、

sayもsay "XX"も有効。かっこなしはすげー

けどsayがローカル変数に見えてくるので注意。

メソッドにより引数の値を変更することを

mutating the caller

と言う。

# Example of a method that modifies its argument permanently
# mutate.rb

a = [1, 2, 3]

def mutate(array)
  array.pop
end

p "Before mutate method: #{a}"
mutate(a)
p "After mutate method: #{a}"

の場合はpopでaから3が抜ける(それはpopメソッドの返り値になってる)のでBeforeは[1,2,3]、Afterは[1,2]になる。

irb(main):001:0> a = [1,2,3]
=> [1, 2, 3]
irb(main):002:0> def mutate(array)
irb(main):003:1> array.pop
irb(main):004:1> end
=> :mutate
irb(main):005:0> p "Before mutate method: #{a}"
"Before mutate method: [1, 2, 3]"
=> "Before mutate method: [1, 2, 3]"
irb(main):006:0> mutate(a)
=> 3
irb(main):007:0> p "After mutate method: #{a}"
"After mutate method: [1, 2]"
=> "After mutate method: [1, 2]"

な感じ。「popメソッドがmutate the caller」しているのが分かる。

 

a = [1, 2, 3]

def no_mutate(array)
  array.last
end

p "Before no_mutate method: #{a}"
no_mutate(a)
p "After no_mutate method: #{a}"

 

これだと変わらない。

lastメソッドはmutate the callerをしないから。

 

Rubyの大きな特徴の1つは、「最後に評価された行の返り値が返り値になる」こと。

You are getting wiser and more confident with Ruby. だって。

自信付いてきてるの前提なのが面白いww

まあ普通の日本語訳にしたら「自信付いてきましたよね?」なんだろうけど、俺が訳すとしたら普通にたぶん彼らは「あなた、自信付いてきてますよ。」って言ってる感覚だと思うww

 

暇つぶし動画。日本語でここまで再生されてる動画ってない気がする。

The Duck Song - YouTube

 

最近無駄な持ち物増えたなって感じること多いです。片付けよう。。

 

〜英語備忘録〜

succinct:簡潔な

 

 

Launch School備忘録3(Preparatory-Back-Ruby)

-------------------------------------------------------------------------------------

最大のリスクは、
リスクのない人生を送るリスクである。
「第8の習慣」より
ー スティーブン・R・コヴィー

-------------------------------------------------------------------------------------

Prepratory Work(Back-end)(11/15)まで来ました。

もう本当に単なる備忘録ですww

あーやってんなーくらいに思っといてくださいww

 

ActiveRecord::Baseとかってのは、ActiveRecord名前空間のBaseクラスを指す。

GitHubのdocumentationにおいて、

::はクラスメソッドであること

#はインスタンスメソッドであることを表す。

これはrubyのコードの中では全く違う意味を表すから注意。

terminalにて。

irbを押すと、rubyのコードがベタ書き出来る。irbrubyについてくる。

.rbファイルはexecutableであり、ruby sample.rbのようにして実行できる。

irbでは戻り値がいちいち出てくるが、ruby sample.rbのように実行した場合、戻り値は出てこない。

rubyistになるには、まずsublime textのtabをspace2つにしないといけない。

ここが若干詰まった。言われた通りpreferenceのsettingで"translate_tabs_to_spaces": trueってしてるのにtabがそのまま入力されつづけたから。

何回sublime textを再起動してもダメでおかしいと思ってたら、普通に保存した先ではspaceになってました。。くっ

はじめに、にて。

プログラミングの本を読んで理解しても、実際に空っぽのエディタを前にして問題を解けと言われて何も出来ないことはよくある。プログラミングは体に覚えさせる必要があるので、excersiseは飛ばしてはいけない。

また今現在、世の中には数多のプログラミング教材がネットに無料で落ちていることを我々はよく知っているが、一方でそれらが非常に初学者を惑わせているのも事実。

launch schoolでは大幅な省略を行い、必要なことを必要な時に教えるので、心配せずについてきなさい。初学者にとって最高の入門書を用意しました。

だそうです。

Rubyにおいて全クラスは何らかの名前空間に属しており、APIのdocの左のClass/Module Indexには、今のクラスが属している名前空間の他のクラスが見えている。

APIのdocにて。

Included Moduleというのは名前の通り、IncludeされたModuleで、そのModuleの機能が今のクラスで使えるというもの

例えば、StringのAPIにはbetweenメソッドは定義されていないが、Comparable ModuleがIncludeされてるので、"cat".between?("ant", "zebra")などができる。(これは辞書順的にtrue)

Rubyでメソッドについて知りたくなったら、APIを見よう!

String:String (Ruby 2.1.2)

 

"RubyGems"には2つの意味がある。

・Gemファイル(ライブラリ)

・Gemファイルを公開する機能(?)のこと。(若干掴みきれてない)

共有自体はRubyGemsでやってる。

Gemのバージョン管理はSemantic Versioningにて行われている。

新しいバージョンが公開されることを「新しいバージョンがcutされた」という。

gem コマンドを使ってgemは使う。

installコマンドと合わせることで、ダウンロードとインストールを同時に行える。

コマンド:
gem install <gem name>

今は少ないからいいけど、経験を積んでくるとどこのプロジェクトにどのgemが使われているか分からなくなる。そういう時はGemfileを使う。(絶対rails turtorialでもprogateでも使ったやつだ)

gemのコマンド類はRubyGems Basics - RubyGems Guidesにまとまってる。

pryは、最近急速に広まってきたirbで使えるgem。

デバッグによく使える。

# preparation.rb
require "pry"

a = [1, 2, 3]
a << 4
binding.pry     # execution will pause here, allowing you to inspect all objects
puts a
みたいにすれば、binding.pryの所で一旦止まってpryセッションがスタートする。
そこで自由に自分の好きなコードを実行できる。
putsよりかは全然使える。

stringについて。

""も''もそんなに変わらないが。。

This is a 'pen.'と書きたいときは、

・ダブルクオテーションを使う

puts "This is a 'pen.'"

・シングルクオテーション+エスケイプを使う。

puts 'This is a ¥'pen.¥''

ダブルクオテーションでは、string interpolationが使える。

irb :001 > a = 'ten'
=> "ten"
irb :002 > "My favorite number is #{a}!"
=> "My favorite number is ten!"

シンボルは、変数の前に:をつけて定義する。

:"surprisingly, this is also a symbol"
これもシンボル。
シンボルは普通何かを参照する(しかし表示も更新も一切する予定がない)時にキーとして使う。(正確ではないが、immutable(unchangable) stringとよく言われる)

 

object.nil?で、objectがnilかを判断できる。

nilの真偽値はfalse。

けど、false == nilはfalse。

to_iでintegerに、to_fでfloat にする。

irb :001 > '4'.to_i
=> 4
irb :002 > '4 hi there'.to_i
=> 4
irb :003 > 'hi there 4'.to_i
=> 0
irb :004 > '4'.to_f
=> 4.0
irb :005 > '4 hi there'.to_f
=> 4.0
irb :006 > 'hi there 4'.to_f
=> 0.0

 まじか。おおお。最初から読み取り始めて数字が続く限り見るのか。

'1 2 hi there'.to_i
=> 1

だったのでそうだろう。(半角スペースで分断)

ハッシュは、キーとデータのペアの集合で、キーは大抵シンボルを使う。

irb :001 > {:dog => 'barks', :cat => 'meows', :pig => 'oinks'}
=> {:dog => 'barks', :cat => 'meows', :pig => 'oinks'}

な感じ。

取り出すときは、

irb :001 > {:dog => 'barks', :cat => 'meows', :pig => 'oinks'}[:cat]
=> "meows"

な感じ。

=>:ハッシュロケット

movies = { jaws: 1975,
           anchorman: 2004,
           man_of_steel: 2013,
           a_beautiful_mind: 2001,
           the_evil_dead: 1981 }

カンマは後ろ!

 

PS:

http://gendai.ismedia.jp/articles/-/50368読みました。

心揺らされますね。こんなことしてる場合じゃないってなる。

んー、でも今はプログラミング頑張るしかないですね!!

 

【英語備忘録】

per se:それ自体で
perk:元気になる、喜ぶ
temperament:気性
time-sink:時間を消費するもの
musical scale:連続した音符のセット
buckle up:シートベルトを締める
snippet:(小さい)一部
sematic:言語やロジックに関連した
pry:詮索する
inquisitive:1. 知りたがり 2. 詮索好きな(悪い意味)
concatenate:(いろんな意味で)一列につなげる
mnemonic:(覚えるのに用いる)連想や語のパターンなど
caveat:危険
brace:かっこ
factorial:階乗

Launch School備忘録2(Preparatory-Back-Git)

git fetchで、remoteでの変更を記録したコミットをブランチごとにダウンロードする。

git diff master origin/master

で、localのmasterブランチとremoteのorigin(=remote repo)のmasterブランチを比較できる。

originとmasterが分かりにくかったけどはっきりした。

originはremote repoのこと。

masterはlocal, remote両方が共通して持つbranchの一つ。

branch群はlocalもremoteも共通して見ている。masterはその中の一つ。

もう登録してあるので、

git pullでpull出来る。

git pull origin masterでも良い。

origin:remote repo、master:(originの)masterブランチ

------

remoteはあるがlocalがない時、git cloneを使う。

git cloneは全ファイル、フォルダ、コミット歴、全ブランチ、その他すべてをローカルにコピーする。

コマンド:

git clone <remote repository url> <local directory name>
localディレクトリはなければ作られる。
remoteのurlは、localのconfigの中でoriginに設定される。

git cloneがよく使われるのは、新しいプロジェクトに参加した時など、remote repoはあるがlocal repoがない時。オープンソース開発に参加する時もまずやるのはこれ。
第二引数は、指定しなければremote repoの名前が自動でつく。
まとめ。
git init:local repoを作る。
git remote add origin <remote url>:既にあるlocal repoに、remoteとして既にあるremote repoを登録する。
git clone <remote url>:localがなくてremote repoがある時、local repoをコピーして作る。
例えば

git clone https://github.com/rails/rails.git

とすれば、railsという名前のディレクトリがlocalに出来る。これはrailsのソース。

SSH keysとname/emailは対応する。
どちらもセキュアなやり取りのpassである。
GitHubの中での説明に、SSH keyの作り方が詳しく載っているので必要な時に読む。
SSHとHTTPが一応対応する。
remoteのurlのやり取りとしては、https://で始まるのがHTTP、始まらないのがSSHである。
とりあえずPreparatory Work(Back-end)のGitはこれでおしまい!
ようやくPreparatory Work(Back-end)の5/15が終わった。。

 

Launch School備忘録〜OFFの方が、ON〜

------------------------------------------------------------------------------------------------

君を幸せに出来るのは、君しかいない。

他の誰でもない、君だけなんだ。

気付くのが早いか遅いか。君はどっちかな?

2ちゃんねらー

------------------------------------------------------------------------------------------------

Launch SchoolのPreparatory Work(Back-end)(5/15)でGitを勉強しました。

備忘録です。

git initを管理下に置きたいディレクトリで行うと、.gitディレクトリが生成される。

もしgit initを間違って行ってしまった場合は、.gitディレクトリを削除すれば良い。

git initを行うと、そのディレクトリをgit管理下における。

/a/b/cがgit管理下にある時、/a/b/c/dをgit管理ディレクトリ(local repo)として新たにgit initを行ってはいけない。/a/b/dを使う。要するにネスト厳禁。

.gitディレクトリは当然そのままじゃ見えず、ls -aとかでしか見られない。

ここにはバージョン管理に必要な内容が全て含まれる。

gitの管理情報は下の場所に保存される。

LocationDescription
/etc/gitconfig Contains settings that are system-wide and apply to all users and all of their repositories.
~/.gitconfig Configuration that is specific to your user account. This file overrides /etc/gitconfig.
<repository>/.git/config Configuration that is specific to a repository. This file overrides both of the other files.

 

/etc/gitconfigはPCレベル

~/.gitconfigはUserレベル

<repository>/.git/configはレポジトリレベルで設定(名前やアドレス)を保存する

 

レポジトリにて touchでファイル.gitignoreを作る。その中に例えばdb/*.sqlite3

とか打っておけば、ギット管理したくない内部ファイルを指定したことになり、自動的にgit管理から弾かれる。データベースなどを管理下から除くのに使う。これをglobalにシステム全体で行うこともできるが、今はこのレポジトリのみに限定する。基本的な考え方は同じ。

 

remote repoとの関係は、originをシンボルとしてremote=originとする。

originシンボルには具体的なurlを設定しておく。

masterブランチの設定内部でremote=originとすることで、localのmasterブランチはoriginに対してpull/pushする。というか、localのmasterブランチがorigin(実質的にremote repo)を追う(trackする)。

コード:
[remote "origin"] url = https://github.com/joesmith2444/my-first-repository.git fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"] remote = origin merge = refs/heads/master

git push -u origin master
:-uフラッグはupstreamを表す。これでoriginはmasterを追う。
つまり、remote=originがこれで設定される。以降はgit pushだけで良い。
GitHubで直接remote repoを編集もできるがこれはもちろん非推奨。
ってな感じです。今日はイマイチ進まなかった。。
あ、George Leonardの
Mastery: The Keys to Success and Long-Term Fulfillmen読み始めました。
Launch Schoolの課題図書なので時間見つけて読んでいきます。
そんなに長くないし、出だしは今のところ結構面白いので近々読み終えたらレビューします。
明日からラボも始まるので、ラボ(8h)の前後でコンスタントに4h勉強していきます!
更新はなるべく頻繁にしていきたいですね。ブログ更新してる時って大体調子いいので笑
それではまた。

今年もあと僅か1か月〜今年と来年とその先と〜

----------------------------------------------------------------------------------------------------
"Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of others' opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition."
----------------------------------------------------------------------------------------------------
昨日ようやくラボで年内最後の僕の担当する大きめの仕事が無事終わりました。
やはり締め切りがあると違いますね。発表の前日3日くらいが結局一番集中して準備が進められました。寝ても起きても、そのことばかり考えてる。そうなると、自然と仕事が進みます。逆にそれまではあんまり進まない。。泣
若干ずれますが、似た話なので(そして本題につながっていくので)語らせて下さい笑

僕は3年生のとき、とあるレポートを提出しないといけないと数ヶ月前に言われていながらも、結局取り掛かったのは締め切りの僅か2日前ということをやったことがあります。当然レポート自体も満足いくものではなく、また締め切りまでの2日間は全然楽しめずに過ごしました。

なぜ自分は物事を「先延ばし」にするんだろう。他の人もそうなのだろうか。僕は疑問に思いました。そういえばと思い出したのが、小学生の夏休みの宿題。僕は親にしつこく言われたおかげで大丈夫でしたが、8月31日に間に合っていない人もいました。ですが、悠々と7月に終わらせている友達もいました。人間の能力はほとんど大差ない。何が違うんだろう?僕はネットで調べました。そして色々ググっているうちに、以下の動画を見つけました。

Tim Urban: Inside the mind of a master procrastinator | TED Talk | TED.com

ご存知、TEDです。「先延ばしにする」は英語で「procrastinate」ですね。「先延ばしにする人」は「procrastinator」です。まさに先延ばしに関して興味のあった僕は、すぐに見てみました。そして、先延ばしに関して、思っていたより大事なことに改めて気付きました。

気付いたこと:

目に見える先延ばしは、多くの人がするが、しない人もいる。若干僕なりの例を交えて例えると、周りにはいつも直前にテスト勉強を始めて間に合わない人やレポートの提出期限を守れない人がいる。逆にいつも余裕を持ってテスト勉強を始めたり、レポートを書き終えて提出する人がいる。

ここまでは良いです。その先です。


表面的に先延ばしをしない人(期限のある目標に対して決して先延ばしにしない人)はそれなりの数いる一方、期限のない目標に関してはほとんど全ての人がprocrastinatorだ。痩せたい、映画監督になりたい、作家になりたい、会社を起こしたいなど、様々な「夢」を我々は持っているが、みんなそれを「先延ばし」にする。そしてその先延ばしは周りには必ずしも先延ばししてるようには「見えない」。なぜなら「期限がない」からだ。期限があれば「テストに落ちる」「単位を落とす」など分かりやすい結果(不幸)が手元に勝手に届く。けれども期限のない目標に関してはそれがない。しかし「人生には期限、締め切りがある」のだ。

================================

いい話ですね。今も書いていてハッとさせられます。
まあこの話を何も感じない方もいらっしゃるでしょう。それはそれで良いです笑
(価値観や感性の問題なので他人がごちゃごちゃ言うべきじゃない)
あ、あともちろん自分のやりたいこと、やるべきことを悔いなくやりきる毎日が過ごせてる人にとっては今更?という話でしょう。
 
さて、前置きが長くなりました。今後1年弱の話をします。
僕は海外で英語が使える高給プログラマーになりたい。
その目標を達成するための方針を、下に書きました。

(【launch schoolカリキュラム再掲】

Preparatory Work(Back-end)(70h)(無料)
Back-end(320h)
Preparatory Work(Front-end)(60h)(無料)
Front-end(475h)
Advanced(500h)
Option(200h)
(僕は80-120hと書かれていたら120hかかることが分かったwので、長い方の時間でまとめました))
 
2016年12月-2017年3月:ラボ(卒業論文)とlaunch schoolを並行して進める。
12月中にPreparatory Work(Back-end)は当然ですが、終えます。
そして1月からは有料コースに申し込んで、バリバリ進めます。
この上の表の他はおそらく復習時間及び多数のイベントの時間を含んでいないので、これよりさらにかかる可能性大です。改めて量多い笑Option除いても1300hとか。
せめて4月に入るまでにBack-endは終わらせておきたい。1日3h平均で100日でも300hなのでギリギリかな。
2017年1月下旬-2月上旬:引っ越し
弟と広めの家に住みます。弟もプログラミグがぼちぼち出来るので適当に教え合いとかしたいですね。海外に行くまでここに住みます。
2017年3月:卒論仕上げに勤しむ
2017年3月31日:東大卒業!(うちのラボは学生最後の日まで実験をする先輩も多くいる、熱心なラボです。そして例外は許されません笑ノーコメントです。)
2017年4月-7月:毎日9-10時間生活の全てをlaunch schoolに捧げる。4月からはもうラボもないのでストイックにlaunch schoolを進めていきます。
1日平均9hできるとして、120日で1080hですね。これくらいでようやく終わると思います。きっつ笑けど院進した同期や商社やコンサル、日本の様々なITベンチャーに就職した東大同期がグングン成長していくのを想像したら、その焦りでやれそうな気がします。てかやります。ブログは毎日更新したいですね。日本語かは分かりませんが。。(launch schoolのコミュニティで目立つには英語の方が良いかな?)
後半は職探しも並行していきます。特にBack-endが終わってからはlaunch schoolの中の人と連携して、アメリカのIT企業でプログラマーとして就職を目指します。$75k/年欲しいけど無理なら安くてもいいです。それより学びのある環境の方がいいかな。学びのある環境だとすぐに給料上がるっていうし。そして厳しそうならアメリカ以外の英語圏も検討します。どうせ世界放浪したかったし、労働ビザが下りないとかなったらヨーロッパでもシンガポールでもカナダでもどこでもいいので、探します。
 
2017年8月-:launch schoolの中の人と連携をとりつつ、同様に就活を進めます。8月中に就職先を決めたいですね。必要なら(多分必要)GitHubオープンソース開発してるプロジェクトに積極的にコミットします。するとその企業での僕の価値がぐっと高まるそうです。まあ詳しくは僕もまだ分かってないのでわかり次第。。
 

とまあこんな感じです。見事に4月からは無職ですね笑

失敗した時のことは考えてないので、やるしかないです。

明日からlaunch schoolやりまーす。それではまた。

 
 
 
 
 
 
 
 
 
Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma - which is living with the results of other people's thinking. Don't let the noise of others' opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. Steve Jobs
Read more at: https://www.brainyquote.com/quotes/topics/topic_time.html

すみません。来週の土曜まで、ほとんど進捗出そうにないです

------------------------------------------------------------------------------------------

"Imagination means nothing without doing."

ー Charlie Chaplin

------------------------------------------------------------------------------------------

情けない報告ですみません。来週の土曜(12/3)まで、ほとんど進捗出そうにないです。

今度の金曜(12/2)にちょっとした準備の必要な年内最後の大きなラボの仕事があるので、今週はそれにかかりきりになると思います。

昨日まではLaunch Schoolをがっつりやってしまっていたので中々頭が戻らないのですが、ラボの生物系の論文を読まなければ(そして資料を作らなければ)いけないので、そちらに頭を戻していきます。

元々僕は「頭の切り替え」というのがとても苦手で、一つのことを考え始めたら数日単位で中々他のことを考えることができません。。泣

そして、切り替えの際にはとても苦痛を伴います笑

これはもう昔からなので半ば諦めております。

今日は頭の切り替えに使って行きたいと思います。

 

話は変わりますが、来年の進路について最近よく考えていました。

そして、一つの結論が出そうです。

それも土曜日以降に書きたいと思います。

 

改めてこのブログの役割について少し。

まずこのブログは、自分の進捗管理の側面もとても大きいです。(そういうことにしました笑)(PVはとても少ないながらも)常に見られること(見てくれる方がいること)を意識することで、先延ばしにしがちな勉強を強制的に進めるツールとして使いたいです。

またPVは少なくても記事は残るので、あとあとプログラミングを勉強しようとする後輩がこのブログを見返して、少しでも為になるものを残せたらと思います。

具体的には、「この人の場合はこの量の勉強量をこのくらいのペースでやったのか。じゃあ自分はこのくらいで出来るだろう。」「この教材の後にこれをやったのか。じゃあ自分もその通りやってみよう」

などと、時間や教材の順番の目安にしてもらえたらなと思います。

その時に、「なんだこの人、こんなに少ない量にこんなに時間かかってるのか。遅すぎだろおいwwww」というように未来の後輩に笑われないよう、彼らの目を意識しながら頑張りたいと思います。

「日本人が独学でプログラミングを勉強して、未経験からいきなり海外企業にプログラマとして(それなりの待遇で?笑)就職するには」というジャンルはまだ全くと言っていいほど開発されていないと思います。

確かにいくつか「海外就職したぜ」というブログはあるかも知れませんけど、それは大体が社会人プログラマ経験のある人だと思います。その意味では「全く別の職種についている人がエンジニアとして海外就職するには」というジャンルの方がよく当てはまるかもしれませんね。僕も大学でプログラミングを教わった経験はほぼゼロですし。

僕も他の人も必ず上手くいくとは限りませんが、世の中広い(はず)なので、アメリカに限らずシンガポールでもカナダでもオーストラリアでもいいから、「英語を使えるエンジニアになりたい」という枠で探せば何か道はあるはず。。。!と、確信は持てないながらも自分なりに大きな夢と不安を抱いております。

 

英語ができるようになれば。

あとは技術力さえつけていけば後からでもアメリカにも行けるはずですしね。

 

というわけで今日からは頭を一旦生物系の方にグッと戻したいと思うので、しばらくは投稿できなくなると思います。(コメントには返信します。。!しばしお待ちを。。)

日本の英語教育はここがおかしい〜とある東大生の思うこと〜

日本の英語教育について、自身がこれから海外を志向するにあたってちょっと思うことがあるので短めに書いておきたいと思います。

〜英語歴〜

・英語に初めて触れたのは中学生になってから

・県立の中高で英語を学ぶ

・上京して1年間の浪人中に、河合塾で英語を学ぶ。(多読に出会う)

・東大前期教養で軽く英語の授業

です。

〜今の実力〜

英語版ドラえもんは2-3割くらいしか分からない

FRIENDSとかは2%くらいしか分からない

・生物系の論文やハリーポッター原著は普通に読める

TOEFL iBT 90/120点

くらいです。

〜思うこと〜

・僕をはじめとして英語みんな出来なさすぎ。

・英語ができれば本当に世界が広がると思うけど、見て見ぬ振りしてる

・英語さえ満足に出来れば、アメリカでも中国でもインドでもシンガポールでもロシアでもドイツでもフランスでも世界中ほぼどこへでも行って働ける。

・別に行かなきゃいけないわけじゃないし日本がやっぱり素晴らしいと思うけど、選択肢が一気に増える。人生の早めの一時期、海外に長期で行くっていうのはやっぱりいいことだと思う。(理由は省略)

 

〜細かく〜

東大生でも満足に英語の出来る(特に聞ける喋れる)人なんてほとんどいません。この状況を見る限り、他の大学もそんなに変わらないでしょう。でも文章の問題を出されたら、みんな普通に辞書引きながら読めるとは思います。問題は「音」に対する弱さです。さらに「音」って言っても、実は喋れない方はそんな問題じゃない。聞く力の方がよっぽど大事で、話す力は聞く力の後につければいいと思います。特にいわゆるホワイトカラーな職業に就く人は、日本語でまずしゃべれるようになるのが先だと思います。

 

聞く力の方が大事だと思う理由(大事):世の英語コンテンツ(コメディにしても大統領演説にしても)の英語は、こちらに合わせてくれない。アメリカ人や英語の堪能なヨーロッパ人、中国人向けの英語を、僕らは彼らと同じ土俵(スピード、語彙)で聞いて理解しなきゃいけない。けど僕ら日本人が話すときは、英語に堪能な聞き手がレベルを合わせてくれる。あんまり下手だとダメだけど、相手も少しはこちらを理解しようと努めてくれる

意見のある人はコメントください笑

追記:加えて本当の英語の「音」に対する感覚が鋭くなれば、自分の話す英語の「音」に対しても敏感になると思います。多分ですけど、そうなればきっとすぐに話せるようになると思うんですよね。自分で喋ってて、「あ、今の発音おかしかったな」って分かるのと、ネイティブに英会話教室で指摘されて初めて気付くのでは効率にものすごい差がでてきます。英語の音ってちゃんと聞いてみるとカタカナと全然違うんですよね。。

脱線しますが、ここでrとl(など)の発音について。聞き分けは難しいし、僕もまだ全然完全じゃないです。日本語でそれらを区別してないのでそれは仕方ない。とはいえ英語では両者を明確に区別する以上、区別は必須なはずです。これは忘れがちですが、「ネイティブじゃないから発音は正確じゃなくてもいい。日本人なんだから」とかそういうレベルじゃないです。だってraceとlaceは、batとbutは、全く違う単語なんですから。これを区別できないのは、"訛り以前の問題"だと思います。まあ僕も区別できないのであれですが。。笑

そして、この話も、聞く力の方が重要であることを示す例の1つになるだと思います。

若干繰り返しになりますが。

我々が喋るとき。曖昧な発音をしても、彼らはそれがrかlか瞬時に判断してくれます。

彼らは語彙がはるかに豊富なので、「今のはrに聞こえたけど実際はlだろう。だって文脈的にもそうだけど、そこの音がrの語はないから」っていう考え方ができます。

我々が聞くとき。rかlのどちらか聞き取った音で脳内検索をかけても出てこなかった場合、「聞き取った音が間違っているのだろうか。それともそういう語があるのか。」迷います。これは負担です。語彙が少ない分、音を聞き誤っちゃいけないんです。

どうすればいいかっていうと、リスニングの勉強をするときにとにかく注意を払う。英語の音に対する感覚を磨く。これしかないと思います。発音の練習は、聞き分けられるようになってからだと思います。だって、自分がちゃんと発音できてるか分からないんだから。

〜解決案〜

その前に。

まず根本的に日本って英語が下手になりやすい環境だと思うんですよね。

日本語だけで満足いく生活送れるし。すぐ翻訳も手に入るし。

けどその環境でも、「その気になれば英語コンテンツを楽々消費できるぜ」って人口を増やすには。。って考えると、手っ取り早いのはこれかなって思いました。あ、決定ってわけじゃないです。もっといい案があったら全然乗り換えますw

案:高校、大学受験での英語の試験で、

・リスニングの配点を50-60%くらいに引き上げる

・リスンングはアメリカ英語やインド英語など、早くはなくても繋がった聞き取りにくい英語。

・リスニングの語彙と文法は抑え目

・紛らわしい発音の語彙聞き分けテストも20%分くらい

今の英語教育の何が特に良くないと思うかっていうと、

・雰囲気:頑張って英語風に読むと、周りから「ダサい」と思われる

・カタカナの弊害:英語を頭の中でカタカナに変換しちゃう。すると実際の音を聞く努力を放棄しがち。もしカタカナがなかったら日本語は貧困になるかもしれないけど、英語力は上がると思う

・師匠:先生も英語力ない。文法マニア、減点マニア。

・音の軽視:英語をまるで数学のように学んでいる(音の存在を忘れたかのよう)

・文法の異常な重視:ピリオドやカンマ忘れただけで減点されたのはいい思い出

とかだと思うんですよね。

雰囲気、カタカナの弊害、師匠は現実問題どうしようもない。

なので大切なのは、「適切な評価基準を外部から与える」ことだと思います。

それはつまり、受験を変えるということです。

結局は高校、大学入試で音が軽視されてるから、音を軽視した教育がされると思うんです。

確かに今でもリスニングは導入されてますけど、割合が小さい。

それに中身も、ゆっくりとした難しい英語を聞くタイプのリスニングです。

そういう難しい話は筆記でやればいい。

早いペースで話されると、カタカナ英語ではどうしようもありません。

中学時代、僕は英語の成績はそんなに悪くなかったと思いますが、リスニングに割いた時間は文法などに割いた時間の50分の1くらいだったと思います。

これが半々くらいだったら。今の僕の苦労はかなり減ったんじゃないでしょうか。

「語彙や文法は分からないけど、音は分かる」っていう状態こそが、英語学習における初期段階で身につけるべき土台なのではないでしょうか。

語彙や文法は大人になってからでも身につきますし、若いうちにやってもそのあとやらなければ忘れます。英語の音に対する感覚や注意深さは中高生の間に学ぶべきだった。そう感じます。

 

お気付きの点ありましたらコメントください!!!

 

〜追記〜

割と適当な気持ちで書いた記事だったのですが、書き終えて気付きました。

結局の問題の起点は、「実際の世界で使われている英語の音を何も知らないくせに、僕らは英語が出来る気になってしまいがちなこと」です。言い換えると、「『(英語がかなり読めるようになってきたので)よっしゃ、アニメでも見てみるか』と思って見てみても、何を勉強してきたんだと思うくらい理解できないこと」です。

 

英語教師の英語力

何割の先生がankleとuncleを区別できるでしょうか。全く違う単語の聞き分け、発音分けが出来ないのに英語を教えるというのは、かなり危険だと思います。

 

音声教育

音は言語を構成する非常に大きな一部です。

文法や語彙など、そんなのは後からやればいい。

小学校からやるかどうかなどは、まずはどのような英語教育をすべきかを決めてからです。今の中学英語をそのまま小学校にスライドさせてもダメだと思います。

そして今思う「良い」教育というのは「単語とその音の対応から始める」「音に注意して学ぶ習慣づけから始める」教育です。リス二ング偏重教育ですね。

「音と単語の対応」さえ確立すれば、あとは文法や語彙を学べば学ぶだけ、リーディング力だけじゃなく、リスニング力も同じくらいについていくはずです。現状、語彙が増えてもリーディング力しかつきません。これはとても残念なことだと思います。

批判ばかりでも仕方ないので、教育法について少し考えてみました。

 

教育例

まずイラストと、そのイラストに対応した単語を書いた、絵本を配ります。イラストは、イカやタコでも、犬でも構いません。全ての単語には発音記号が大きく書いてあります。

出てくる単語の中には、音が紛らわしい単語もたくさん混ぜておきます。

そして、教室で絵本の音声をテープで流します。

子供達には音をよーーく聞き取るように言います。言語と思わず、音楽と思うくらい。家でも聞いてきてもらいます。

ここで一通り聞かせた後に本当は子供に発音させ、それを教師が矯正できるのがベストだと思いますが、それができる教師というのは極稀でしょう。なのでそれはやめて、教師は発音方法の口の形などを描いたパネルなどを使って、発音の技術的な方法を教えます。

そして、テストでは積極的に紛らわしい音(carveやcurveなど)の聞き分けテストをします。

問題用紙にはA. carve(kˈɚːv) B. curve(kάɚv) のように印刷しておき、どちらが発音されたかを選択します。意味を知らなくても、発音記号でそれがどちらの語であるかを聞き分けられるようにします。各発音記号ごとの音をいきなり辞書的に教わるのは苦痛でしかないと思うので、単語を学習していく中で出てくるたびに説明して、自然に覚えていくくらいが丁度いいでしょう。

イメージとしてはもはや音楽のスパルタレッスンに近いかもしれません。音符が発音記号です。どの音が聞こえたかを、音符を選んで回答します。

そして、この手のA or B問題をひたすらやります。生徒たちは発音(と記号)に、今とは比べ物にならないほどの注意を向けるようになるはずです。

その上で、"Hello"とか"This is a pen"、"My name is Mike"など、いつもの英語をやります。

子供達は得るものが違うはずです。リスニング偏重授業は続けます。

この先の文法に関しては、教師の得意とするところでしょう。さすがに耳だけで言語を習得できるほどの学習時間は他の科目との兼ね合いもあって取れないでしょうから、文法は全く否定しません。大切なツールだと思います。

 

当然ですが、今の英語教師も素晴らしいと思います。

多感な時期を過ごす中高生を相手にすると考えるとそれだけで僕は参ってしまいます。そんな彼らに英語を教えるというのは本当にすごいことです。文法の教え方も確立されており、素直にすごいと思います。

ですが、その上であえて意見させていただいた、ということですね。

 

こんなのどうでしょうか!?!?

 

書いていてこれが本当に機能するかとても試してみたくなりました。誰か塾でやってくれないかなー?笑

誰もやらないならいつか僕が塾開いてやってみたいな。

Launch Schoolについて〜記事書くだけで朝の勉強時間がなくなったYO!泣〜

----------------------------------------------------------------------------------------------------

Failure will never overtake me if my determination to succeed is strong enough.
ー Og Mandino

----------------------------------------------------------------------------------------------------

Launch Schoolについて

・月額199ドル。Preparatoryは無料。

大きく分けて下のフェーズがあり、基本的には上から順にやっていく。

・Preparatory

・Programming & Back-end

・Front-end

・Advanced

・Carrer Services

・Capstone Mentoring (Optinal)

 

 

 今Preparatoryの9. Our Curriculumをやっているのですが、いい説明があるので原文ママ抜粋します。

(流石に翻訳はしませんw辞書ひいて読んでください。)

 

・Preparatory

The first course, which you're in now, is meant to give you a high level overview of what Launch School is about and what web application development is. Courses after the Preparatory phase are supported by teaching assistants and instructors, and require an active subscription.

  • Orientation (you're in this one now)
  • Programming & Back-end Prep
  • Front-end Prep

・Programming & Back-end

By the end of this phase, you'll be competitive for some jobs, like QA tester or other jobs that requires light programming ability. You'll also have a much deeper understanding of web development and significantly improve your problem solving ability.

  • solving non-trivial puzzles and exercises with a programming language
  • HTTP
  • relational databases and SQL
  • web development

・Front-end

By the end of this phase, you'll have a good grasp of HTML, CSS and JavaScript as well as how professional front-end developers deal with modern client-side MVC applications. After completing both the Programming & Back-end and Front-end phases, you will be competitive for entry-level full-stack jobs. The Advanced phase is not mandatory, but once again, the best jobs will require that you know what's covered in the Advanced courses.

・Advanced

You'll have to pass a final assessment, which covers topics from both Programming & Back-end and Front-end phases, to enter the Advanced phase.

 

・Career Services

After the Advanced Phase, we have a "Career Services" where we do what we can to point you to referrals or contacts we have, and give you some spot advice here and there as you need it. By this point, you should be pretty confident technically, and can likely qualify for a job from a technical perspective. There's no additional fees or cost here, and it's part of our normal sequence, and we'll help however we can.After the Advanced Phase, we have a "Career Services" where we do what we can to point you to referrals or contacts we have, and give you some spot advice here and there as you need it. By this point, you should be pretty confident technically, and can likely qualify for a job from a technical perspective. There's no additional fees or cost here, and it's part of our normal sequence, and we'll help however we can.

 

ここがある意味すごい。徹底的な就職支援してくれるそうです。高給な職に限定して就職率100%。1on1のミーティング無料で無制限。

・Capstone Mentoring (Optinal)

The Capstone Mentoring program is an optional and final phase for students who have completed all our courses and passed all the assessments. The goal of the Capstone Mentoring program is to provide a full-service program that aims to prepare students for the top jobs in the industry to start their career as a software engineer.

This is where we can guarantee job placement, because by that point we'll have known you very well, and understand your boundaries and capabilities. We'll pour our resources into packaging you into the best possible candidate, and will dedicate a ton of 1on1 time with you. We're going to do this without asking for any upfront cost, and will essentially be losing money on you -- but we're thinking of it as an investment in you. The idea here is that working with you in this intense 1on1 manner will allow you to acquire not just any job, but the top jobs that you otherwise may not be able to get on your own, resulting in higher pay or better work environment or improved career growth, etc.(この辺読むとテンション上がってやばい!!!!)(目安最低年収$7.5k〜)

 

しかし。。

 

Admittance to this phase requires passing a final assessment. We have a 100% job placement guarantee and this is currently only available to US residents.

 

ん?

 

currently only available to US residents.

 

Noooooooooooo!!!!

 

アメリカ住民に限るってぇーーーー

 

でも最後に。

 

(exceptions may apply for exceptional students)

(例外は、あります。)

 

これにかけるしかない。。。!!

 

あれ、これもしかして、、日本語でLaunch School褒める記事書いてそれをアピールしたら通るとかないかな?wwwないかwww

 

とりあえず交渉してみたいと思います。英語でブログ書いてアピールの方がむしろいいのかな?わからん。。てかもしかして、100% job placement guaranteeがアメリカ人に限るってこと。。?Capstone mentoringは僕も受けられる?そうかも!絶対そうだ。そうに違いない(白目)

というか、多分日本人でこのプログラム終えた人まだいない。

 

"launch school ブートキャンプ”でググると僕の記事が3番目に出てくるし。(2016年11月22日午前9時現在)

 

f:id:a_tetsuo:20161122091036p:plain

僕を試しに日本人のサンプルとして使ってくれたら、後から来る日本人リクルートの手伝いするよ!!とかダメかな。。

 

んー、とりあえず以上です!(やべー最後のonly available to US residents今気づいたよ。。まじかよ)

 

追記

音声にもたくさん情報があるのですが、そこでLaunch Schoolは主に高度なBack-endエンジニアとして転職することを想定して作られているとあります。知識的にはFront-endもやれるのですが、より高度な知識が要求されるBack-endになれればその後は自由で何にでもなれるようです。ただDesinerとかProject Managerとかは別の知識がいるそうで、それは別で学んで欲しいそうです。

Entrepreneurも非推奨だそうです。ここまでの知識はいらないので、起業家向けのもっと軽いITの知識および資金集めや投資家へのプレゼン、ビジネスモデルの組み立て方などなど起業家向けの知識が学べるITブートキャンプ(確かに僕もそれは見つけました)があるので、そちらで学んでくださいということです。

僕はこの部分が若干気になったのですが笑、やっぱり技術の基本知らないとどうしようもないじゃんと思うのでLaunch Schoolで一度はゴリゴリチマチマやっておきたいと思っています。それに起業系のブートキャンプはアメリカ中で確かに見つかったのですが、期間、コストでいうとそれぞれ数週間〜十数週間で数千ドル〜数万ドルします。

英語に不慣れな僕がいきなり行って、その短い期間を有意義に使いきれるのでしょうか。。?無理だと思います。

まだ大学もありますし、月額199ドルでオンラインで学べるプロ向けプログラミング学習英語コンテンツがあるなら今はそれに没頭しておくのがベストかなと思います。

体験談ですが、これを聞いたらある意味留学に行くのよりもよっぽどいいと思いました。

<聞いた体験談>

留学しても(日本人が日本語を学ぶにあたって一度はやってたように)自分で語彙力をつける努力をしないと、結局は「大人と話せる英語圏の小〜中学生レベル」の人にしかなれない。それで買い物を始めとして普通の生活を送るためのコミュニケーションがとれてしまうので、それ以上の英語力は意識しないと付かない。

</聞いた体験談>

それならじっくりプログラミングを勉強しながら、プログラミング周りの語彙を蓄積していった方がためになりそうです。実際の講演じゃ無理でも、動画ならいつでもストップして辞書も引けますし。

Launch Schoolをやっていて感じるのは、英語でこんな量の文章を本気で読み聞きしたことないなということです。起業系のブートキャンプに行くにしても、そうやって英語力を一定レベルまで上げたうえで行く方がよっぽど合理的だと思いました。

そもそもですが、まずはアメリカに行って腰を据えてから次のことがしたいです。憧れの国ではあるのですが、東大も昔は憧れでしたし、高校も入るまでは憧れでした。本当に想像通りの憧れの国なのか。。現実と外から見た実態は違うことが多いと思います。なので、まずは行って実際の雰囲気を感じてきたいですね!!

rails tutorialを終えて〜見えてきた希望の光〜

------------------------------------------------------------------------------------

"Happiness is not by chance, but by choice."

ーJim Rohn

------------------------------------------------------------------------------------

rails tutorialを終えて、早2日が経ちました。

今は朝晩の時間を使って、Launch Schoolが本当にやる価値のあるものなのか、自分に合っているのか調べるため、Orientation部分を行っています。

Launch Schoolの特徴はいっぺんにあげるともちろんキリがなく、読者も僕も、そして僕が辛いのでやめます。

特に今後はLaunch Schoolに関しての記事が増えてくると思います。

内容はとにかく多いです。

無料部分だけで学習時間にして130時間分を提供するサービスですからねw

なので全体の構成を近々まとめて、ブログではその中での進捗を報告する形にしていきたいです。

現状としては、Orientationの8. Frequently Asked Questionsのところまで終わりました。

Orientationではまず業界におけるプログラマーの分類から始まります。

今のSoftware developer業界情報をきちんと説明した上で、Launch Schoolを終えると何が身につくのか、何が身につかないのか、何になれるのか、何になれないのか、どういう心構えでやるべきなのか、などなどがずーーーーーっと説明されます。

Orientationの中には11項目あるのですが、11項目すべてにまず文章がブラウザで1〜3スクロール分くらいあります。そして半分以上の項目において、その内容を詳しく説明した30〜60分のムービーがあります笑

これを僕は一言一句逃さず聞いて理解したいなと思いました。

そのために75%の速度で視聴し、分からないところがあったら3秒戻しで聞くという方法で進めています。

正直めちゃめちゃ疲れます笑

でも英語自体はとても分かりやすく、75%の速さで集中してればそんなに戻る必要はありません。しかしたまに分からない単語を使っていて、そういう時は音を頼りにググってます。ramp upって初めて聞きました。「増やす」って意味らしいです。increaseやincrementと同じ感じかな?lamp upでググってしまったのは秘密です。

 

まだ頭が日本語なのですが、最近はラボでの人との会話も少なく(笑)比較的頭を「英語脳」にしやすい環境なんじゃないかと思います。

あ、ここでいう英語脳というのは、浪人時代に僕が「英語を毎日勉強して」「人との会話もほとんどせず」「電車での移動中は英語のリスニングをして日本語を聞かないようにする」というストイックに英語を集中して勉強していた数日間の後半で一時的に到達した(気のした)、英語が異常に聞き取れるようになった状態の頭のことです笑笑

1日でも英語をサボると元に戻ります。

とにかく分量が多いのですが、Launch Schoolは月199ドルと他のブートキャンプに比べて格安なので頑張ってラボと並行して進めて行きたいと思います!!

まだ無料な部分しかやっていないので、ゆっくり行きます〜〜

コメントへの返信(to: id:mooooooooooriiiiiiさん)

コメント欄からの投稿がなぜかうまくいかないので簡易記事としてお返事します。

-----------------------------------------------------------------------------------

>と思い読み進めてみましたが、まだまだ基礎が足りてませんでした

そうでしたか><
僕も実は、確かに最後はprogate⇨rails tutorialという順番で「railsの最初の壁」を乗り越えられたと思っているのですが、それ以前には語られていない「本を買ってやってみては挫折」ということを繰り返した過去があります。
その過程で身についた断片的な知識とprogateの力を総動員したら、rails tutorialもすんなり終えられたかなという感じです。
なので、確かにprogate⇨rails tutorialが必ずしも誰にとってもスムーズなステップではないのかも知れません。。すみません。
僕もrailsマスターの方法論についてはとても興味があるので、何か進展があったら教えていただければ幸いです!

rails tutorialの第11,12章(英語版)の復習が終わりました〜その後の予定〜

------------------------------------------------------------------------------------------------

"Be a Game Changer. The world has enough followers." ー unknown

------------------------------------------------------------------------------------------------

rails tutorial第11,12章の英語版の復習が終わりました。英語版だと日本語版の11,12章の内容は13,14章に載っているので、これを読みました。

今回もやはり英語版でも問題なく読めました。これは僕の英語力の問題というよりは、rails tutorialの英語があまりに完成されているせいだと思います。

おそらく英語を母語話者としない人も読むことを十分に想定して書いているのでしょう。スラングなど一切出てこず、読みやすさそのものです。

内容も2周目なのでスラスラと頭に入ってきて、「何も見ないで使えと言われたら無理だけど、このコードのこの部分を説明してと言われたら説明できる」くらいにはなったと思います。

演習は全部飛ばしました。理由としては

・回答は何かしらrails tutorailにまつわるもの(本や動画など)を購入しないと見られない。

・本文にほぼ必要な(現状必要と思われる)内容は全て書いてある。

などが挙げられます。

12章終えてですが、個人的には「railsに対する初歩の初歩の壁」は乗り越えられたんじゃないかなと思っています。

別の言葉で言えば、「この先何でrailsを学ぶにしても、その内容を上に積むだけの土台はできたんじゃないかな」と今は感じています。

まあもちろん内部構造に関して全くわかってない部分も多いので、そこを突かれると辛いのですが。。笑

さて今後の予定です。

先日は12月中にアメリカの良さそうなITブートキャンプを探して、1月に申し込むとブログで書きました。

今もそれでいいと思っています。

一方でtutorialの最後には、この先の勉強方法について幾つかの提案がなされていました。

その中でもrails tutorialの著者がお勧めしていた

launchschool.comに、実は今かなり強く惹かれています。笑

詳細は中身を読んでください。

かなり基礎の基礎から教えてくれるようで、プログラマとして本気でやっていきたい人は実はみんな必須になるようなことが学べるようです。

 

残念なくらい色々迷い中ですが。。。笑

迷い切って、進路を決めたいと思います!

遅ればせながらの自己紹介〜とある大学生の場合〜

"The starting point of all achievement is desire."

Napoleon Hill

-------------------------------------------------------------------------------------------------

 自己紹介を詳細に書き直しました。

プロフィールの欄から見られますが、転載して記事にもしておきたいと思います。

------以下引用(一部改変)---------------------------------------------------------------

東京大学農学部4年生です。

生命科学(Life Science)を学びたくて、農学部に進学しました。

生命科学と言っても広いですし、いろんな学部があります。

農学部にした理由は、

工学部の生物系は、農学部に比べたらバラエティは少ないだろう。やはり工学部の中心は電気系や機械系な気がする。色んな分野から選べる選択肢を残しておきたい。

理学部の生物系は、農学部に比べたら基礎的すぎるだろう。応用がやりたい。なるべく直接的に社会の役に立つことがしたい。

などです。

 

振り返ってみると僕は、いわゆる生命系の優良営利企業がやるようなことをやっていると期待して農学部に進学していました。

けれども大学は、営利企業でもなければ必ずしも優良ではありませんでした。

研究室で見た生物系研究室の現実は、「(能力に比べて)低収入」「長時間労働」「(農学部とはいえ大学的な)基礎研究」に勤しむ先輩学生、研究員達の姿でした。

 

主観です。

この主観は、客観的事実とはきっと異なるのでしょう。

 

でも僕は思いました。

「これは違う。これじゃない。」

僕の中で生じた疑念はラボ生活を続けるうちに膨れ上がり、遂に進路を考え直すことにしました。

研究室の空気の中で給料の話や労働時間の話なんてタブーです。

一人で、また外部と相談しつつ考えて、決めました。

ストレートで進学するのは、やめます。

東大農学部の大学院には受かりましたが、蹴って他の進路に進む予定です。

今すぐ生命系の研究者にならなくていいじゃないか。

30歳までに稼いで、この分野に別の形で戻ってきてやる。

そう思いました。

ですがこの時、時は既に10月。

「やばい。来年の進路、決まってない。」

 

あまり迷いはありませんでした。
そうだ、プログラマーになろう。

実はもともとプログラミングには興味があり、大学2年生から約1年半の間、プログラマーとしてバイトをしていました。

今の目標は来年度、たとえニートの期間ができても、アメリカのITブートキャンプに行くことです。

「東大の新卒の切符を捨てるのか。もったいないかな」

確かにそうも思って、悩んでいました。

そんな時、あるニュースが飛び込んできました。

東大卒で電通に入った女性が、入社1年目の12月に過労で自殺したそうです。

しかも2015年と、直近の出来事でした。

それが話題になったのがちょうど今年2016年の10月頃。

「東大の新卒の切符の価値って、思ってるほど大したことないのでは?」

そう思いました。

だって、それをまさに行使して電通という「エリート」企業に入った人が、その年のうちに自殺しているのです。

 

確かに、彼女は特別運が悪かったのかもしれません。

東大を出て普通に就職して幸せに生きてる人の方が大多数でしょう。

 

ですが、このニュースを聞いて、、

 

僕の未練は、なくなりました。



このブログを始めたのは、

・そんな風に進路に迷う自分の軌跡を残すため、思考を整理するため。

・また、東大生という肩書きを捨て、これから社会と「自分の名前」で付き合っていくにあたって、その窓口とするため

そういう理由で始めました。

 
結果を出さなければ、口だけです。

 

ただ「研究生活に耐えられそうになかったから」「就活して社会人として働いていく気概も実力もなかったから」あいつはアメリカなんかに行こうと夢見てるんだろう、どうせ行けないだろうけど。

 

そう思われても、今の段階では仕方がないと思います。

口だけになりたくないです。絶対に。

まずはアメリカITブートキャンプに行って、ボロボロになるまで修行してきたいと思います!!(最低限、海外の日系企業に就職くらいはしたいです。)

railsチュートリアル第10章の復習が終わりました〜来年の進路〜

“Just because you're too scared to take any risks doesn't mean the rest of us should be.”
― Cammie McGovern, Say What You Will

-------------------------------------------------------------------------------------------

railsチュートリアル第10章の復習が終わりました。

前回の記事で述べた通り、今回は英語で復習をしてみました。

感想としては、意外とすんなり読めるなぁという感じです。とても読みやすい文章で驚きました。センター英語よりちょっと難しいくらいで、ほぼ辞書を引かずに読むことができます。

突然ですが、来年の進路についてです。

実はまだ決まっていません。。

予定として流石に立てないとまずいのかなと思い始めたので、青写真だけここに書いておきたいと思います。少し長くなります。。

予定(たくさん脱線します。申し訳ありません。。)

【注意:以下の文章に「事実」であるかのように記述されている内容は、ITブートキャンプに関する情報を中心に全て日本語ソースで探してきたものに基づいています。従って裏付けが確実でないものも多いため、以下に書かれている内容を鵜呑みにしないで、本当かな?と思ったところは自分で調べて下さい。僕も英語ソースの(なるべく一次)情報をこれから調べて確かめていこうと思います。今の段階ではまだ全て予想です。もし間違っている内容があったら教えていただければ幸いです。確かなのは、「僕の考えではこうなっている」ということだけです。】

予定!来年は何としてもアメリカに行きます。

手段として有力候補だと思っているのが、アメリカの ITブートキャンプです。

アメリカではいまプログラマがとても不足しているそうです。

ただ、だからと言ってプログラミングを教えられる人がそう公教育機関にたくさんいるわけでもありません。

そこで主に非正規の教育機関として、ITブートキャンプなるものが全米に次々と出来てきているようです。

このITブートキャンプは理念としては、「様々なバックグラウンドの人を受け入れて、中堅プログラマまで一気に仕上げる機関」だそうです。

雨後の竹の子のようにたくさん出来てきてるらしく、粗悪なところから優良なところまで様々あるようです。

コースも数日から数ヶ月、一年まで、値段も無料のところから百万円を越すものまであります。

無料はどうしてかというと、コース終了とともに就職が義務付けられ、かつ就職先の初年収の10%を支払うのを前提としているから、などの仕組みを取り入れているからだそうです。就職先がなかったら返金するというプログラムもありますね。

アメリカに行きたい。プログラミングを学びたい。この二つの欲求を一気に叶えてくれる方法は、他にも幾つかあります。

・(大学を卒業後に、)アメリカの大学の情報科学系の大学に学士編入する。大学生を続けるということなので、楽。

・海外進出している日本企業のプログラマ枠に応募する。労働ビザとか面倒なことは企業が手伝ってくれるので、楽。

などです。ただ、どうしても"刺激"がITブートキャンプに比べて劣る気がします。

なのでまずは色んなサイトを見てどのITブートキャンプに行くかをまず決めて、そして応募したいと思います。12月中にリサーチを終えて、1月には応募したいですね。

英語文献で色んなサイトを調べるって結構大変です。。

っていうかこれ、エージェント業成り立ちそうですね笑

日本人を適切なブートキャンプに送って、ブートキャンプから紹介料をもらう。誰かやってくれないかなー笑

それではまた。