そもどうしてブログを始めようと思ったのか
(前略)僕も他の方のように自分がブログを書き始めるに至るまでの経緯を書こうと思ったのですが、150字を過ぎたあたりであまりに拙い自分の文章に耐えきれず括弧の中に封印しました。さようなら僕の1時間。
とはいえ全く自分の話をしないのでは二記事目にしてこのブログの存在意義がなくなってしまいます。かいつまんで話すと、
- 学生の間に取れる長い休みが恐らく最後になるであろうこの夏になんとかインターンシップを獲得したい。
- ところが僕にできることといえば……なんだ…?お米なら炊ける。
- これはまずいとGoogle先生に助けを乞うたところある社会人の技術ブログをくださる。
- それによれば技術ブログというものがあり、それを続ければ自分にとってのペースメーカーになる上、将来自分を雇う側が自分がどういう人間なのかわかりやすいらしい。
- そしてさらにGoogle先生の御力を借りたところ技術ブログを始める場所にもいくつか代表的なものがあり、その中でも技術ブログだけが集まったQiitaがブログを書くついでに情報収拾もでき最適だとわかる。
…そして今に至ります。掻い摘むというか両手でわっしと要点を掴んで投げつけるような説明になってしまいましたが、つまりはこんな経緯でこのブログを始めました。
やっと本題、具体的に何をしようか
すっかり前置きが長くなってしまいました。ここからは夏のインターンまでに実際何をしていくのか考えてみようと思います。
…考えましたが、大学の授業以外でプログラミングの勉強の仕方をほとんど知らないことに気がつきました。ので、友人やいつもお世話になっているGoogle先生に聞いてみることに。
- CodeFights
- Boot camp や Hackathon
- 書籍
どうもこの三つが今の僕には向いていそうでした。それではそれぞれ自分で調べたことをまとめてみます。
CodeFights
まずはおなじみwikipedia
CodeFights is an American technology company that applies game mechanics to online computer programming challenges[1] for both instructional and recruiting purposes.[2] In November 2016, CodeFights reported that it has 500,000 registered users[1], the majority of whom are in the United States.
日本語の説明はなかったですすみません。ざっくり翻訳すると、アメリカの企業が運営するプログラミング練習サイトで、プログラマの雇用の際にも役立っているようです。確かにこういった場を設ければ、自然と優秀なプログラマーを見つけやすそうです。
この時に一つ思い出したのがprogateなのですが、progateが本当に一からプログラミングを学ぶ人向けに講座を用意しているのに対し、CodeFightsは演習問題メインのようです。次はCodeFightsのホーム画面です。
それぞれ、
- Interview Practice: 実際に一流企業で技術者を雇う際に出題された問題を用いて練習する。試しに最初の問題に挑戦してみたのですが、難易度簡単にも関わらず解けませんでした。ちなみにgoogleの採用試験で実際に出題されたものらしいです。恐るべし…
- Arcade: Intro, Databases, The Core, Python, Graphsの五つのカテゴリーがありそれぞれに大量の問題が用意されている模様。全部で464問ですって。ちなみに、他の方の解答もみることができ、中には同じ問題を解いたはずなのに全く違うアプローチを取ったものもあり非常に勉強になります。また自分が何行も書いてやっと解いた問題をある人がほんの数行で済ませているのを見つけるといろんな意味で泣けてきます。デトックス効果もあるなんてすごいや!
- Company Bots:一流企業によってちょうきょ…もといトレーニングされたプログラミングゴリラbotと楽しくプログラミング勝負できます。例としてはDropboxやUberの作ったbotがいます。
- Challenges:日あるいは週替わりのプログラミング課題。優秀な成績を収めるとランキングに表示されるようです。
- Tournaments:文字通りトーナメント形式のプログラミング大会?です。その中でもさらにルールが別れているようでとても楽しそう。
他にも様々な機能があるようなので、もっとこのサイトに慣れたところで改めて記事を書くかもしれません。特に難しい英語も今のところ見ていないので、演習問題を探している方や興味がある方はぜひ使って見てください。リンクはこちら。
Boot camp
まずは概要。こちらのサイトより引用しました。
Coding bootcamps are immersive training programs that help students from all backgrounds transition into a tech career. Since they started in 2012, these private education courses have been training software engineers with very positive job placement and salary outcomes.
つまりいろんなレベルのプログラマーを対象としたプログラミング講座みたいです。特にしっかりしたものは有料で数ヶ月の授業を受けられるようです。ただその金額というのが数十万から百万超えととても僕には手が出ない代物でした。
調べれば無料で受けられるものあるようですが、予想以上に大量の情報が出てきたので今回は後回しに。どのみちアメリカのbootcamp情報なんて需要ないよね(´;ω;`)
Hackathon
こちらも日本語の記事はないだろうとたかをくくっていたのですがまさかのヒット。ごめんなさいwikipedia
ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とはソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが集中的に作業をするソフトウェア関連プロジェクトのイベントである[1]。個人ごとに作業する場合、班ごとに作業する場合、全体で一つの目標に作業する場合などがある。時にはハードウェアコンポーネントを扱うこともある。ハッカソンは1日から一週間の期間で開催することがある。いくつかのハッカソンは単に教育や社会的な目的を意図に開催する。使用に耐えるソフトウェアの開発や既存のソフトウェアを改善することを目標としている場合もある。また、使用プログラミング言語、オペレーティングシステム、アプリケーション、API、主題や参加プログラマーの人数を定める場合がある。
なるほどつまりBoot Campの短い版ですか。友人曰く基本無料のようですし、これなら僕にも参加できそうです。早速カリフォルニアの方で開催しているものを調べて見たところ程よくたくさんのhackathonが出てきました。流石天下のシリコンバレー。中にはスタンフォード大学で開催予定のものもありました。これは参加できそうなものはどんどん参加していきたいですね。その時には記事書きます。更新なかったら察してください。
書籍
いくらパソコンメインで作業する分野とはいえ、紙媒体も勉強の際にはまだまだ欠かせない存在ですね。しかも昨年、ちょうど友達が僕にUnity in ActionというUnityの入門書を誕生日プレゼントとしてくれました。実は前々からゲームを作ってみたいと言っていて、それをその友人が覚えていてくれたようです。有難や有難や。
と言うわけでしばらくはそちらの本を参考にUnityの勉強も進めていきます。まだ何を作るかは決めていませんが、Unityの勉強を進める過程でいくつか候補に絞れたらなと。
まとめ
色々と書きましたが、まずは以下の内容で勉強を進めていこうと思います。多分途中で変更することもあると思います。
- CodeFightsのArcadeを終わらせる
- Hackathonに参加する
- Unity in Actionを読み切り、実際に一つはゲームを自作する
では、それぞれ書くことが出来次第記事を更新していきます。最後まで読んでくださりありがとうございました。