良い花は後から

エンジニアのキャリアや働き方、転職などについてお話するブログ

未経験エンジニアの方へお勧めできるハッカソンを通したチーム開発経験

本記事では未経験の方へお勧めできるハッカソンの参加についてお話しします。ハッカソンについてご存知ない方もいると思いますのでハッカソンについてのご紹介から、お勧めする理由までまとめてみます。

f:id:masayuki5160:20200214221016j:plain

ハッカソンとは

Wikipediaでは以下のように定義されています。

ハッカソンとはソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが集中的に作業をするソフトウェア関連プロジェクトのイベントである。個人ごとに作業する場合、班ごとに作業する場合、全体で一つの目標に作業する場合などがある。

引用:ハッカソン - Wikipedia

形式は様々ですが例えばヤフーが主催するハッカソンであるHackU( https://hacku.yahoo.co.jp/ )は大まかに以下のようなルールで行なっています。

  • 小学生以上の学生なら誰でも参加OK
  • ヤフー社員が技術サポート
  • 1チーム2〜6名
  • デモや説明ビデオなどで規定時間内でのプレゼンテーションを実施

少しイメージついたでしょうか。ハッカソンによっては参加対象者が違ったり、ジャンルがゲームに絞られたゲームハッカソンというのもあったりします。世界最大の規模のゲームハッカソンですとGGJがあります。

 

globalgamejam.org

 

国内でも毎年会場が提供されているので参加はしやすいと思います。例えば大阪ですとconnpassで募集をしています(コロナ禍ということもあってオンラインですが)。

 

connpass.com

 

なぜハッカソンをお勧めするのか

さてそれでは具体的にお勧めする理由をいくつかご紹介します。

一つのプロダクトを作り上げる経験

ハッカソンではある期間でチームで一つのプロダクトを作り上げることになります。そしてそれはある程度のクオリティのプロダクトを目指すことになります。もちろんハッカソンですのでまずは動くことを目指して作り上げていくことになりますがそれでも複数人で開発をする以上はある程度の設計は必要になります。複数人で開発をするための最低限の粒度で設計が必要、ということです。また、レベルの高いハッカソンの場合は見た目の部分も大事な要素になります。そのため個人で作っている時よりはUIUXに力を入れて開発をすることになるでしょう。実際に商品としてリリースをするようなクオリティではないとはいえ、ある程度のクオリティを目指してプロダクトを作り上げる経験というのは未経験の方にとって非常に良い経験の場になります。一人で学んでいるだけではなかなかできない経験です。

チーム開発の経験

次がチーム開発の経験です。多くのハッカソンではチームで参加する必要があります(個人で参加することが可能なハッカソンももちろんあります)。未経験エンジニアの方やこれからエンジニアを目指す方にとってはチームで開発することはどんな感じなのか想像がつかないでしょう。ハッカソンではそれを短い期間ではありますがしっかり経験できます。チームで開発をするときは何を作るかももちろんそうですが、どのツールを使って開発をしていくかについても開発を始めるときに議論をして決めていきます。慣れている方がいるとすぐに決まるものですがそういった点も実際の開発の現場に近い気がします。ソースコードのバージョン管理はgitを使おう、というような話ですね、こういった点は開発の現場でも組織にもよりますがすぐに決まるかと思います。個人では例えばgitも使ってきたことがあると思いますが実際にチームで開発をするとなるとどういうルールでブランチを作ってマージしていくか、なども議論になるでしょう。そういった一つ一つがチーム開発を経験したことがない方にとっては学びになるはずです。そのためハッカソンでチーム開発を経験することはお勧めする理由の一つとしています。ちなみにですが、可能であれば知り合いと一緒にチームを組むことをお勧めします、その方が色々とやりやすいためです。

プロダクト開発時に起こる課題解決

もう一つがこの課題解決についてです。ハッカソンでは仮に大まかに作るプロダクトの方向性が決まったとしても開発を進めるにつれてどんどん問題が出てきます。例えば、

 

  • 予定していた機能の開発が技術的に課題があってうまく進まない
  • 開発を予定している機能の仕様について意見が分かれた
  • 残り期間が少ないが開発を予定している機能が山のように残っている

 

などなど。これはハッカソンならでは、ということではなくむしろ実際の開発現場でも日々起こることと同じです。ハッカソンでは現場でも起こるこういった課題を経験でき、どうアプローチしていくかを経験できます。チームによっては夜通し開発をすることで課題を解決しようとするでしょうし、うまく優先度付けをして開発をするチームもあるでしょう。チームによっては意見が噛み合わず険悪な雰囲気になってしまうこともあります。これら全て開発の現場と同じですので一人で学習をしていてはなかなか経験できないことですね。そのためこの項目についてもハッカソンをお勧めする理由の一つになります。なお、前述したようにこういったことがあるのでもし可能でしたら知り合いと一緒にチームを組むことをお勧めします。もちろん初めての方と一緒にチームを組むことも大丈夫ですが上述のようになかなか大変なこともあるのでそこは理解した上で参加することが良いでしょう。

まとめ

本記事は以上になります。ハッカソンに参加することに少し勇気が必要かもしれません。しかしお話ししてきたようにエンジニア未経験の方こそ知り合いと一緒に参加できると得られることが多く実際の業務へもつながっていきます。すごい経験がないとハッカソンに参加できない、ということはありません。もちろんレベルの高いハッカソンもありますがハッカソンのイベントというのは作ることに対してリスペクトがされています。ハッカソンの中でうまくいかないこともあると思いますがハッカソンによってはサポートする方がついていたりしますし、ここまではできています、というような形で最終的にプロダクトを仕上げたとしてもそれに対してはしっかりとリスペクトをしてもらえます。作ることを繰り返すことで技術力もつきます。僕の友人でハッカソンが大好きで毎年出ているエンジニアがいるのですが、その方は実際の実務でもすごい成果を毎回出していました。今でも尊敬しているエンジニアの一人です。ハッカソンを通してチーム開発を経験し、プロダクトを作り上げる経験を積むことでぜひキャリアにつなげていくと良いでしょう。それでは本記事は以上です。どなたかの参考になれば幸いです。