オンラインでコンピュータサイエンス、プログラミングを学べるRecursion。
前回の記事で、その創業者である田島慎也さんにインタビューさせていただきました。
意外とやんちゃした幼少期とか、ノープランで渡米とか、Recursionの結成秘話とか。
根掘り葉掘り聞いちゃって、かなり面白かったです。
そして、今回はJeffry Alvaradoさんに、インタビュー。
Jeffryさんって、Discordの右上の方にいつもいらっしゃるんですけど、ちょっと秘密のベールに包まれている存在でした(私の勝手なイメージ)
インタビューしてみると、とても丁寧に答えてもらえて優しかった。
しかもその才能がすごい!
(2021年1月追記)
JeffryさんFacebookに合格したそうです。本物のGAFAの人ですね。
【拡散希望..】
— Shinya / CS学習サイトRecursion (@shinya_cal) January 28, 2021
皆さんにお知らせがあります。
この度、RecursionのCo-Founder兼CTO(@jalva_dev)が幾度の面接を経てreferralなしでFacebook本社に合格しました!!
Recursionはこれから「Facebookエンジニアが教える、コンピュータサイエンス学習プラットフォーム」になります。#RecursionCS pic.twitter.com/Rt8mEUrtRd
コンピュータサイエンス歴10年ということなんですけど、それって中学生ってことですもんね。
私、中学生のころ何してたかな?
夢の中だったかも。
- プログラミング学習Recursionの中の人へインタビュー
- コンピュータサイエンスに興味を持つきっかけとは?
- コンピュータサイエンスの知識を活かして仕事を得る大学時代
- 毎日複数の言語を華麗に使いこなす
- 日本にもコンピュータサイエンスを広めたい!その思いで立ち上げたRecursion
- Recursionのユーザーを応援しています
- まとめ
プログラミング学習Recursionの中の人へインタビュー
Jeffryさんはまだ25歳。若い!
ちゃちゃっとコンテンツ作ったり、多言語操ったりする才能の持ち主なんです。
バイリンガルじゃなくて、トリリンガルじゃなくて、その更に上は何て言うの?
とにかくすごい人!←語彙力!
気になっていたことをいろいろ質問しちゃいました。
Jeffry Alvaradoさん|Recursionの最高技術責任者
まずは、簡単に自己紹介をお願いします。
Jeffry Alvaradoさん(以下Jeffry):
Jeffryと申します。
Recursionのco-founderで、ソフトウェア開発とカリキュラムの担当です。
その他にも、ソフト開発のコンサルティングをいくつか請け負ったりしています。
でも今は、Recursionを集中的に取り組んでいます。
--Jeffryさん、出身はどちらなんですか?
家族はラテンアメリカ出身ですが、カリフォルニアで育ちました。
母国語はスペイン語で、英語、日本語、韓国語を使えます。
--韓国語まで!トリリンガルじゃなくて、クワド…え~っと何かな?とにかくすごいですね。語学をマスターするコツってありますか?
Jeffry:
そうですね、楽しみながら勉強することでしょうか。
日本語を勉強し始めた時、まず色んな教材を使って基本を学びました。
その後は、楽しい教材を探します。
- 漢字や文法については、ゲームや面白い本
- 聞き取りは、アニメや音楽
といった感じで、楽しく勉強していました。
幸い、ロサンゼルスに日本人が結構居たので、日本人の友達と会話して実際に話せるようになりました。
でも日本語の難しい会話はまだまだですね。
聞き取れない言葉もあるし、考えることをそのまま表現することも難しいです。
ただ読み書きは結構得意なんです。
日本の映画やアニメは、日本語の字幕があまりないのが残念ですね。
--いつもDiscordの右上にいらして、質問への回答も早くて驚きます。ちゃんと睡眠とれてますか?一日どれくらい作業に当てられてるんでしょうか。
Jeffry:
ちゃんと睡眠とれてますよ。
作業時間は、1日12時間ぐらいです。
夢中になるとずっと続けてしまうこともありますけど、集中がすぐ切れてしまうこともあります。
最近は2相睡眠を試しています。悪くはないかもしれません。
--どんな学生時代を過ごしましたか?
Jeffry:
高校生の時は、本当に勉強熱心でしたね。成績も良かったです。
学校の勉強をしっかりしながら、空いた時間に自分が好きな物を勉強していました。
当時は、JRPGのゲームやアニメが好きだったので、どうせ遊んで一息入れるなら、それを材料として使って勉強する方が一石二鳥と思って頑張りました。
そのお蔭で高校時代から日本語もプログラミングもいっぱい勉強しました。
--JRPGですか!日本のロールプレイングゲームのことですよね。どんなゲームが好きだったんですか?私が子供のころはドラゴンクエストが大人気でしたよ。
Jeffry:
小さい頃は、ポケモンでよく遊んでいました。
中学はFinal Fantasyとキングダムハーツです。
高校の時は、PSPのゲームを材料として日本語を学んでいたので、他にも色々試しました。
「牧場物語」は特に好きでしたね。
残念ながらドラゴンクエストはアメリカであんまり人気がなくて…。
その他はNintendo, Capcom, Konamiのゲームが好きでした。
--遊びながらも勉強につなげる点がすごいです。日本人が英語を学ぶ時にも、ゲームを使うと楽しく学べそうですね。Discordを使ってユーザーの質問に答えるとき、漢字も書いていらっしゃいますよね。漢字はどうやっておぼえたんですか?
Jeffry:
漢字の勉強でよく世話になったのは、jisho.orgというウェブアプリでした(当時classic.jisho.orgの見た目)。
いつかは、あれぐらい役に立つソフトウェアを開発できるようになりたいなと、当時思っていましたね。
それが、日本語もプログラミングも頑張るモチベーションになりました。
-- ShinyaさんからJeffryさんはアニメが好きと伺いました。具体的にどんなアニメが好きですか?好きなキャラクターがいれば教えてください。
Jeffry:
そうですね。夢中になりすぎた時期もありました。
基本的には、軽い内容で笑わせてくれるアニメが好きです。あんまり真面目なアニメは好きじゃないですね。
アニメを見るのは、一息つきたい時が多いです。
一番好きなアニメはone punch man。
アメリカで特に人気のアニメで、私も繰り返し見ました。
コンピュータサイエンスに興味を持つきっかけとは?
--CS歴10年とのことですが、始めたきっかけは何でしょうか。
Jeffry:
最初のきっかけは、コンピュータゲームでした。
デスクトップがやっと人気になった時代に育ったのですが、当時、回りの人達のパソコン関連の手助けをしていました。
中学生の時初めて自作PCを作ったのですが、その頃は正直、ゲーム機、パソコンのハードウェアやソフトウェアを、いろいろいじっていて、ちょっとHacker気取りでした。
友達みんなでそういった話で盛り上がっていました。オタク、でしょうか…。
パソコン修理の店もいっぱいあったのですが、そこに行って相談するのは恥ずかしかったです。「簡単だし、多分自分で出来る」と思っていたから。
インターネットで調べて自作しました。
当時、自作PCのために使った金額は、200~300ドルぐらいだったと思います。
中古パーツばかりでしたので、性能は全然でした。
今はもう必ず、最新のPCパーツを手に入れることを最優先にしています。
入手しにくいパーツは、知り合いの伝手を頼って手に入れています。
仕事や趣味がパソコンそのものなので、最新のパーツを使って性能を上げることは、何より重要なことなんです。
でもPC自作は、実はそんなに大したことではないんですよ。
ちょっと調べて勉強すれば誰でも出来る物なんです。
パーツは作りやすいように作られていて、回路から自作というわけではありませんから。
私の弟はまだ11才ですが、自分のPCを自分で作っています。
日本の子供たちも、もっとPC自作したり、raspberry piやArduinoで遊ぶべきだと思います。とても楽しいですよ。
--弟くんもすでに優秀…小さい頃からゲームやパソコンに触れていたことが、コンピュータサイエンスの道へ進むきっかけになったのですね。
Jeffry:
高校生の時にはゲームクラブに入ったのですが、そのクラブの顧問の先生が、プログラミングを生徒に紹介したんです。
学校の案内もあって、高校二年生の時、放課後の時間を使って大学のCS講座を受けました。
大学の講座を高校の時に合格すると、単位クレジットとしてカウントされます。
大学に入る前にもう、コンピューターサイエンスを学ぶ前提で行動していました。
コンピュータサイエンスの知識を活かして仕事を得る大学時代
--コンピュータサイエンスで最初に収入を得たのはいつごろでしょうか?
Jeffry:
2013年頃には、大学でコンピューターサイエンス(CS)を学びながら、IT関連の仕事を始めました。
事務のような仕事もあったのですが、CSで学んだ知識をどこでも使ったんです。
CSの知識を利用すると、いろいろな場面で業務の効率化を進めることができます。
例えば、データ入力の作業をExcelの関数ツールを利用して早く仕事をしたり、物理的なファイルの整理をQuicksortというソートアルゴリズムで整理してみたり。
CS専攻ということもあって、マーケティングのフロントエンド開発の仕事を受けおったこともあります。
電池の会社ではSoftware Engineerとして、初めて本当の意味での開発を経験しました。
まずは、その会社のやり方を見て、業務内容効率化、自動化できるところを提案します。
- データ分析
- 各領域のデータを地図上で表示
- 6-Stepのやりとりをサーバーで2-Stepで済むようにする
といった感じです。
この会社では複数のシステムを作り上げることができました。
ただ、その中にものすごく苦戦したシステムがありました。
自分の無力さを実感してすごく悔しかったのを覚えています。
その悔しさをバネに、さらにたくさんの教科書や参考書を読みこんで、CSをかなり深く追求して勉強しました。
大きなプロジェクトを1から開発する経験をすると、価値観がもうすべて変わるという印象が強く残っています。
毎日複数の言語を華麗に使いこなす
--Jeffryさんが扱えるプログラミング言語ってどのくらいありますか?
Jeffry:
C++, C#, Java, Python, PHP, Javascript, Go, Scheme, & Haskell. JetBrainsというIDE会社のAll Products Packはもう必須です。
毎日複数の言語を使っています。
その中で一番好きなのは「Haskell」。
ただHaskellを使って大きなソフトウェアを開発するのは大変です。
最近リリースされたPHP7.4もお気に入りですね。
型付きプロパティという機能があって、データ型を指定できるんです。
想定外のミスを防ぐことができ、安心して開発が出来ます。
Laravelと組み合わせれば、かなり良いバックエンドができます。
Laravelは、PHPで記述されたWebフレームワークの一つ。
いい感じで色んなデザインパターンを守る上、変数や関数の名前はまるで英語の文章を書いているみたいです。
--初学者の定番の質問と言えば、最初に始めるならどの言語がいいのかということだと思いますが、実際どれから始めるのがいいでしょうか。
Jeffry:
最初に始めるなら、そしてCS基準で勉強するならPythonがお薦めです。
また、ウェブアプリ関連で開発したい場合はJavascriptもいいですね。
Recursionでは、C++、Java、Javascript、PHP、Pythonの5つを学ぶことができるようになっていて、最初はPythonかJavascriptで始めましょうと案内しています。
ただ、多くのユーザーはある程度コンテンツを進めると、複数の言語でチャレンジし始めています。
コンピュータサイエンスにおいて、言語の種類と言うのはあまり関係ないからかもしれません。
--Recursionはどんな言語を使って開発したんですか?
Jeffry:
Javascript, Python, PHP 7.4, C++, Javaなどを使っています。
- フロントエンドやアニメションはJS
- バックエンドはPHP 7.4でLaravelフレームワーク
といった感じで、複数の言語を組み合わせて開発しています。
またRecursionでは、ユーザー同士が質問したり、おしゃべりしたりできるDiscordを取り入れています。
その開発や、その他のモジュールではPythonも使っています。
日本にもコンピュータサイエンスを広めたい!その思いで立ち上げたRecursion
画像引用:Recursion | コンピュータサイエンスを基礎から学べるプラットフォーム
--Shinyaさんと出会ったとき、どんな印象でしたか。
Jeffry:
Shinyaは、出会ってすぐ友達になりそうだなと思いました。
お互い文化が全然違うので、毎回話す内容は面白かったです。
何回もカルチャーショックを受けたこともありましたが。
Shinyaのインタビュー記事にも書いてありましたが、Recursionを立ち上げる前から、グループとして仕事を請け負っていました。
その頃から印象に残っているのは、Shinyaの実行力と決断の早さです。
これは、会社を立ち上げるときには、必須の条件ですよね。
友人としても、ビジネスパートナーとしても非常に信頼のおける人物です。
--Recursionを作った理由を教えてください。
Jeffry:
日本にコンピューターサイエンスを広げたいと思ったからです。
もっと多くの次世代なソフトウェアを開発し、発展してほしいと願っています。
これからの未来は、ソフトウェアがどんどん世界を回していくようになるはず。
例えば最近では、学び方もどんどん変化してきています。
教科書中心だった時代はやがて終わり、ソフトウェアを使った学びへと発展していくでしょう。
そのための、ツールが今はどんどん開発されていますね。
コンピュータサイエンスは、ある程度基本を学ぶと、色んな事に応用できるようになります。
この知識があれば、さまざまな分野のソフトウェア開発に役立てることができます。
ゲームで言えば、装備をしっかり揃えて冒険の旅に出るようなもの。
Recursionでは、そのお手伝いができるようにしたいと考えています。
便利で身につけやすいプラットフォームと、コンピューターサイエンスの全てをまとめて提供します。
Recursionのユーザーを応援しています
--ユーザーのみなさんへ一言お願いします。
Jeffry:
Recursionでは、コンピュータサイエンスとソフトウェア開発に関しての知識をしっかりと身につけることができるプラットフォームを提供していきます。
それによって、ユーザーのみなさんを、コンピュータサイエンスとソフトウェア開発の分野で大きく成長させたいと望んでいます。
努力して、学んで、アウトプットすることで本当の意味で世界で通用するエンジニアへ。
私はユーザーのみなさんが活躍する未来を信じて、全力でサポートさせていただきます。
ともに頑張っていきましょう!
まとめ
RecursionのCTO(最高技術責任者)である、Jeffryさんにインタビューさせていただきました。
日本が大好きで、日本のアニメやゲームにも造詣が深いJeffryさん。
YouTubeでは日本語ペラペラで解説されてます。
未経験駆け出しエンジニアが実務に入るまでに習得すべきスキルは?【Q&A】
中学生でパソコン自作したり、4か国語操ったり、すごい才能の持ち主でした。
Recursionは、ソフトウェアエンジニアとして実際に活躍するJeffryさんのアドバイスをもらえるのも魅力。
とても丁寧に解説していただいて、わかりやすいんです。
私自身は、まったくの初心者からプログラミングを学び始めたんですけど、JeffryさんやShinyaさんが丁寧に教えてくれるので、かなり成長できたなと思います。
check!➡Recursion初めて4か月!初心者主婦がGAFAのプログラミング問題を解いたよ!
開発者から直々に教えてもらえるなんて、そんなオンライン学習サービス他にはないんじゃないかな。
Recursionはこちらから↓
シンプルライフなブログがたくさん
応援クリックいただけると泣いて喜びます