hoshimure-47’s blog

プログラミング修業中の人

AngelhackOsakaに参加して知ったこと

6/17、6/18に大阪のグランフロント大阪で行われた「AngelhackOsaka」というハッカソンイベントに参加しました。
Angelhackは世界中で行われているハッカソンで、日本では昨年(2016年)の東京に続いて今回が二度目の開催でした。
Angelhackの地方大会で優勝すると「HACKcelerator」と呼ばれるシリコンバレーで行われるスタートアップ支援プロジェクトに参加することができます。

今回、人生で初めてハッカソンに参加したので、気づいたこと、感じたこと、知ったことについて少し書きます。

その1 プログラム書けない人も結構いる

参加する前までは、眼鏡かけたゴリゴリのプラグラマやエンジニア、またはそれ志望の学生がガリガリコード書いてるみたいなイメージしかありませんでした。もちろんそういう方もたくさんおられましたが、プログラムなんて書いたことないという方が結構いて驚きました。目的も人により様々で、僕みたいにプログラミングをもっと勉強したいという人もいれば、本気で世界を変えたいと思っている起業家の卵みたいな人たち、単純ににいろんな人とつながりたい人など本当にいろんな方がいました。中でも、僕は某大手企業の研究職の方と同じチームに入ることになったのですが、普段の企業説明会などではあまり聞けないようなことまでお話が聞けて非常に参考になりました。

プログラムが書けないからハッカソンは自分には敷居が高いなと思っている方でも、必ず誰かがサポートしてくれるので、参加者の話を聞くだけといった気軽な感じでもっと参加してもらえればいいなと思います。

その2 APIプログラミングについて知る

ここからは少し技術に関して思ったことを書きます。
まずハッカソンではAPIに関する知識が求められます。APIApplication Programming Interfaceの頭文字で、公式に提供されているWebサービスなどをプログラミングに利用することができます。例えば、アプリに地図を組み込みたいといった場合にはわざわざ自分で一から地図を作らなくとも、Google MapのAPIを利用することで大幅に開発期間を短縮し、なおかつクオリティの高いサービスを作ることができます。

次のリンクはハッカソンで用いられたプログラミング言語、およびAPIのランキング結果です。

jp.techcrunch.com

TwitterFacebookInstagramなど私たちに身近なSNSAPI、それからGooglePlayやSoundCloudAPIなんかもよく利用されています。また人気のあるプログラミング言語ランキング上位に位置するのもWebプログラミングが得意なJavaScriptPythonです。ハッカソンのような短い開発期間においては、既存のサービスにちょい足ししたり、組み合わせたりして新たな発想のものを作るといった考え方が好まれるようです。

なかなか学生では、プログラミングが本当に好きでもなければAPIを利用することは少ないかもしれません。ですが今はインターネットの時代なので、Webを活用できる能力が求められます。数値計算やソートアルゴリズムだけがプログラミングではありません。何よりWebは自身がよく利用しているので仕組みが分かると本当に面白いと思います。今までWebプログラミングやAPIに触れたことがないという学生の方はぜ使ってみてください。

僕もこの機会をきっかけにJavaScriptに出会うことができたので、それ関連の記事などもまた書けたらなと思います。

その3 UIデザインについて知る

UIはUser Interfaceの略で、どうすればサービスを実際に使用するユーザが操作しやすいかなどを考えてデザインされるものです。最近なんかもアプリ版Twitterのアイコンが四角から丸に変わっていて少し話題になりました。

ferret-plus.com

情報系の学部なんかではアプリや製品のプロトタイプやサービスなんかを学校で作る機会が多少なりあるかと思いますが、UIについて教わったり学んだりする機会はまだあまりないのではないでしょうか。ここに学校で教わることと現実で求められることのギャップを感じました。実際、ハッカソンでも学生が創作したものとプロのデザインが加えられたものとでは、クオリティに大きな差があったように感じます。本職のデザイナーとまではいかなくとも、エンジニアでも必要最低限デザインの理解ができると、ワンランク上のエンジニアになれるのかなって思いました。

最後までお読みいただきましてありがとうございました。
どこかのハッカソン等で会う機会があればぜひお声かけください!

おまけ

最近アイドルの結婚宣言が世間を賑わせているので、アイドルに関する簡単なアルゴリズムの問題を一つご紹介します。よかったら考えてみてください。

川の一方の岸に、あなたとアイドル、そのアイドルのオタク、そのアイドルの彼氏がいます。今、川の反対側の岸に3人を送り届けなければならないという謎の状況が発生しました。川を渡るための船はあなたともう1人しか乗ることができません。ただし、アイドルが襲われる危険性があるのでオタクとアイドルを二人きりにすることはできません。また、彼氏と逃亡してしまう恐れがあるのでアイドルと彼氏を二人きりにすることもできません。無事に3人を対岸に送り届けることができるような方法は存在するでしょうか?