2025年3月18日(火)〜3月21日(金)にかけて、「第7回ソニックガーデンキャンプ」が開催されました。
ソニックガーデンキャンプは無料のオンラインプログラミング合宿です。
キックオフまでの約4週間は、自身の習熟度に合わせてRailsチュートリアルを中心に、Ruby on Railsを個々に学習します。事前学習後は3泊4日のリアル開発合宿。第7回となる今回は、愛知県瀬戸市の古民家をリノベーションした宿泊施設「ますきち」で寝食を共にすることになりました。
お互いに励まし合い、切磋琢磨しながらアプリ開発に取り組む面々。まさに開発のことしか考えない3日間を過ごし、最終日にはソニックガーデンのプログラマたちの前でのプレゼンに挑みました。
合宿期間中は、キャンプを運営するソニックガーデンのプログラマを開発メンバー兼メンターとして各チームに配置。開発や進め方やふりかえりの方法の指導、学習・開発の質問対応・アドバイスも行います。
事前学習
- Railsチュートリアルや、運営で用意した課題に沿ったアプリ開発など、参加者の技術力に合った課題に取り組みました。
- また、Railsチュートリアル完走後に簡単なRailsアプリの模倣課題に取り組みました。
- 渡された課題のクリアを開発合宿への参加条件としました。
進捗共有会
- 参加者全員が課題をクリアできるよう、近況報告や質問ができる進捗共有会を毎週行いました。
もくもく会
- 参加者が集まって学習したり技術の話をしたりする勉強会を実施しました。
合宿の説明
-
合宿が行われる場所やタイムスケジュール、食事等についての説明を行いました。
-
開発を一緒に行うチームと、開発するアプリの要件、発表会の詳細に関する発表も行いました。
環境構築
-
事前にお渡ししたマニュアルにそって環境構築が済んでいるか、メンターと共に確認する時間をとりました。
アプリの構想
-
アプリの仕様やデータベースの設計など、コーディングに着手するまでに決めることをチームで話し合ったり、序盤の開発に着手したりしました。
チェックイン 1日目11:00~11:30
-
参加者やメンター、運営とリアルで初めての顔合わせ機会として、改めての自己紹介や、合宿への意気込みを発表しました。
-
アイスブレイクとしてペーパータワーを実施しました。
オリジナルアプリ開発
- 1チーム、2〜3名とメンター1名で開発をしました。
-
開発は主に9:00〜17:30の間に行われました。
-
今回は「誰でも利用できる状態に仕上げること」というルールのみが提示され、自由なテーマの中で各チームで協力し、チームごとに1つのオリジナルアプリを開発しました。
ふりかえり
毎日17:00~18:00
-
夕食前に、開発の進め方などをチームのメンバーとふりかえる時間をとり、チーム同士で共有してみんなでフィードバックを行いました。
アプリ発表会
16:30~17:30
-
発表会はzoomで社員に中継しながら、瀬戸くらし研究所のレンタルスペースで開催されました。
-
事前に発表スライドとアプリデモを準備し、社内のプログラマが見守る中で各チーム10分間の発表を行いました。
-
発表中はzoomのチャットで社員からリアクションをもらい、発表終了後には社員から直接コメントをもらいました。
-
発表会を視聴していた社内のプログラマからレビューをもらい、発表会終了後に参加者に内容が共有されました。
打ち上げ
18:00-21:00
-
発表会を行った瀬戸くらし研究所の1階にある会場で打ち上げを行いました。
-
発表会を見学してくださったゲストの方や運営も混じって、一緒に食事をして交流しました。
-
チェックアウトとして「次にやること」を参加者全員が発表しました。
第7回の参加者は11名。4チームに分かれての開発となりました。今回はマップにピンを立てたエリアの出身アーティストを登録・検索できるアプリ「popcorn_trail」を開発したチーム「YAMR」の3名へのインタビューです。
なぜソニックガーデンキャンプへの参加で得た経験や、チーム開発の面白さなどについてお話しいただきました!
<参加者紹介>
名前 / 学生or既卒 / 参加時のプログラミング歴
Anakki- / 情報系学部3年生 / 高校生の頃から学習開始
noshin / 情報系大学院1年生 / 学部生の頃から学習中 プログラミングスクール在籍 プロダクト共同開発経験あり
Yutan / 既卒2年目 / 情報系の専門学校卒業
では、ソニックガーデンキャンプを知ったきっかけと、参加のきっかけを教えてください。
Anakki-現在大学3年生で、春から4年生です。ソニックガーデンさんから大学にキャンプの案内が来てまして、そこから応募した形になります。
プログラミングの技術や知識を積み上げたい、できればそれを仕事にしている人のリアルな姿を見たいという思いがありました。インターンに行くのが一番経験値を稼げるかなとも思ったんですが、それだと就職活動色が濃くなってしまうんです。そのまま選考につながっちゃったりして、それはまだ今の僕にはハードルが高くて。でもキャンプなら、純粋に経験と勉強のためだけに参加できるなと思って、応募しました。
noshin現在、大学院の修士1年で、春から修士2年になります。大学ではブロックチェーンの研究をしてまして、同時に42tokyoにも参加しています。
キャンプに参加したきっかけは、42tokyoに来ていた募集案内です。今、僕が関わっているオープンソースの基盤システムがRailsで作られていて、ちょうどRailsのキャッチアップを深めたいと思っていたところなので、参加を決めました。すごくいいタイミングでした。
42tokyoと両立しながらの参加は大変でしたね。移動も長距離で。
noshinそうですね。でも、42tokyoの課題は調整しつつではありましたけど、そこまできついスケジュールにはなりませんでした。移動は旅行も兼ねて、楽しみながら(笑)。
Yutan2年前に専門学校を卒業して、1年働いて、現在は勉強しつつ自由に暮らしているところです。実はソニックガーデンに父の知人がおりまして、その方経由でキャンプの案内をもらいました。
身の周りに、同年代でプログラミングをやってる友達がいなかったので、仲間が欲しいなという思いがあったのと、チーム開発をやってみたかったので参加しました。
事前学習期間、皆さんどのように過ごされてましたか?
Anakki-事前学習の期間は、集中して。春休みだったので、1日1章ぐらいのペースでやってました。進捗共有会までに何章まで進めよう、みたいな目標を立ててやれたのがよかったですね。1人だったら絶対どんどん後ろ倒しになってたので、他の人の目があってよかった(笑)。
noshin僕も最初の方は進捗があまりよくなかったんですけど、進捗共有会や掲示板でみんなの状況を確認したりしながらキャッチアップしてました。確かに一人で締め切りもない状態だとズルズルしてしまうんで、進捗共有会なんかはいいペースメーカーでした。
Yutan自由に使える時間はほぼRailsチュートリアル(事前学習課題)にあてていたと思います。僕にとっては内容自体が難しく、単純に物量も多かったんで、ずっとかかりきりになってましたね。進捗共有会までに、現実的に目指せるギリギリぐらいの計画を立ててめっちゃ頑張る、みたいなのを繰り返してどうにか終わらせました。
3泊4日のキャンプを経て、収穫や成長できたポイントなどはありましたか?
Anakki-他の人がどんなふうにプログラミングするのか、それを見られたのが大きかったですね。プログラムを共有するだとか、ER図を作るだとか、開発する時の実践的なプロセスを知れたというのもかなりの収穫でした。
noshin僕はRailsにしっかり触れることができたことが経験になったと思っています。今回、生成AIを使ったアプリサービスを作ったんですけど、そのためにかなり新しいAPIを使用したんです。生成AIを使うためにはPythonかTypeScriptが主流なんですが、Railsでも実装できる、そこはプログラミング言語に依存しないんだということが経験としてわかったのは、大きな収穫です。
Yutan僕、キャンプに参加する段階では、具体的にこれがやりたい、みたいなものが何もなかったんです。そういう曖昧な状態での参加でしたが、チーム開発でフロントエンド サイトを担当してみたらすごく楽しくて。それで、あ、フロントをもっと勉強してみようって思えた、やりたいことが見つかったのが一番大きな収穫です。
今回のキャンプで、特に印象的なエピソードがあれば教えてください。
Yutan今回の合宿はもちろんスケジュールが決まってはいたんですが、19時以降からはずっと自由時間でした。でも参加者もメンターも含めて、その場のほとんどの人がずっと遅くまで作業していて。チームによっては3時とか4時とかまで作業してるところもあって、その熱量に圧倒されました。
Anakki-晩御飯を食べ終わった後に、外にみんなでラーメン食べに行ったり、買い出ししたり、そうやって仲良くなったのが印象的です。このキャンプで初対面で、たった4日間で、それでも仲良くなれるんだなって。
noshin夜ご飯を食べた直後なのにラーメン食べに行くって、なかなかすごいですよね(笑)。僕もそれは印象的です。あと、会場になった「ますきち」さんがすごく素敵な場所で。おしゃれな古民家でずっとプログラミングばっかりしてるという、ある種憧れの生活というか、そういうのが体験できたのもよかったですね。そんな場所で、みんなで3泊4日、寝食を共にして、食卓を囲んでいろいろ話したり、夜まで開発頑張ったり、朝起きてまたみんなで朝ごはん食べたり、すごく楽しかったです。
チーム開発についてはいかがでしたか? 皆さん少しずつご経験があったと伺いましたが。
noshin僕は42tokyoでもチーム開発がありましたし、ハッカソンに参加したりもしてたんで、ある程度経験はある、基本は理解しているつもりで臨みました。なので、今回のキャンプではちゃんと設計をやろうと決めて、メンターさんに相談しながら、開発合宿が始まる前に、機能ごとにある程度の役割分担をしておくということをやったんですね。これが僕的にすごくよかったことで、事前に開発しやすい環境が作れたと思ってます。
業務的に計画性を持って、というところができていたんですね。
noshinそうですね、毎日、朝会と夕会で振り返りの場が設けられていたので、そこで軌道修正しつつ、常に誰が何をやるのかを明確にできていたので、何をやればいいのか分からない、手詰まっちゃって手持ちぶさた、みたいな状況をなくすことができてました。
Anakki-ハッカソンによく出てたんで、チーム開発の経験はありました。普通のハッカソンだと、数日間から1週間かけて、本当にチームだけで開発しないといけないんですけど、キャンプでは他にもチームがあったり、メンターさんもいたので、周りにいろいろ質問できるのがよかったですね。
みんなはどうやるのかな、とか、エンジニアとしての一般的な方法などについて聞けたのが学びになりました。手探り過ぎないというか、先人がいて学習できるという環境は嬉しいですよね。
Yutan専門学校の卒業制作をチーム開発したので、そこで一応の経験がありました。キャンプのチーム開発は、何を作るかというのはもう準備期間で話し合ってあったし、ざっくり役割分担も済まされていたので、3泊4日で開発だけに集中できたのがよかったですね。のしんとメンターさんで役割分担をきちんとしてくれていたので「何やったらいいんだろう?」の時間が生まれなかったがすごく助かりました。あと、手詰まってもちゃんと聞ける環境があるというのも大きかったですね。手厚くサポートしてもらいながら、目の前にあるものに取り組めるのはありがたかったです。
このキャンプでは、チームに一人ずつソニックガーデンのエンジニアがメンターとしてついていました。その関わり方や指導について、感想や印象があれば教えてください。
Anakki-開発期間中にペアプロをやってもらって、すごく勉強になりました。全部教えてくれてしまうわけではないんですけど、どうしようもないところはすっと助けてくれるという距離感が絶妙で、「ちょうどよさ」がすごいなと思いました。話し過ぎず、遠ざかり過ぎず、近過ぎず。
noshinキックオフの段階からかなり積極的にチームに関わっていただきました。さっきも言ったことですけど、開発合宿が始まる前に設計の部分もかなり考えていて、それもメンターさんがリードして進めてくれたので、すごく助かりました。開発合宿が始まってからも、マネジメントを的確にやってくださって、全体が進みやすい環境を作ってくれてたのはメンターさんだったと思っています。チーム開発は本来、そういう設計とかマネジメントまで含めての作業だと思うんですけど、そういうところは全部引き受けてくれて、僕たちを開発に集中させてくれたんですよね。メンターさんがいなければ、チームをまとめるのも難しかったかもしれません。本当に感謝しています。
Yutanメンターさんとは、1日目と2日目にずっとペアプロをしてました。Railsに慣れていない僕にしっかりついてサポートしてくれて、ある程度自分で動ける力をつけさせてくださって、その手厚さがすごいありがたいです。実際に開発するときに必要な、ちょっと面倒くさい部分もささっと整理してくださって、僕たちには開発の楽しい部分を存分に触らせてくれるんです。おかげで開発の楽しさをしっかり味わうことができました。
このキャンプでは、開発のほかに、振り返りやタスクばらしなど、開発を進めるにあたって必要な仕事術も活用したかと思います。それらを実践したことによる気づきなどはありましたか?
Anakki-チーム内での振り返りの時間をしっかり取って、終わった後に他のチームとも共有会することで、わかることがたくさんありました。特に、自分の問題点と他の人の反省点を共有することで気づくことも多かったし、同じようなことでも他の人はこう考えるんだとか、こういうふうに思考を展開するんだっていうのがどんどん出てきて面白かったですね。振り返りってこういうふうにやるんだっていうのが実践できてよかったです。
noshin振り返りやタスクばらしの有用性も本当に実感したんですけど、特に心に残ったのが「遊ぶように仕事する」という考え方です。この考え方に触れて、例えば機能を実装するときに、自分がこういう機能を作れたら面白いとか、ユーザーにとって面白くなるだろうなとか、楽しみながら作る、仕事するっていうマインドを持てるようになりました。今後、自分で何かを開発するときにも、楽しむ気持ち、自分の好奇心をちゃんと真ん中においていくのは大事だなと思っています。
Yutan僕は振り返りが印象的ですね。別のチームの振り返りを共有することで、見えてなかったものが見えるというか、どんどん取り入れていける改善点なんかもすごくたくさんあって、面白かったです。他の人の振り返りを聞けるというのは面白いですね。
では最後に、これからキャンプに参加しようと考えている人、参加を迷っている人に向けて、メッセージをお願いします。
noshinソニックガーデンキャンプは、多種多様なバックグラウンドを持った方が参加されているので、初心者でも全然大丈夫だと思います。参加する時に、GitHub使えるようになりたいでもいいし、Railsもっと触れるようになりたいでもいいし、人脈作りたいとかでもいい、何か一つ持ち帰りたいものを自分の中で明確にしておくと、3泊4日がより有意義になると思います。メンターのかたがたは皆さん優しいですし、キャッチアップしやすい環境だと思うので、ぜひ積極的に参加してほしいです。今回僕は東京から愛知まで参加しに行ったんですけど、そういうのもプチ旅行気分が味わえて楽しいです(笑)。
Yutan僕はずっとフラフラしてて、何かはわからないけど何かを得たいという気持ちで参加したんですけど、キャンプが終わる頃にはちゃんと次にやりたいことを見つけることができました。なので、何かやってみたいけど、何をしたらいいか分からないという方は、とりあえず参加してみてください。何か見つかりますし、得るものはすごく大きいです。ぜひ、お気軽に。
Anakki-キャンプに参加しないと知ることや気が付けなかったことがたくさんあったと思っています。自分の視野を広げるという点でもぜひ参加してみてほしいです。特にプログラミングの知識だけでなく、普段の自分のいる環境とは全く違うところから来ている人と出会えることは、見聞を広めることにつながりました。
インタビュー・執筆:土佐光見