できる人に聞くことが大切!ユーザー数100万人のサービスを運営する起業家が語ったプログラミング習得のポイントとは【イベントレポート】イベントレポートできる人に聞くことが大切!ユーザー数100万人のサービスを運営する起業家が語ったプログラミング習得のポイントとは【イベントレポート】2015年5月に開催した「テックアカデミーキャンプ」の初日に行った対談のレポート記事。株式会社Lang-8の代表取締役である喜洋洋氏をお迎えしてプログラミング習得のポイントをお話しいただきました。ポイントは人に聞くことだそうです。[テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。TechAcademyでは、2015年5月に「テックアカデミーキャンプ」として1ヶ月間でプログラミングを習得するコースを開催しました。このコースの初日に行った特別対談の様子をまとめたレポート記事です。この対談では、株式会社Lang-8の代表取締役である喜洋洋氏をゲストとしてお迎えし、TechAcademyを運営するキラメックス株式会社の村田がモデレーターをつとめました。exchangeを行う。帰国後、お互いに母語を教えあう語学学習サービスLang-8の制作を始め、大学卒業と共に起業。現在200国以上にユーザーを誇る。その後2年間かけて独学でプログラミングを学び、現在はサーバー管理、開発も行う。2006年4月、楽天株式会社に入社。開発本部にてポータル事業のシステム構築・運用を担当。その後システムの調達、交渉、契約などシステムインテグレーションに従事。2008年4月、楽天株式会社を退社。2009年2月、キラメックス株式会社を設立し、代表取締役社長に就任。喜洋洋氏のプログラミングと起業まずは対談の前に、喜氏のからプログラミングの勉強を始めた経緯をお話しいただきました。本記事では、喜氏が話した言葉をそのまま記事にしています。起業した当初から運営してした、Lang-8(ランゲート)では、開発を担当していた共同創業者が半年ほどで会社を去ってしまいました。当時でもユーザー数は10万人を越えるほどいて、課金ユーザーもいたのにも関わらず急に1人だけになってしまったわけです。プログラマーと円滑なコミュニケーションが取れるのではないかと考え、プログラミングの勉強を始めてみました。あとは、自分がプログラミングをできれば、生きていけるだけの利益を出してサイトを運営していくことは可能という結論に至りましたね。サーバーへのログイン方法やバックアップの取り方などから学び始めました。全て学ぶ必要があたので、複数の本で多角的に勉強しました。他にやったこととしては、知人の会社で無償インターンをしたことがあります。インターンとして働くことで、複数人での開発方法などが学べました。WordPressなど、オープンソースの自分の興味のあるコードを読むコードリーディングの理解につながりましたね。その後人も増えて、現在運営しているHiNativeとLang-8は、僕とデザイナー、エンジニアの3人で運営しています。今はプログラミングの仕組みが理解できているので、エンジニアと円滑なコミュニケーションが取れるようになっています。これからプログラミングを勉強するみなさんへのおすすめは、達成目標を決めて勉強することです。Webサービスを作るために勉強しないといけないことは沢山ありますが、目標を決めるとやることが明確になります。僕の場合は、サーバーをなんとか管理できるようになった頃に、バグを起こしても動いてるコードを読んで修正できることを目標にしました。ゼロから作るほど難しくなかったので、当時の自分には良い訓練になりました。これを繰り返していくうちに、簡単な機能追加も徐々にできるようになりましたね。入門と謳っていても、実際に読んでみるとそうではないものがたくさんあります。環境があれば身近な人に聞くという手段もあるので、つまずいても諦めないでください。会場からの質問を受け付けて対談ここからは、モデレーターの村田が会場から質問を募集する形で対談しています。一番は人に聞くこと(村田)ちょうど、僕の地元の京都にLang-8のオフィスがあったので遊びに行ったことを覚えています。当時はほんとうにサーバーに囲まれてましたね(笑)(喜)サーバーが落ちるのが怖くて、3時間以上寝れない日が続いてました。(村田)サーバーの勉強はとっつきづらい分野だと思うんですが、わからない時はどうしていたのでしょうか?(喜)最初は「いざとなったら頼る人リスト」みたいのを作ってましたね。勉強するので毎回聞くのは申し訳ないんですけど、本当にサーバーが止まってどうしようもなくなったら、教えてもらってました。あとは、やっぱりググったりとか本を読んだりとかですね。(喜)一番は人に聞くことで、その時いた優秀なエンジニアのアルバイトに、時給よりもかなり高いお金を払って1ヶ月くらい家庭教師してもらったこともあります。プログラミングって最初は概念の理解が難しくて、それを独学でやると余計な時間がかかると今になって思うので、概念やよく使うツール、ちょっとした書き方はできる人から学ぶのが一番効率がいいですね。(村田)どんな形の家庭教師だったんですか?(喜)週1〜2回でRailsを学んで、わからないコードがあれば一行ずつ細かく教えてもらってました。(村田)それで理解できるようになったんですね。プログラミングという武器を得て何か変わったことはありますか?(喜)まずは、採用時にちゃんと判断できるようになりましたね。あとは、エンジニアの方に仕事をお願いするときも、以前はビジネスの優先順位しかわからなくて、技術的な難易度はわかりませんでした。今は、ビジネスにおける優先順位と技術的な難易度を比較できるよになりました。エンジニアと関わるときも役立つということですね。サービスに目を向けると、もともと運営したいたのはWebサービスで、それとは別にスマホアプリのサービスを始めていると思います。アプリになったことで学ぶものの変化はありましたか?(喜)最初はRailsから入って、今はスマホアプリのこともわかるようになりました。難しいのがプログラミング概念の理解で、それが一つ言語やフレームワークで理解していれば、あとは差分だけ理解すればいいのでだいぶやりやすいです。プログラミングは概念の理解が難しい(村田)ここからは会場からの質問について聞いていきたいと思います。ーープログラミングを始めたきっかけはなんですか?(村田)喜さんは先ほどお話されていたので、僕から回答しますね。僕も喜さんと同じように、手段としてプログラミングをやっているタイプです。プログラムを書きたいためにエンジニアをしているというわけではないです。サービスを作ってリースするための手段としてプログラミングの勉強を始めました。学生時代は、HTMLとCSSを使って簡単なホームページを作りました。それに付随して、ユーザーのためになる情報を掲載誌て、SEOを勉強して、アクセス数を増やして広告で稼ぐみたいなことをやっていました。価値のあるサービスを作りたいと思いましたが、その時の技量では足りないのでプログラミング能力が必要だと思ったのがきっかけです。起業した当初は一人で会社を始めたので、自分でやるしかないと思っていました。その点は喜さんと似てますね。ーープログラム習得する上でつまずいたことはありますか?(喜)まずプログラミングの概念を理解することに苦労しましたね。メソッドを実行するための入力とかです。基礎中の基礎だったために、どの本にも載っておらず、基礎を理解するための本を見つけるのが大変でした。(村田)そもそも、知りたいことが載っている本を見つけるのに苦労した、と。いう基礎って、教えてくれる人がいたら1分で解決するのに、まわりにそういった人がいなかったので概念を理解するにも時間がかかりましたね。基礎中の基礎を知る、という初歩的なところでつまずいていました。僕も、喜さんが仰っていたように概念の理解が難しかったです。僕の場合は当時楽天の開発部門にいたので会社の同期をカフェなどに呼び出して、聞きたいことを全部聞くみたいなことをやってましたね。概念理解って、どこをどう調べたらいいか、ということ自体が分からないんですよ。概念なので言葉にしにくいですし。人と対面してると、感覚的に伝えられることもあるんですけどね。最初はそういった概念理解につまずいていました。自分で書き出してみると、汚いとか見にくいとかってわかるじゃないですか。その時に、どういった書き方がベストか聞いてました。あとは最近だとGithubとかで見れるので、いいサービスや有名なサービスのコードを見て学んでいます。最短なのは、自分の書いたものをコードレビューしてもらうことだと思います。それができない環境の場合は、オンラインに落ちているオープンソースを見ます。あとは自分で書き続けているうちに、同じこと繰り返してるとか見にくいなとか感じるので、似たようなコードを参考にして書き方を学びますね。喜さんは先ほど仰っていた通りなので、僕の場合についてお話させていただきます。プログラミングを学んでおいて良かったと今になって思うのは、なにかサービスを作りたい、事業にしたい、という時にミニマムスタートが出来ることです。人を雇うとお金もリスクも発生しますが、一人で完結できると、まずやってみようと思えます。成功するかしないかわからないので、とりあえず「やってみる」ことがとても重要なんですよね。自分でプログラミングができると、形にするまでの敷居が下がるので、トライしやいです。それに、エンジニアや開発に携わる人の気持ちがわかるので、話がしやすくなります。エンジニアが言われたら嫌なことがわかるので、円滑なコミュニケーションにつながることも、プログラミングを学ぶ利点だと思います。どちらかというと、デザインから始めました。高校生のときに、バンドのフライヤーを作るためにIllustratorなどを勉強していました。ホームページも作りたかったので、HTML/CSSも同時に勉強していました。最近では、Webデザインは簡易化されてBootstrapなどもあるので、プログラミングさえ勉強すればある程度のクオリティーは担保されると思います。テキストでやり取りすることが多いので、エンジニアに限らず口調に気をつけてますね。テキストだけだと話し手のトーンが伝わらないので、相手に攻撃的な印象を与えてしまう可能性があります。出来るだけ顔文字を使ったりしています。あと、進捗確認の時、追加機能やバグ修正について聞きがちですが、将来的な事を考えて勉強に時間を割いたので進捗なし、という場合は許容しています。コードを見やすくするためのリファクタリングなど、目に見えないことも評価しています。手が動いてなくても、進捗がゼロでも特に咎めません。認めてあげるんですね。僕の場合だと、エンジニアと共に開発していく上で、出来ないこと・難しいことに直面したときは、一緒に考えるスタンスをとるようにしています。ケース・バイ・ケース、ですね。要は難易度が変わる話だと考えています。営業が重要な事業内容なら、社長に営業力があってお金が回っていれば、技術面は人を雇って賄えますよね。プログラミングスキルが無くとも問題ありません。先ほど村田さんが言っていた、スモールスタートが可能というのは重要だと思います。プログラミングができると、自分でぱっと作って、試行錯誤し、サービスの良さをプログラマに伝えて、どんどん改良していくことも可能です。起業したら、一番情熱を持っているのは、基本的に社長である自分です。空いた時間に自分が何かできると、情熱が会社の前進に直結する。そこでエンジニア一人分の仕事が出来れば、人件費を浮かせる事ができ、より潰れにくい会社にすることができる、ということもあります。なにか作れたらベストですが、プログラミングを理解して、エンジニアと円滑なコミュニケーションを取れる状態にしておくだけでもいいと思います。プログラミングは、自分の考えてるアイデアや考えてることを形にするツールだと思っています。その考えているもの次第で、必要な力量も変わってくると思います。Webに商品を載せるのであれば、HTML/CSSとデザインのみで綺麗に見せることはできます。アイデアを形にできるというツールを武器にすると、起業以外のこともできていいのかなとは思います。補足すると、外注では、ボタンを少しずらすだけでも見積もりが大変ですし、社内にエンジニアがいたとしても、細かい変更をいちいち頼まなければなりません。自分でパッと出来てしまうと、人に説明する必要がなく、手間も時間も省けます。スタートアップの場合は、早く試して早く結果を見ることが重要なので、ちょっとした変更に手間取ると、成功率が下がってしまいますしね。やろうと思えば全然いけます。食べていけるかいけないかと言われれば、食べていけますね。プログラマーは世界的に不足しています。職があるのに働き手がいないので、アメリカでは2020年までに100万人不足すると言われているほどで。その点、プログラマーに限らず、IT技術者は今後求人が増えていくと思うので、食べていけるでしょう。僕の意見としては、今後のプログラマーの需要は無くならないと思います。プログラムやソースコードを全部書くのではなく、単純化されたものを組み合わせるようになるのでは、と予想しています。それでもクリエイティブなことをする人の需要は増え続けるのではないかと思いますね。需要に関しては逸話があって、中国は物価が日本よりまだまだ安く、大学新卒の給料が2万〜6万なんですね。以前中国人フリーランスの方に、リモートでプログラミングの仕事を依頼していたところ、時給は4000円だと言われました。当時は日本人のエンジニアにもそこまでは出せてなかったので、うわ高え!と。(笑)理由を聞いたら、もっと割のいい仕事をもらっているから、とのことでした。日本も中国もアメリカもエンジニア不足、かつプログラミング言語は世界共通なので、プログラマは国や言語をを問わず仕事ができることを思い知りました。今は時給を上げていますが、起業した最初の頃に900円でアルバイトしていた人は、現在はアメリカから仕事をリモートで受けていて、時給7000円くらいもらっているそうです。ニーズは本当に無くならないと思います。Railsの求人が激しいかなと思います。僕のまわりのスタートアップ企業などでもよく聞きます。あとは大きな企業だと、PHPやJavaも人気がありますね。他にiPhoneアプリやAndroidアプリの開発も需要があると思います。僕らが知り得ない言語市場があるでしょうし、まだまだ出続けて無くならないので、需要がないということではないですね。今話したのは、Webやスタートアップ系の、オンラインサービスを作ったり個人で仕事をしたりするときの言語のことです。一方で、みずほ銀行のシステムエンジニアは、2020年には2万人不足するとニュースで流れていました。要は、基幹系のシステムを刷新するときにエンジニアがいないというような状況ですので、そのような視点もあったほうがいいと思います。僕もWebサービスを作りたいと思っているのですが、PHPとRubyのどちらがいいか分かりません。作るものによって違う、と仰っていましたが、色んなプログラマーに聞いているものの、2者の違いや良さ、これからの展望がいまいち分かりません。独断と偏見で言うと、今から勉強するならRubyがいいと思います。Railsというフレームワークが洗練されていて、Webサービスの開発に適していますし、Railsの求人の方が多く、盛り上がっている気がします。PHPのメリットもありますけどね。PHPは割りと規約がゆるいので、ある程度書いたら動くので取っ付き易い。これはいい面悪い面あるのですが。僕はもともとPHPから勉強を始めました。Railsというフレームワークが既にあるので、フレームに乗ればすぐにできるので楽ではあります。フレームワークを使うには、そもそもどうしたらプログラムを作れるか、を理解していないと難しいこともあります。今は、僕が始めた2008年頃に比べたらどちらのドキュメントも増えているので、PHP・Rubyのどちらでもいいと思います。補足すると、僕はPHP触ったことないのでRuby推しです。ちなみに、PHPのフレームワークでCakePHPというのがありますが、これはRailsを真似て作られたもので、構成がRailsと近いです。Web業界も営業中心だけど技術志向の高い会社だと、エンジニアの重要性もわかっているので給料も上がっています。日本でも外資系は特に高額ですし。アメリカのエンジニアが高給なのは、他にも理由があります。西海岸だと、ワンルーム20〜30万円かかることもあって生活コストが高いので給料もそれにともなって高額になる傾向があります。単純な比較は出来ないですけどね。あと、優秀な人は特に高給ですね。普通の人の二倍以上の仕事をしてくれるので、並の人の倍払っても雇う価値があるので。弊社も、エンジニアの給料は固定観念に縛られず、積極的に上げていっています。今後は日本でもエンジニア採用の競争激化が予想されるので、給料も順次上がっていくのではないかと思います。補足として、一概には言えないものの、アメリカでエンジニアが高給なのは、雇用体系の違いが挙げられます。能力が低ければすぐクビになりますし、保険がないので自分でやりくりしなければいけません。副業は余裕でできると思います。現代ほど美味しい時代はないですね。先に触れた弊社の元アルバイトも、ある程度経験を積んで、アメリカから時給7000円で受注していますし。自社でも、フリーランスのエンジニアに外注する場合はある程度優秀だと結構な額払ってるので余裕だと思います。僕も学生時代からプログラミングをやっていましたが、副業ではないものの、片手間のバイト感覚である程度は稼いでいました。15年程前からは、プログラミングが出来なくても、Webで何か形に出来ればお金が稼げる時代になったと感じています。最近では、クラウドソーシング、つまりオンラインでできる仕事が増えているので、活用のしがいがあるとも思いますね。対学習量では、英語などの語学よりプログラミングの方が換金性が高い思います。習い事としては一番いいのではないでしょうか。ーープログラマーとして副業で稼ぐに当たり、レベルによって給料が変わってくると仰っていました。具体的にはどういったところで判断しているのでしょうか。弊社では、経験があったり、ある程度できるようなら、一旦時給を固定し、一度仕事をしてみてもらいます。1、2個機能を追加してもらって、その作業スピードと質を見て判断します。あとはプログラマ自身の交渉力にもかかっていて、実力以上に見せることも可能です。ブログ等で本人の知名度が高められていると、給料が上がりやすいかもしれません。ブログで有益な情報を発信していたりとか。難しい内容じゃなくても、この人の名前良く見るな、という感覚を相手に持たせることが大事ですね。どれか一つがあればいいと思います。僕の当時の働き方は、半月は自社のサービス開発に時間を割き、残り半月は自分の食べる分だけを稼ぐ仕事をする、という動きをしていました。受託はやり過ぎると忙しくなってしまうので、仕事量は月に1つほどでした。受注数を決めていたわけではありません。どこまでの知識が必要なのでしょうか?プログラミングはもちろんだと思うのですが、サーバー等も含め、すべて一人で出来ないと、個人での立ち上げは厳しいのでしょうか。わかっているに越したことはありませんが、最近ではわからなくてもできるようになっています。Railsさえわかっていれば、サーバーのことを知らなくても、サービスを公開することが出来ます。アプリケーション側に専念できるようになってきていて、Bootstrapというものを使うと、デザインが出来なくともそれっぽい見た目のものを作る事ができます。形にすることだけ覚えれば、何かを表に出すということはできますよ。僕のおすすめは、何か作ってみてお金を得ることです。お金を稼ぐことはいいモチベーション維持につながると思います。お金をもらって嬉しくない人はいないと思います。学生時代、作ったサイトをたくさんのユーザーに見てもらえたのは嬉しかったし、またそれがビジネスになる、ということにすごく感動しました。自分みたいな平凡な学生でも、京都にいてパソコン1台で月に数万円稼げてしまう。自分の勉強したことが社会に繋がるんだ、ということは大きなモチベーションでした。趣味でもいいですけど、月1万円を稼いでみようという目標を立ててみてはいかがでしょうか。1万円稼ぐためには人に見てもらわなければならないですし、そのためには何が必要かを考え始めると、やるべきことも見えてきて、目標が立てやすくなると思います。これで対談は以上です。Railsオンラインブートキャンプを開催しています。はてブに追加この記事を気に入って頂けたらいいね!・フォローをお願いしますFollow関連するキーワードニュース関連する記事これからのエンジニアに必要なスキルとは【非エンジニアサミット・イベントレポート】TechAcademyでは、2015年6月14日に『非エンジニアサミット「プログラミングをシゴトにする」』というイベントを開催しました。E...イベントレポートなぜWebアプリケーションは動くのか【人事担当者のためのIT勉強会レポート】TechAcademyで以前に開催した勉強会、「なぜWebアプリケーションは動くのか〜知識ゼロでもわかるWebアプリの仕組み〜」の内容をご紹介します。今回のテーマは、HTML/CSSの基礎です。こちらの内容はTechAcademyのWebデザインオンラインブートキャンプでも扱っています。第一線で活躍するプログラマーが「どうやってプログラミングを学んだか」を語った!イベントレポート(その2)12月2日にTechAcademyも協力企業として参加した、シンポジウム「なぜプログラミングが必要なのか?」が開催されました。前回のコンピュータ教育のセッションレポートに続いて、「ホットププログラマーズトーク」と題して行われたセッションの内容をレポートします。第一線で活躍するプログラマーがどうやってプログラミングを学ぶようになったのか、これから勉強する人へのアドバイスなどを語りました。本セッションの登壇者は下記の通りです。モデレーターは閑歳孝子氏がつとめています。ここからはセッションの内容をお届けします。それぞれの自己紹介が行われたあと、モデレーターの閑歳氏が質問する形式で進められました。ゲーム開発の現場にすごい人はたくさんいます。すごい人というと、伝説を持っている人が思い浮かびます。いつもゲームばかりしているけど、なぜかゲームがいつも滞りなく作られていくというプログラマーとかがいますね。あとはプログラマーではないですが、とある有名なゲームクリエイターさんだとパンを一斤買ってきてそれをモニターの横に置いて、それを食べながら動かないでひたすら作り続けるという人もいます。寝食とかどうでもいいから、ゲームだけ作らせろという感じですね。作るのが好きなんだなという人はずっと作っていますよね。僕の場合は研究が好きで家に帰るのが面倒なので、研究室に寝具や一週間分の服を持ってきていまいした。1周間ずっと開発して日曜日に帰って洗濯して、また1周間こもるということをやっていた時期がありました。寝食も忘れてとにかくやりたがっている人、やっている人は気が付くとすごい成果を出していたり、とんでもないことができるようになったりしてますね。「え、こんなの作れるの」という感じになっています。いうことがさらっとできてしまう人はすごいなと思います。短期的にはそういう人がすごいと思うんですけど、僕がすごいと思う人は長く続けている人だと思っています。まつもとゆきひろさんとか、ひとつの言語を20年間ずっと作っていてよく飽きないなと思います。いう風に長く作っているとか、ひとつのことを集中してできる人をすごいと思ってプログラマーとして尊敬しますね。同僚でものすごく実装が早い人がいて、しかもバグのないちゃんと動くコードを書くんですよ。いう人はすごいなと思いますね。私自身が結構のろい方なので、早い実装力を持つ人イコールすごい人という印象があります。ちなみに私は、プログラミング能力ももちろんなんですけど、それ以外のところでコミュニケーション能力のようなものがあるとすごいと思いますね。「何かこういうものが欲しい」という時に「iPhoneアプリならきっとこういう画面だよね」、「きっとこういうものをユーザーは望んでいるんだよ」とユーザーの使い勝手まで想像して作れる人はものすごいなという印象を持ちます。それができる人ってそんなに多くないのかなと思います。Androidのレイアウトクックブックという本を書いている方がいて、エンジニアだけどデザイン面、UI/UX面もすごく気をつかうことができます。いった面も熟知して、的確に本にまとめてあるのですごいなと思いますね。小さいときからゲームが大好きでした。14歳のときに母がマックを買おうと言い出して、それなら自分はゲームが作りたいと言ったら自分の部屋にパソコンを置いてもらえるようになりました。そこからパソコンにはまって、神保町の本屋に通ってよく技術書を立ち読みして、読んで覚えたことでゲームを作るようになりました。そのあと20歳くらいの大学生の時に、バイトでCGIやウェブアプリを作っていくなかで、大学を辞めてネットベンチャーで働くことになりました。ネットベンチャーでは2人でYouTubeのようなサービスを作って、このときにプログラマーの方と一緒にたくさん働いて色んなことを学びましたね。そのあと仕事をやめて、いろんな勉強をしてゲームというのはどのように作られるべきかということを一人で悶々と考えながら、試行錯誤していたときにある会社に雇ってもらいました。iPhoneのアプリを作りたくなって、会社を辞めて今に至ります。僕が初めてパソコンを触ったのは高校の時でした。中学生の時に科学部で少しパソコンを触って面白いなと思い、高校生の時に買ってもらいました。当時はインターネットもなかったので、代わりにプログラム関係の月刊誌を買っていましたね。そこに書いてあるプログラムは結構ゲームが多かったんですけど、書いてあるプログラムを打ち込んでゲームをやっていました。そのゲームのキャラクターの色を変えてみようとか早くしてみようとか、キャラクターが死なないようにしてみようとか、色々な改造をしていく中でプログラムを覚えました。そのあと高校2年生のときに、バイトの履歴書の得意なことに「パソコン」って書いたら、データ入力の仕事を任されました。パソコンのエクセルのようなアプリケーションを、自分でマクロを組んで自動化したりとか、データベースのアプリを組んでそこで顧客管理をしていましたね。そのとき、プログラミングは趣味から仕事へシフトしていきました。家にはパソコンがなくて、近所のパソコンを置いているショップに通い詰めて、そこで言語をひたすら打ち込んでました。当時は教わる人もいなくて、雑誌も薄くて一つひとつの解説がなかったので、なかなか自分で作れるようにならなかったです。やっているうちに、どこをどう変えると表示や動きのパターンが変わるというのが想像できるようになってきて、自分のオリジナルゲームを作ろうとしてみたんですけど、CGのようなゲームを作ろうとして挫折してしまいました。その後、専門学校に入ってC言語の基礎を学びました。それでも、小さなプログラムは作れるようになるのですが、自分はまだまだプログラミングが得意という意識がなかったです。専門学校を出て、プログラムが書ける仕事に就いて、運良くC言語の勉強をするよう派遣させてもらって、そこで色々先輩方から教えてもらいました。半年くらいそのように働いて、C言語がわかってきたという感覚がついてきました。するとだんだん欲が出てきて、ちょうどインターネットが普及し始めてきた頃だったので転職しました。そこで出会った先輩が「C言語はラテン語と思いなさい。これから学ぶべきはC++で、これは英語のようなものだ」と言われました。今からラテン語を学ぶ人はいないという意味ですね。それで本を熟読して、頭のなかに言語の仕組みが入ってきて、できてきたという感覚がありましたね。いうほどではないですが、ある瞬間からわかるようになりました。僕の時は十分な教材がありました。僕はどちらかというとやりたいことがあって、それを実現するにはプログラミングを覚える必要があったので覚えていきました。高校生くらいのときに地域のNPO立ち上げに参加したり、高校の同期とフットサルサークルを立ち上げたりしたときに、みんなにこの活動を伝えたいと思いホームページを作りました。HTMLやCSSを覚えたり、WordPressを覚えたりして、さらに完成度を高めるためにプログラミングを始めました。僕はコンピュータが好きで仕方なくてやったという感じなので、もうプログラムが手段ではなく目的になっていました。僕みたいな人にはコンピュータを与えておけばいい。なくて、プログラムを覚えられるといいなという人は、やりたいことを待つか見つけるかすることだと思います。やりたいこと見つけた時に、現代だと多分プログラムというのは避けて通れないと思います。それを人に任せるか、自分でやるかのどっちかだと思うので、人に任せられる人は任せればいいと思うのですが、せっかくだから自分でやってみようという時に手をあげれば、覚えちゃうんじゃないかなと思います。エクセルも数式を書けばプログラミングみたいなことができたり、VBAのスクリプトで自動化することもできます。特別これをやりたいということがなくても、日常の仕事でエクセルを使うときにもプログラムで解決できるので、そういった部分から入ったら僕はやりやすいんじゃないかと思います。今、プログラミングは敷居が低くなってると思うんです。精神論になってしまうのですが、とりあえずやってみればいいと思うんですよね。コードが汚いとか先輩に言われるかもしれないけど、まずは自分でやってみることが大事です。あとは、オープンになっているコードをたくさん見て、真似して、写経するのがいいと思います。私が一番難しいと思うのは環境構築なんです。環境構築が乗り越えられなくてプログラミングができないということが私もありました。ウェブベースですぐ動くものをまずは体験するのが、一番敷居が低いと思います。僕は学生に教える立場なんですけど、そのときにいつもやっていることは学びたいことを最初に紙に書いてもらうことです。みんな結構いっぱいやりたいことがあって、何が好きでどんなことに興味があって、どういうことが嫌いかというところを聞いています。そこから必要な部分を切り取っていって、勉強の仕方に落とし込んでいくことが多いです。やりたいことが多様化しているので、その多様化したやりたいことに合わせて、プログラミングを覚えていくようにするとうまくいくのかなと考えています。はやりたいことを考えるといいんじゃないかと思います。セッションの内容は以上です。Railsオンラインブートキャンプを開催しています。イベントレポートコンピュータ教育をキーパーソンが語る!「なぜプログラミングが必要なのか?」イベントレポート(その1)先日、12月2日にシンポジウム「なぜプログラミングが必要なのか?」が開催されました。TechAcademyも協力企業として参加しています。そこで、2回に分けてイベントレポートをお届けします。今回は、「教育とコンピュータ」のセッションをお届けします。最近なにかと話題の子どものプログラミングや情報教育について語らたセッションとなりました。イベントレポートのその2として、ホットププログラマーズトークのセッションも記事として公開しています。本セッションでは教育に関わる方々が登壇されて行われました。モデレーターは松村太郎氏がつとめています。石戸氏のNPO法人CANVASでは、プログラミングのワークショップを開催しており、最近ではGoogleとの連携も始まっています。Bus」などの活動をしています。セッションではそれぞれの立場にそった内容で答えていました。ここからはセッションの内容をお届けします。モデレーターから登壇者に質問する形で進められました。(筧氏):学習指導要領では、高校の情報の授業で学ぶことになっていますが、現実は多くの高校では大学の試験科目に入っていないので二の次になりがちです。中学校の技術家庭科で「プログラムによる計測・制御」が入っていますが、たまたま能力の高い先生にあたれば正しく学べますが、現実はそうなっていないようです。その状態で大学に入った生徒を見ると、能力に大きな差があります。できる人は非常によくできますが、使いこなせていない学生もたくさんいます。提供したりしています。各地域で自律分散的に活動ができるように地域でのコミュニティ作りに取り組んできました。そんな活動をする中で、学びの場に変化が現れているのではないかと感じています。以前にMITの教授が、「150年前の外科医を現代の手術室に連れてきても全く役に立たないだろう。それくらい医療は進歩を遂げた。150年前の教員を現代の教壇に立たせても、ほぼ同じように授業ができるのではないだろうか。そのくらい、学びの場は変わってこなかった。確かに日本でも、江戸時代に寺小屋というシステムがあり、明治時代になり西洋の教育システムとして一斉教育というものがスタートされて、それから約150年経ちましたがほとんど変わってきませんでした。している間に、家庭はテレビもデジタルになり、高校生も9割近くが携帯電話を持つようになり、仕事はパソコンなしでは成立しなくなりました。学びの場だけが情報化から取り残されていますよね。昔は学校というものは、1番初めにテレビが入る場所だったり、ピアノが入る場所だったりと最先端の場所だったのに、いつのまにかそうではなくなってしまっています。それは非常に問題なのですが、テクノロジーが学びを変えようとしてくれているのもまた事実かなと思います。2010年の政権交代に伴い、1人1台情報端末としてデジタル教科書を持って子供たちが学習する環境を整えましょうというのが政府目標として出されました。この話はデバイスを配りましょうということではなくて、「暗記記憶型から思考想像表現型の学びへ」「先生の一方的な授業伝達ではなく教え学び合い」という学びの変化だと思うのです。意志を持って学びの場を変えるという努力を大人がみんなでし始めなきゃいけない時期にきているのではないかと思います。(瀧田氏)そうですね、私の息子が今中学校2年生で、技術の授業でエクセルをやっています。子供たちはデジタルネイティブと呼ばれる世代なので、どんどん先に行ってるわけなんですね。コンピュータも簡単に先生以上に使いこなしてしまいます。そんなことになっていても、やはり先生はやらなくてはいけないことが指導要領で決まっていて、その枠から外れないというスタイルが日本の教育スタイルとしてあります。この教育スタイルにプログラミングを入れたときにどうなるかを考えると、なかなか難しいと思います。環境や先生方の格差もあるだろうし、時間的な余裕というところの部分もかなり違います。現場がわからなくて、カリキュラムだけができて、じゃあやりましょうではうまくいきません。子供たちもときめかないでしょう。教えている先生が楽しいと思って教えてくれるのと「とにかくいいから覚えろ」という形で教えられるのでは違うと思います。(鈴木氏)まだ学校では(コンピュータは)教科という形にはなっていません。これが教科になってしまうと、受験の科目になってテストで選抜するための学習になってしまいます。なると、実際に使っていく、社会で自立して生きていくために必要な感覚や知識とはかけ離れてしまうのかなと思います。学習というカリキュラムの中で「これをいつまでに習得しなさい」というものではなくて、自分から学んでいく「習得から探求へ」が必要なのではないでしょうか。スマホのコンテンツやアプリケーションを使う側ではなく、自分が作って他人に見せてみる。見た人が感動し、その感動がさらに自分の感動へとつながっていき、さらにこんなことがやってみたいということを必然的に学ばないといけません。機会や場がないとなかなか一人では難しいです。一緒に経験していく場があると、実践的に自ら学んでいくことができるので、そういう場をもっと作りたいなと思います。(石戸氏)インターネットを初めて子供たちが触れた時、能動的なメディアといってもけっこう受動的に使っていることが多いと思います。それは可能性を知らないだけで、実はこんなものが作れるんだとか、自分のアイディアを世界中の人たちに知ってもらえることができるとか、他人と何かを一緒に作ることができるんだということを一度知ると、子供たちは世界が急に広がるんです。共同で何かをするというのはネットの優れたところだと思うのですが、一人で何かをやらなきゃいけないとなると、自分の力で何ができるかという発想になりますが、コラボレーションを前提にすると、何がしたいかということを前提に考えて、必要なメンバーを集めて、どういう知識を集めていけばいいかというふうに発想を変えていくことができるのかなと思います。いう世界を子供たちに体験してもらえたらと思っていつも取り組んでいます。セッションの内容は以上です。子どもたちがどんどん学んでいく一方で、現場の教育現場では課題が多いことがよくわかりました。子どもが自ら学んでいく場が必要なことも語られていました。Railsオンラインブートキャンプを開催しています。2016が開催されました。Conferenceのイベントレポートを発信していますので、ぜひご覧ください。「チーム開発を支える技術」では、以下の登壇者の方々が会場からの質問を元にパネルディスカッションを行いました。氏:技術相談窓口というものを設置していて、エンジニアが毎日担当で入れ替わるような形をとっています。基本は誰かが質問したらその人が答えるという仕組みにしていますね。氏:こういうフローで質問してくださいという風にすると人間関係が阻害されてしまいそうなので、個人個人の信頼関係で各々やってもらっています。氏:今は特定の人に負荷がかかっているような気がします。質問しやすいって思われてる人に集中しちゃって、その人も性格が良いので何でも答えるという雰囲気ですね。氏:今はエンジニア全員でも6人という人数なので、特に階層などはないですね。今後人が増えても部門で分けるだけで、階層はないと思っています。氏:現在エンジニア14名、デザイナー4名でやっているんですが、チームリーダーという役割が出来てから変わった感じがしますね。今後については、ちょっとまだ考えてないですね。氏:予算の中であればその予算で使うという感じですね。自分の好きなツールを使いたい人もいれば社内で統一して使いたいという人もいるので、そこは考える必要があると思ってます。Driveにまとめたりしていますからね。スプレッドシートで良いのは、エンジニア以外の人でも使いやすいところですかね。氏:スプレッドシートは便利ですよね。Scriptで連携できたりするので。うちでは、エンジニアの一人が使ってみて便利だったら全体で使おうみたいな感じで選んでますね。氏:今はJIRAを使っています。これがベストだとは思っていないですけど、いろいろ使っていく中で決めているような感じです。氏:高価なツールはみんなで決めるようにしています。このツールの選定というのはエンジニア基準で行うべきだと思いますね。以前は管理部門が選定していたんですが、どれを使うかということで争いが生まれたのでエンジニアが権限を持つことが大事だと思います。氏:初期のころは直接会って口説いてました。相手一人に対して社員全員で行くみたいなこともありましたね。最近では紹介会社からでも優秀な人が入ってくれたりしていますよ。氏:自分でどんどんやっていくような人を採用したいですね。自分もまだ入って半年くらいなんですけど、みんな本当に優秀だなと感じます。氏:今まではほとんど紹介での採用ですね。イケてる人の周りにはイケてる人がいるので、そのイケてる人に紹介してもらったりしています。採用基準については、お互いに高め合えるかどうかですね。人が入るたびにモチベーションがどんどん高くなるような組織が理想だと思うので。以上、「チーム開発を支える技術」でのパネルディスカッションでした。エンジニアはもちろん、営業や企画の人にも役立つセッションになったのではないでしょうか。2016が開催されました。Conferenceのイベントレポートを発信していきますので、ぜひご覧ください。ビジネスモデルジェネレーションでは、以下の登壇者によるパネルディスカッションが行われました。自分自身がエンジニアであるなど、テクノロジードリブンなサービスづくり、組織づくりの秘訣について語っています。氏:初期の3年間はエンジニアしかいなかったです。当時は初期からエンジニアにとってハッピーなことが全部ありましたね。その初期にいたエンジニアは、ランサーズ上にエンジニアの方もたくさんいたので、一緒に作りましょうとメルマガを送って、20人くらい応募があってその中から2,3人採用しました。氏:創業者は3人ともエンジニア出身なんですけど、実際にコードを書いてたエンジニアは別にも何人かいました。僕はとにかく最初にいるエンジニアがとても大事だと思ってるんですよね。最初にいるエンジニアのレベルによって全体のレベル感が決まってくるので、今まで自分が会って優秀だと思った人に声をかけたり、Twitterでエンジニア募集!と発信して20人くらいと会ったり、ウノウでエンジニアだった人を採用したという感じですね。氏:最初は完全に一人でやっていたんですが、途中クラスメイトにアルバイト料を払いながら手伝ってもらいました。その後やっていく中で優秀な人に株を渡して2人で始めました。その後もいろんな人に声をかけながら6人くらいでプログラムを書いていました。氏:ランサーズにおいて優秀なエンジニアというのは、サービス愛がある人ですね。具体的にはユーザーへの価値を第一に考えてプログラミングはその手段だと考えられる人だと思ってます。最近、開発合宿をしてそれをすごい感じたんですけど、「好きなもの作っていいよ」って言うと、ランサーズで明日便利になるものを作ってくれたりしたんですよね。氏:創業者の2人を例にすると、一人はカバレッジが広くて新しいものが出たらとにかく触ってみるという人で、初めて会った時に只者じゃないなと感じました。一人は、どちらかというと深く知っているタイプ。コンピュータってなんで動くんですか?っていうのを知っているタイプなんですけど、元々経営経験もあったのでコミュニケーション能力も高かったエンジニアですね。氏:異常なまでの好奇心がある人だと思いますね。スタートアップの時期ってやる手段が決まってない中でやらなければならない事が多いと思うんですよね。これはエンジニアに限らないんですけど、出来ないけど約束して物事に取り組む人っていうのがスタートアップにおいては重要だと思います。氏:実は一人目の社員は弟なんですよ。彼はデザイナーだったんですけど、当時外注していた先のエンジニアが逃げたって言われてどうしようっていう時にPHPの本を3冊買ってあげて弟をエンジニアにさせました。おすすめはしませんが。今は開発のリーダー的なポジションにいますよ。氏:メルカリはそもそもいないですね。逆に元エンジニアだったり元デザイナーで企画をしている人が多いですね。氏:昔は未経験でも採用せざるを得なかったですけど、今はしてないですね。運用の現場がどんどん自動化されているので、サーバー設置できますくらいだと仕事がなくなっているんですよね。今まではオペレーションだけ出来る人でも仕事があったわけですけど、今後はプログラミングもできないと厳しいと思っているので、経験者を採用するようになりました。氏:メルカリは3年位前に始めたんですけど、思っていたよりシェアリングエコノミーの世界が早く来てる感覚がありますね。デバイスが変わったことによってCtoCのモデル、つまり個人対個人が繋がりやすくなってシェアリングエコノミーの世界がいち早く普及してるなと思いますね。氏:さくらは96年に創業してるのでGoogleより古いんですけど、Webがすごい広がるなと思ってたんですよ。当時、自分で立ち上げたサーバーが秋葉原にあるインターネット体験コーナーでURLを打つと何かレスポンスが返ってきまして。その時の感動もあってWebが世界を繋ぐなと感じました。それまではインターネットは単なるテクノロジーとしか捉えてなかったんですけど、インターネットとWebの繋がりはすごいなと思いまして。n対nではなくて、n対サーバー対nとして今後20~30年くらいは無くならないだろうと思って創業しましたね。氏:2000年くらいにインターネットに出会って、それがランサーズの創業の背景でもあるんですよ。その時個人サイトを作っていたら、知らない人から同じものを作って欲しいと言われて作ったら5万貰えたんですよね。これをプラットフォームにしたら働き方変わるぜって思って立ち上げたんですけど、最初は「そんなリスクある働き方誰がするんですか」って言われ続けて、最初3年くらいは全然使ってもらえなかったです。この2,3年でシェアリングエコノミーの普及もあって働き方も変わってきたなと肌感覚で感じますね。氏:この会社ってどういう価値基準で意思決定していくんだっけという点に関しては、ランサーズウェイというのを本にしていて全社で指針にしています。あとエンジニアに関しては、ランサーズでは価値が高いけど市場価値は低いという人にしたくないと思っているので、ランサーズにいることでエンジニアとしての市場価値も高くなるようなことを意識してますね。実際に他の言語触ってもらったりはありますね。氏:エンジニア出身の人が多いので、オープンな感じです。platformを使っていたりと、今後もいろんな技術を使える会社にしていきたいとは思ってます。氏:15年以上働いてる人もいれば、ここ5年以内に入った人もいるんですよね。いろんな人が同じ価値観で働いてもらうために新しい人をどんどん採用してチームビルディングが必要なんだと認識させるようにしています。氏:勝手にSlackが導入されたりとかはあったんですが、最近面白いなと思ったのは勤怠管理を社内のWi-Fiに接続したら自動で出勤するシステムを開発してる人はいましたね。氏:Slackを受け入れられるかっていう文化はインターネットのリテラシーを判断する材料になりますよね。最後に、エンジニアにとってうちにはこんな働きやすい環境があるっていうのがあれば教えてください。氏:海外でチャレンジングにやりたい人には良い環境だと思います。半年に一回くらいはアメリカに行ってもらってますし、もっと多く行ってる人もいます。あと現地でもカスタマーサポートを積極的に採用しているのでビザが出しやすいとは感じます。氏:ランサーズでは2つあると思っていて、自分たちが働き方を変えるんだと目指しているので在宅ワークも可能にしています。あとはユーザーと距離がすごい近いですね。ランサーズのユーザーの方に頻繁に会社に来てもらったり直接会って反応をもらう機会は多いと思ってます。氏:さくららしい所でいくと自社サービスが無料で使えるところですね。すごい人なんかはラックとか借りてるので。有給休暇を取ることを事前に言うとお小遣いがもらえるなんていう制度があったりします。以上、ビジネスモデルジェネレーションのパネルディスカッションでした。エンジニアにとってはもちろん、エンジニア以外の方にも役に立つセッションになったのではないでしょうか。2016が開催されました。Conferenceのイベントレポートを発信していきますので、ぜひご覧ください。氏による「作家にエンジニアの力を」というテーマのセッション内容となっています。講談社を辞めてから、2012年にコルクという会社を作ったのですが、作った背景としては世界基準で活躍する作家を生み出したいと思っていました。海外では基本作家というのはエージェントに属しているんですが、日本は大体出版社がプロモーションをやっている形になっているんですね。村上春樹さんは非常に著名な作家だと思うんですが、彼は作品を出版社に預けず、アメリカのエージェントを雇ってうまく海外展開できた成功事例だったりするんですよ。作品もすごく良いんですけど、プロモーションが圧倒的に上手いんです。作家の立場からすると、ベテランになればなるほど活躍しにくくなっていて、自分で書きたいものはあるんだけれども連載してもらうために雑誌に合わせて書いているという作業がほとんどだったりします。みんなヒットすることを目指して書いているんですけど、ヒットすればするほどどんどん作らなきゃいけないんですよ。短期間で作らなきゃいけないので、駄作が生まれてしまいファンが離れるという負の連鎖が生まれてしまうんですよね。これは作家の人生を考える人が必要だなと思いまして、作家エージェント業を立ち上げたんです。元々は日本人の作品を海外にという思いで始めたんですが、2011年の10月くらいからKindleという電子書籍が販売され始めて、これからは電子書籍が来るだろうと考えていました。するとその後、IT業界の人から「編集者に仕事を依頼したい」という問い合わせが殺到したんですよ。全部の依頼は受けなかったんですが、IT業界の人がそういう風に興味を持ってくれているのが面白いと思い、山のように人と会ってIT業界について学んでいきました。これから作家に必要なのは本を出すことではなく、エンジニアの力を借りてインターネット上にパブリッシュしていくことだなと感じました。雑誌の中だと作家の想像力を限定して発信します。インターネットの中であれば、自由に発想しパブリッシュすることができます。そのパブリッシュするためのツールがあまり無いという実情がありました。それまでのSNSは誰でも使えるものばかりで、もっと小さな、作家が使うのに適したサービスがなかったんですね。自分たちでその場所を作ろうと「マグネット」というサービスを開発しました。電子書籍の売り上げが伸びていて、出版業界は電子書籍によって変わるんじゃないかと考えている人が多いんですが、正直自分はそう思っていません。ネット上で人気なコンテンツというのは、インターネット的な施策があるから人気を博しているんです。いう意味でYouTubeは、テレビにある動画の場所を移しただけに過ぎないので、成長に限界があると感じています。電子書籍も全く一緒で、インターネット上にデジタル化したものを放り出しているだけ、場所を移しただけで、本として在り方は以前と変わっていません。普通、作るコンテンツというのはデバイスによって変わるものなんですよ。巻物から書物になったときに載せるコンテンツが変わったように、書物から電子書籍に変わる時はコンテンツも変わるべきなんです。今のところインターネット的な新しいものが入ってきていないなと感じますね。作家のコンテンツが多くなってきたので、ECを始めました。ある時、「宇宙兄弟」の物語に出てくるヘアピンを販売したんですが、1週間で1500人くらいに買ってもらえたんですね。「単なるヘアピンが」と思って驚いていたんですけど、ある購入者の方からメッセージをいただきまして。「今日は特別な日なので、ヘアピンをつけます!」と言ってもらえたんですね。このヘアピンは、作品中でキャラクターがピシッとする時に付けていたもので、購入者はピシッとするきっかけをくれるものだと思って買ってくれているんですね。いう人からするともはや、このヘアピンは単なるヘアピンではなくなっているわけです。購入者によっていろいろ思いはあると思いますが、そういった感情を思い出すために買ってもらったんだなって気付きましたね。明治時代には言語というものが一部のエリートにしか使いこなせなかったから、それを使いこなせる人が思想を伝えられたんですよ。小説が世の中を変えるものとなっていたんです。今の時代で考えるとその役割はエンジニアだと思っていて、プログラム言語を通して何かを伝えられるんじゃないかと思っています。出版社時代なんですが、無くてもいいものを無くてはならないと思ってもらうためには、どうしたら良いのだろうかということをずっと考えていました。今後AIなどによって便利な世の中になる中で、心が動かされるものが無くてはならないと感じています。その心が動かされるものは、作家とエンジニアが近くにいて、一緒に作っていくということで生まれるんじゃないかと思いますね。会場からの質問にもお答えしていただいています。縮小しているとはいえ、まだ14,000店舗世の中には存在しています。ネット上ではフォローしていないと情報が入ってこないんですけど、リアルであれば潜在的な人にもアプローチできるので、まだまだ影響力は失われていないと思います。氏による「作家にエンジニアの力を」のトークセッションでした。今後ますますインターネット化が進む中でどういった変化が生まれるのか、興味深いセッションになったのではないでしょうか。「Kite」は、ターミナルやエディタと連動するプログラミングのサポートサービスです。エディタとこのツールを立ち上げて、何か記述し始めるとメソッドの意味や間違いがあれば指摘してくれます。書き方を忘れてしまった時もサンプルを提示してくれるので、すぐに書き始められるでしょう。コードを書き始めるとそれに比例して情報を探す時間も多くなります。Kiteを利用すれば、コーディングしながら知らない知識も補えるのでよりコーディングに集中できるでしょう。errorで何個もタブを開くことも減りそうです。Atom」と幅広く対応しています。自分が使っているエディタをそのまま使えるので、気持ち良く作業が進められるはずです。事前登録だけの状態ですが、動画を見る限り素晴らしいサービスですね。サイト上にも「あなたの副操縦士」と書かれているように手厚いサポートが受けられそうです。プログラミングをこれから始めようと思っている人にはおすすめです。初心者がプログラミングで挫折してしまう大きな理由の一つに、エラーが起きて先に進まないことが挙げられます。始めたばかりの人は自分が何をやっているのか分からないことも多いですが、Kiteを利用すれば一つ一つ理解しながら進められるでしょう。初心者におすすめのプログラミング学習サービスで同時に学習すると、より早く覚えられるはずです。利用してみてください。今までネットで検索していた時間がコーディングに集中できると思います。Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。CORPORATION.。