ねこ好き女性エンジニアのTech Blog

ねこ好き女性エンジニアのTech Blogです。1ヶ月ごとにやったことをアウトプットとして発信していけたらなと思います🐈🌱

初ハッカソン:即席チームで参加!

即席チームでのハッカソンに参加してきました!

  • ハッカソンに参加した目的

    • 複数人での開発をしたい
      • 42Tokyoで2人での開発経験はあったものの、それ以上の人数での経験がなかったこと。より多い人数チームでの開発を行ってみたい。
    • フロントエンドを学びたい
      • バックエンド(Go)は学んだことがあったので、今回はフロントエンドを学び、バックエンドとの違いを知りたい。
    • Webアプリのリリースをしたい
      • 将来的に様々なWebアプリをリリースすることが目標なので、バックエンドとフロントエンドの開発の流れ、リリースまでの流れを学びたい。

     

    以下、私たちのチームが作ったWebアプリと、即席チームでどんな取り組み方をしたかをまとめました。

対戦型タイピングゲーム(Tystant)

<名前由来>

  1. 即席→instant
  2. タイピングゲーム→typing

1 + 2 合わせて「Tystant」

<使用技術>

フロントエンド:React

バックエンド:Go、MySQL

環境構築:Docker

 

<チーム開発の流れ>

  1. 作りたいものや使用したい技術などをGoogleドキュメントでまとめる
  2. それぞれの意見を踏まえて、作るものと担当を決定
  3. Githubで管理。実装したものはpull requestを出し、確認しつつ開発。
  4. Dockerで環境構築
  5. 悩んでわからなかった箇所はdiscordで相談しながら皆で解決

https://twitter.com/geek_pjt/status/1779409520105800012

 

<挑戦したこと:個人>

    • 初めてのフロントエンド(React)担当
      • 自分がデザインした状態がそのままWebアプリのデザインとして反映されて嬉しかった
      • 元々デザイン系は好きなので、プログラミングを通して自由にデザインできることの楽しさを知った
    • Dockerを使用したWebアプリ開発
    • WebSocketを使用して双方向通信を実装
    • フロントエンドとバックエンドの情報のやり取りの流れ
  • React勉強法

    • 1. 最初にドキュメントをさらっと読みました。正直よくわかっていないけどReactに関する単語や文法などを簡単に把握。

    • 2. youtubeを見ながら、写経。どんな実装をすればどういうUIになるのか、どういう機能が出来上がるのかを学びました。
      ハッカソンがキックオフしてから2日間はこの勉強法で、簡単なメモ帳アプリを作成したり、とにかくドキュメントを読みました。

    • 3. ハッカソン3日目から実際にWeb開発を始めました。なんとなく実装方法はわかったのでとにかく手を動かしました。また、Chat GPTに、より良いコードにするにはどうすればいいか聞いたり、模索したりしながら実装を進めました。

 

<挑戦したこと:チーム開発>

結局コミュニケーション能力!楽しめるかどうかは自分次第!

せっかくチームでの開発なので、悩んだら聞くことが大事だと感じました。そうすることでお互いの進捗状態も把握できる!なかなかチームでの開発だと進捗状態が分かりにくいです。(特に今回はオンラインだったので尚更)こまめに連絡しあったり、ディスコードのボイスチャンネルで黙々作業してすぐに聞けるような環境づくりをするなどの工夫が大切かなと感じました。

また、私はチームメンバーが発言した内容に関してはスタンプや返信をすぐ返すことを意識していました。自分のメッセージにスタンプ押してもらえると見てくれていることもわかるし、嬉しい気持ちになるので実践していました。

 

<感想>

 最初は緊張して上手く話せなかったのですが、技術を通して少しずつ打ち解けることができ、夜中一緒に開発を進めたり、休憩中に個人的な話しをするほど仲良くなりました。同じエンジニアを目指す仲間が増えて嬉しかったです。また、私たちのチームは全国各地から参加していたので、全国にもこうやって一緒にエンジニアを目指す人たちがたくさんいるんだな~と嬉しく感じました。将来も一緒に頑張っていきたいです。

 ハッカソンは多様な技術とアイデアを学ぶことができる場であると感じました。1週間コミットしていたので、終了後はとても達成感がありました。

 また、これまで使用したことのないDockerやデータベースの知識が、このハッカソンを通して、具体的な開発スキルとして結びつきました。単に学ぶだけでなく、実際に手を動かしてみることの重要性を改めて認識しました。わからないことがあっても、周りには知識を持つ人がいて、質問すれば教えてくれる環境に感謝するとともに、積極的に学びを深める姿勢が重要だと実感しました。

 今後は開発スピードをさらに上げ、新しい技術も積極的に学んで実践していきたいと思います。ハッカソンはその最適な場であり、次回も是非参加してさらに多くのことを学びたいと考えています。今回は賞を獲得することはできませんでしたが、一週間という短い間、有意義な時間を過ごせたのでとても幸せでした。

 ハッカソンに興味があるけれども参加をためらっている方、または新しい技術を実践で試してみたいと思っている方に、ぜひおすすめしたいと思います。

やりきれば自信にもつながります!応援しています!

 

<Tystant> login画面、マッチング画面、対戦画面、結果画面