1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

ハッカソンに興味はあるけど一歩踏み出せない人に贈る初参戦記

この記事はサポーターズ様により10月に行われたオータムハッカソンの参加レポになります。遅い
また、この記事はUT-virtual Advent Calendar 2020の22日目に寄稿しています。

はじめに

はじめまして。くろっくと申します。
先日(といっても2か月前)サポーターズ様主催で行われたオータムハッカソンに参加してきました。
私にとって初めてのハッカソンでありチーム開発で、正直不安な部分も多かったです。
というのもまだものづくりや開発の歴が1年に満たないもので・・・赤ちゃんですね。
そんな私が今回のハッカソンで何をつくったか、そしてそれを通じて思ったこと、感じたことをこれからハッカソンに出てみたいという方に向けて残しておこうと思います。

なにをつくったの

今回私はZoomでしか話したことのない同級生(以下相棒氏、ハッカソン初参戦)とエントリーし、「非常簡単的単語帳」という何とも似非中国語なタイトルのアプリを開発しました。
「PC上で動く中国語の便利単語帳」をコンセプトに、単語帳制作モードではピンインの自動入力を行ったり、単語帳をシェアしたり、学習モードでは漢字/ピンイン/意味を好きな順番で1つずつみられるようにしたり・・・自分たちが中国語を学習するうえで「こんな機能があったらいいのにな」を詰め込んだアプリになったと思います。
ちなみにデザインはめちゃくちゃシンプルでした(下図)。というのも今回Pythonのtkinterを使用したのですが、紆余曲折あってデザインを凝るところまでたどり着けず、ならいっそシンプルイズベストにしてしまえ、ということになったためです。
決して私の美術の成績が3だったからじゃないです。

image.png
image.png

そしてこれを作った結果、なんと入選しました!
上で書いたように、自分たちの不便さから生まれた、はっきりしたコンセプトがある点を評価していただけたようでした。
やはり当事者意識があると開発の内容も少し変わってくるのかな、と思います。
そんなわけで、以下に「ハッカソンにもう一歩踏み出せない駆け出し開発者」に向けた所感を書いておきます。
基本的にこの辺を把握していればハッカソン参加は怖くないです。

初ハッカソンで思ったこと

①動けばすごい

おそらく「ハッカソンに興味はあるけど出る勇気がない」という人たちは、Twitterなどで見かけるような入賞したつよつよエンジニアの作品を見て、「こんなにレベルが高いのか・・・自分には出来ない・・・」と思ってしまっている人も多いのではないでしょうか。実はハッカソン、(もちろんそれ自体のレベルにもよりますが)意外と皆さん直前までうまく動作しない、ということがあるようです。ですから、まずは「時間内に動くだけで十分すごい」ということを認識しておくのが良いと思います。私も1日目はほぼ成果0でしたので。

②はじめて触れる技術に挑戦しよう

ハッカソンは小さなアウトプットを作るための最高の機会だと思います。特にサポーターズ様主催のハッカソンは雰囲気も和やかで、「みんなでアウトプットを作ろう!」という和気あいあいとした空気感がありました。そしてこのご時世、オンラインハッカソンということでSlackなどを用いたサポートも充実しています。この環境は、自分が使い慣れない技術で「はじめてのアウトプット」をするのに非常に良いものだと私は思っています。
特に技術を新しく学ぼう、というときにはやはり実践が大切です。ハッカソンであればある程度の時間制限という緊張感とともに実際の制作を行えるので、適度な負荷になるように感じました。

③ダメそうなときには思い切って方向転換しよう

実は私たちは当初Reactで何か作ろう、という話をしていました。しかしハッカソンの前週、互いに勉強を進めていたところ、「このままでは制作が間に合わない!」ということでPythonへと移った経緯があります。この意味で、一つは基本構文が書けるプログラミング言語をちゃんと持っておくことが大切です。新しい技術に挑戦するうえでの保険みたいなものですね。成果物を残すためにも、ちゃんと奥の手を持っておきましょう。

④Web系とかローカルとか気にしない

ハッカソンは(偏見かもしれませんが)Web系の成果物が多いです。自分たちがReactを使おうとしたのもそれが一つの理由にありました。しかし実際のところ、Pythonでも何でも、ローカルアプリケーションであることによる弊害はほぼないと思います。「自分はWeb系言語書けないから・・・」という人も、ぜひC#やC++、Pythonなど自分の使いやすい言語で参加していただけるといいかと思います。

⑤コンセプトを明確にしよう

これはハッカソンに限らず、どんな場面でも大事ですね。「何のために」「何をするプログラムか」など、自分たちが最終成果物をどう使いたいかを具体的にイメージしましょう。これがある種のメッセージとして作品にこもります。開発期間の短いハッカソンでは、あまり多くの作業はできません。必要な機能は何かをきちんと洗い出し、無駄を省くためにもアイデアを精査しましょう。

⑥何事にも動じず楽しもう

プログラムを書くときはだいたいそうですが、きちんと設計して書いたつもりが意図通りの動きをしてくれなかったり、あるいはそもそも動かない、なんてことがあります。ただウインドウを表示するのに1日使ってしまったり、2日目に相棒氏が昼まで起きてこなかったり……世の中何が起こるかわかりません。こういったことに動じず、まずは目の前のことを処理するようにしましょう。

⑦軽率にチームでエントリーしよう

ハッカソン、意外とハードルは低いです。短期間での開発に不安を覚える人もいるでしょうが、そんな人もチーム開発で飛び込めばなんとかなります。やっぱり一人で飛び込むのは怖いですから。それに一人でコーディングし続けると多分病みます。エラーが消えなかったり、実装しなきゃいけない部分が上手く書けなかったり。そんなときでも誰かと一緒なら自分のわからない箇所を押しつけ代わってもらったり、交代で休憩を取りながらエラーチェックしたり……だいぶ気が楽になると思います。辛くないとは言ってない

ちなみにGitはプル、コミット、プッシュだけでもできるようになっておいたほうがいいです。相棒氏にはご迷惑をお掛けしました・・・(当時Git未経験者)

いざ実戦

私はまだこういった会の参加歴は浅いのですが、世の中には結構初心者歓迎のハッカソンがあるようです。サポーターズ様も1月に1回くらいの頻度で開催しているので初心者はここからがいいかと思います。

何度も言うようですが、形にするだけで十分すごいです。
何ならアイデアを持ってこられるだけでもすごいです。

外出自粛で何もできずに籠っているだけの方々、ぜひハッカソンを利用してアウトプットを始めてみてはいかがでしょうか。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?