1
/
5

ハッカソンの夏がやってきた!

ご無沙汰しております、株式会社ビーイングのレジェンドY(通称)です。
前回は、私の経歴や会社の雰囲気などを紹介しましたが、いかがだったでしょうか?

今回は、過去ではなく最近の話題である「Beingハッカソン」(以後ハッカソンと称します)についてご紹介したいと思います。

■ハッカソンとは?

ハッカソンとは?
ハック(Hack)とマラソン(Marathon)を合わせて造られた造語で、複数の開発者が集りチームを作り、あるテーマのアプリケーションを期間内に開発し、その出来栄えを競い合うイベントです。

当社では開発力向上のため、開発部イベント「ハッカソン」を2020年から年に何回か開催しています。

私自身、ハッカソンの運営側(事務局)として、初回から関わってきましたが、この夏に「第7回 Beingハッカソン」が開催されました。

ハッカソンの運営については、試行錯誤をしつつ毎回新しい試みを取り入れて継続的に進化していますが、最近の進め方はおおまかに

・事務局が出す「お題」に沿ったアプリケーションを2日間でチーム開発。
・Zoomでのオンライン開催のため、居住地や所属にとらわれないチーム編成。
・開発はリーダーやアーキテクトなど役割決めも含め、チームの自主統治で進行。
・新入社員含め、若手を中心としたメンバーが参戦。

となっていて、ハッカソン開催中の2日間は、ひたすら開発に没頭する環境が用意されます。

■ハッカソンよもやま話

さて、今回のお題はズバリ!

「昭和レトロゲーム(横スクロールシューティング)を開発せよ!」
で、昭和世代には懐かしい、「グラディウスのようなゲーム」をTypeScriptで開発しました。



シューティングゲームだけあって、開発&デバッグ中は

・弾に当たっても自機が、絶対無敵でやられない。
・敵がいつまでも画面内に居座って消えてくれない。
・何も無い空間から、突然弾が発射され、不本意な状態で自機が爆死する

など、面白い現象を多数目撃しました。(^^)



↑最後に各チームで開発したアプリをプレゼンします。


話は変わりますが、最近の運営側(主にベテラン・中堅エンジニアで構成)の悩みとしては、「若い参加者に主催者の意図をどう伝えるか?」があります。今回の場合、”昭和レトロゲーム”を若者がどのように受け止めるのか...が少し心配ではありました。

40歳くらいまでの人は、コナミのグラディウスなどが頭にすぐ浮かぶと思いますが、そもそも、それを見たこともない若人が、これをどう咀嚼するのか...。
(斜め上を行く、勘違い系アプリが登場する可能性もあった中、各チーム大きく逸脱せずに、開発できたので少しホッとしています。)

なお、過去にオセロゲームをお題にした回では、外国人の参加者から開催後に「オセロというゲームを今回初めて知りました!」ということもあり、お題選びは「ジェネレーションギャップ」や「国際化」など色々と考慮する必要があり、なかなか奥深いものがあります。

■設計力が重要

さて、前回の記事で取り上げましたが、当社の開発では
 ・自社製品の新規開発
 ・自社製品のバージョンアップ開発
を主に行っています。

上記のいずれを行う場合においても必要なスキルとして、プログラミング能力に加えて
 ・新しい製品を生み出すための設計力
 ・後々のバージョンアップを見込んだクラス設計や拡張性の担保(これも設計力)
 ・開発チームメンバーのコミュニケーション能力
が必須です。

新しく製品を設計する場合、特に”最初の作り”が重要で以下を押さえていないと、あとで大きな不幸が待ち構えています。

・保守性
 > 低いと、簡単なバグ修正にも苦労します。コードの可読性に問題あると、誰かに引き継ぐのも難しくなります。(結果、その製品からいつまでも離れられなくなります。)

・拡張性
 > 低いと、簡単な機能追加でも多くの修正が必要になります。開発手間の増加、品質の低下などロクなことがありません。

ハッカソンは、これら開発に重要な設計力を育むための一助として、開催しています。

■開発の高みを目指すのに近道なし!

ここからは私の持論ですが、これまで30年以上ソフトウェア開発を続けてきて、良い設計ができるようになるための近道は無いと思っています。
世の中には、「良いコードを書く」ための書籍や情報が溢れていますが、これが自分の中で腹落ちして、実際に使いこなせるようになるには、以下のようなサイクルによる”鍛錬”が必要です。

  1. 書籍やサイトなどで、よい設計がなんたるかを学ぶ。
  2. 実際に自分で良いと思うコードを書いてみる。
  3. 自身の書いたコードを検証する。普通は改善の余地(問題)があるので、どうすればよくなるか考える。
  4. 1に戻る。
    (上記サイクルを何度も繰り返し)

上記は短期的な話ですが、もう少し時間軸を長めに取ると、自分自身が書いたその時の”最善のコード”は、成長により何年後かには自身に取って”最善のコード”では無くなります。

ある程度の年数、この業界で開発経験がある人なら、修正の折に何年か前の自分のコードを見て(ヘッダに、自分の名前を見つけて)
自分:「誰だ、こんなダサいコードを書いたのは?」
自分:「あっ!自分か。昔はまだ青かったなぁ...」
という経験があるはずです。

ハッカソンでは、このサイクルを1回でも回すことで、1歩でも”良い設計に向かい前進”できるように配慮しています。

■来たれ!ハッカソンへ

さて、当社の開発部にこれから入りたいという方は、「ハッカソンに参加」することになると思います。
「まだプログラミングに自信がないのでどうしよう...」
という人も、ご安心ください!

多くの場合、入社するとすぐにハッカソンに「自動エントリー」されるので、悩む必要もなく「めでたく参加が決定!」します。

ちなみにですが、私自身これまで全ての回の活動を見守ってきましたが、どのチームも皆で和気あいあいと活動していました。

だから、きっとあなたも大丈夫なはずです!

株式会社ビーイングでは一緒に働く仲間を募集しています
6 いいね!
6 いいね!
同じタグの記事
今週のランキング
株式会社ビーイングからお誘い
この話題に共感したら、メンバーと話してみませんか?