チーム開発で経験を積んで、スキルアップ

1ヶ月半、3人で取り組む本気のプロジェクト。実務未経験から開発スキルを身につけて、ソフトウェアエンジニアとして活躍する準備をしましょう。

同じ目標を持つ仲間とチーム開発しよう

互いに切磋琢磨して、短期間で実務経験に近い実践的なスキルを身につけよう。

前から気になっていたチーム開発プログラムに参加してみました!メンターのサポートもあったおかげで、納得のいくプロジェクトを作り上げることができました。特に文系出身の学生や未経験からのエンジニア転職を目指している方には、チーム開発の経験ができ、ポートフォリオも作成できるのですごくおすすめです。

3ヶ月前まで何も作れなかった私が、チーム開発に携われたのは、Recursionでコンピュータサイエンスの基礎をしっかり学習したおかげです。チーム開発では、学習意欲が旺盛な2人のメンバーと開発を進めることができ、レベルの高い成果物を開発できました。学べることがとても多く、自分に足りない部分を認識する非常に良い機会になりました。

Recursionを始めてから約1年になりますが、1年前は若い人たちと一緒にチーム開発をすることになるとは夢にも思っていませんでした。チームメンバーの提案で新しい技術を色々取り入れることになり、自分ひとりで開発していたのでは到底できないようなクオリティの高い成果物を作り上げることができました。

チーム開発のおかげでRecursionで学んだ知識の活かし方が分かりました。オブジェクト指向プログラミングやアルゴリズムの理解がより深まったと思います。また、メンバーと議論することで一人で勉強するだけでは気が付かないような視点を得ることができました。チームでのGitの使い方を学べるので転職前に経験できてよかったです。

1ヶ月間という短い期間でしたが、多くの経験、学びを得ることができました。何より、頼もしいチームメンバーと楽しく開発できたことに大きな価値を感じました。1ヶ月では物足りないと思えるほど充実した内容でしたので、これからもRecursionというコミュニティを活用して積極的にチーム開発をしていきたいです。

1ヶ月という短い期間で、新しいフレームワークや技術開発に挑戦したので、常に自分のコンフォートゾーン外で開発を進めることができました。Gitを利用したチーム開発の仕方や役割の分担、最新の技術スタックに取り組んだので、個人開発より数倍成長できたことが実感できましたし、より実践的なスキルを身につけることができました。

チーム開発はとても楽しいです。Gitの実践的な使用法、コード規約の作成、同じイメージを共有するためのコミュニケーションなどを学びます。経験のあるメンターの元、チーム開発ならではのスキルを体得することは大きな自信に繋がります。各々が自分の知識を伝え合い学びを深められる点も魅力です。

チーム開発以前はGithubやGitが使えなかったり無駄なコードを書いていましたが、チーム開発を始めてからはGitの理解がより深まり、コードレビューされたことでスマートなコードが書けるようになりました。また、チームメンバーのコードを読む機会が多く、大変勉強なりました。

チームメンバーは同じぐらいのレベルの方々だったので、開発が進めやすかったです。またコードレビューを受けることもでき、計算量を意識したロジック作成や可読性の高いコードの書き方、Gitの使い方を学べました。1か月間、開発に集中することでかなり成長できたと思います。

チーム開発を通じて、今までの学習の中で一番多くのものを吸収出来ました。個人の学習で身につかなかった Gitのチーム開発での使い方、モジュール毎の開発を学ぶことができました。また、コードスタイルや設計について自分からは出てこない視点を他のメンバーから得られました。

Recursionで学習し始めて3ヶ月ほどでチーム開発に参加しました。少し背伸びをした技術選定だったこともありインプット、アウトプット共に怒涛の1ヶ月でした。また、単純な技術力だけでなくGit、GitHubを用いてのチーム開発を経験することもでき、学びと成長は大きく感じることができました。

Recursionだけを使い倒していて、知識には自信があったのですが、初めて学ぶことが多かったです。Gitの使い方などチーム開発で必要なスキルがわかりました。また、自分の足りない部分を認識することができました。学ばせて頂いたことを活かし、今後の成長に繋げていきたいです。

チーム開発の成果物例

チーム開発では、要件定義に従って、3人1組で以下のような成果物をゼロから作成します。

Bom Bom Panic

ブラウザ上でプレイ可能なボンバーマン風のオンライン対戦ゲームです。このゲームでは、プレイヤーが自分のキャラクターを操作し、戦略的にボムを設置します。ボムから広がる上下左右の爆風で敵を倒すことや、障害物を破壊して特別なアイテムを得ることが可能です。一人でCPUとの対戦も楽しめるほか、友達や他のプレイヤーと同じ部屋でリアルタイムに対戦する機能も提供しています。爽快な対戦を楽しめるゲームです。

作品を見る
Typing Game

タイピングの練習を目的としたコードは、自分で貼り付けるか、GitHubからインポートすることが可能です。このゲームでは、キーボード上の各キーの位置と、それを打つべき指がどれであるかを検知し、色で表示しています。さらに、かかった時間や打ち間違いの回数をカウントし、それを基に各キーや指ごとの統計情報を取得します。この情報はゲームの詳細な結果として活用され、タイピングスキルの向上に役立てることができます。

作品を見る
Connect4

プレイヤーが交互に上からボールを積み上げていく対戦ゲームで、最初に縦、横、または斜めに4つのボールを直線に並べた方が勝者となります。このゲームにおいて、私たちはモンテカルロ木探索アルゴリズムを実装し、CPUが最適な手を選ぶ際の判断を支えるように設計しました。さらに、勝利が決定する際の計算量を削減し、プロセスをより効率的かつ無駄のないものにするための最適化も行いました。

作品を見る
MindJam

アイデアを視覚化して整理するためのマインドマップツールです。要素の追加や削除、色や形の変更、文字のサイズや太さを変えるなど、高い自由度での操作が可能です。さらに、Websocketの導入により、複数のユーザーがリアルタイムで同時に編集できる機能も備えています。この多機能性により、チームでのアイデア共有やプロジェクトの進行管理など、幅広い用途に利用することができます。

作品を見る
Blockee

UIでは、次に置くべきピースの位置、ピースの回転やフリップのオプション、ターンの切り替えなどが非常にわかりやすく表示されているため、操作が直感的になっています。CPU対戦の場合、難易度に応じて異なるアルゴリズムが適用されます。ゲームが終了した後にはリプレイを見ることができます。モバイルアプリ、デスクトップアプリの両方でプレイすることが可能なので、どこでも楽しむことができます。

作品を見る
Othello

盤面は8方向に連結リストを用いて構築されています。また、石を囲む領域に関しても独自の連結リストで管理しています。石を配置する位置を決定する際には、その囲みの連結リストを参照し、指定された方向に探索を進めながら、石を置けるかどうかを確認します。このゲームの実装には、連結リストとLRUキャッシュを効果的に活用しています。この方法により、効率的な探索とデータの保存が可能となっています。

作品を見る
Card Game Stadium

複数のトランプゲームをCPUと対戦できるブラウザ上で動作するゲームです。対応するゲームモードは、ブラックジャック、ウォー、スピード、ポーカーで、それぞれプレイヤー数やルール、勝利条件が異なります。プレーヤーは通算の成績や過去のゲームで得たお金の使用、全ユーザーの所持金ランキングの確認などができます。将来的にトランプゲームのモードを追加するために、コードベースは拡張可能な状態にしています。

作品を見る
Watashi

アイコンや手書きを使って自分だけの偏愛マップを作成するアプリケーションです。完成したマップを画像形式とデータ構造で管理することができ、自分のデバイスに画像として保存することができます。編集を行う際には、アイテムの座標や前後関係を確認し、以前の作業をスムーズに継続することができます。既存の画像やテキストの移動、削除、新しいアイテムの追加など、自由にカスタマイズしてマップを作り上げることが可能です。

作品を見る

チーム開発によくある質問

A. はい、初心者向けのチーム開発も用意してあります。初心者向けのチーム開発では、特に「Gitのチームでの使い方の習得」に焦点を当てています。プログラムの前半部分では、Gitをチームで効果的に使用するためのワークショップを実施し、参加者にGitの操作に慣れ親しんでもらいます。後半部分では、HTML、CSS、JavaScriptを使用した基本的なチーム開発を約10日間で進めていきます。

A. チーム開発のプロセスでは、技術の選定、ソフトウェアの設計、そして実際の開発作業が行われます。期間は1ヶ月半で、与えられた要件を満たすソフトウェアを作成します。チーム開発の内容は、以下の動画で詳しく解説しているので、興味のある方は参考にしてください。

A. ソフトウェアエンジニアの職に就く際、多くの企業がチームでの開発経験について質問することが一般的です。特に、学生の場合、チーム開発の経験があると、採用される確率が大幅に向上することがしばしば見られます。既にエンジニアとして勤務している方でも、ソフトウェア開発の機会に恵まれていないと、転職市場では未経験者とみなされることがあるので注意が必要です。チーム開発の経験は履歴書に書ける内容を増やすだけでなく、自身のキャリアにおいても重要な要素となります。

Recursionでチーム開発を身につけよう

Recursionでは、フロントエンド、バックエンド共にチーム開発の経験を積むことができます。実務により近い経験を積んで、スキルアップしましょう。