
はじめに
こんにちは。
新卒エンジニアの採用・育成担当の目黒です。
24新卒の奮闘記vol.5 となりました。
今回の担当はチームD(國分・内田・渡邉・山田・栃沢)です。
チームDはアプリ開発研修について、座談会形式で語ってくれています。
今までとは少し毛色の違う形でお届けしてくれており、各々が工夫しようと考えてくれているのが分かって非常に良いですね!
チームD座談会
こんにちは!チームDです!
チームDからは、Yatter研修の中からモバイルアプリ開発(Android・iOS)のパートについて紹介します!
Yatter研修の概要やバックエンド、フロントエンド開発については、C班が書いてくれた前回の記事をご覧ください!
うまくいったこと
内田: モバイル研修、約2週間やりましたね。
まずは「うまくいったこと」について話してみようか。
國分: 比較的早くSwiftUIのコンポーネントに慣れることができたと思う。
自分はWebフロントエンドの経験、フレームワークで言うとVue.jsやReactを使った経験がそれなりにあったのが少し役に立った気がする。
特にコンポーネントの概念やページの組み立て方を最初からある程度わかっていたのが入りやすかった理由だと思う。
山田: いいね。僕はハンズオンを順番にこなすことで、実装を少しずつ進められたのが良かったと思う。
特にAndroid研修は、作業の進捗表に沿って実装を進めることで少しずつ深いところに触れられる構造になってたから、自分の成長を感じながら着実に進められた。
渡邉: 僕はチーム内での連携がかなりうまくいったと思ったかな。
バグで詰まったらみんなに聞いて解決できたし、自分の分からないことを共有することで、チーム内の学びに繋がったと思うよ。あとはAndroid Studioの使い方に慣れたのが大きな収穫かな。
内田: 具体的に何が良かった?
渡邉: エミュレーターとデバッグツールがとても使いやすかった。
エミュレーターでデザインを直接動かしながら確認できると修正もしやすいし、初心者の僕からすると、どのコードでどんなUIができるかを掴めたおかげですごく開発が楽しくなった。
内田: リアルタイムでプレビューを見ることができると、それだけでもなんか楽しいんだよね(笑)。
私は、Xcode・Android Studioのショートカットキーを教わったことで作業効率が上がったと思う。VSCodeに慣れているから少し違和感はあったけど、モバイル開発の経験が豊富な同期に救われたかな。
ネイティブアプリエンジニアがいないチームの工夫
國分: 私たちのチームにはネイティブアプリエンジニアがいませんでしたが、そんな中で、様々な工夫を凝らしてきました。そこで特に効果的だった取り組みを、皆さんにシェアしたいと思います。
栃沢さんはチームにネイティブアプリエンジニアがいないと知った時にどんな印象を受けた?
栃沢: 最初はネイティブアプリ開発研修で非常に苦労するだろうなと思った。
しかし、メンバー全員が公式ドキュメントを読み込む・YouTubeチュートリアルを参考にするなどの工夫をした結果、ネイティブアプリ開発への理解を深めてなんとか研修を乗り越えることができたと思う。
渡邉: 確かに、公式ドキュメントは頼りになるね。
KotlinとSwiftは知らない関数がすごく多かったけど、自分の知っている言語の関数で置き換えて理解を進められた。
でもやっぱり初めて触る技術だから、自分一人だったら理解しきることはできなかったよ。
山田: だからこそコミュニケーションが重要だったよね。経験者がいないからこそ、チーム内で質問し合ったり情報を共有したりして、分からないところを協力して理解していけたのは良かったな。
内田: Yatter開発を始める前にハンズオンの時間が設けられていた点も良かったね。
実際に手を動かすことで理解を深められたし、その後で実際にアプリを開発することでスキルアップにつながったと思う。
栃沢: 実際にコードを書いてみると、研修資料などには載っていない細かい部分が見えてきて。これが理解を深める上で非常に有効だったよね。
つまずいたところ
山田: 僕は今回初めてAndroidアプリを作ったんだけど、UI周りのライブラリが多すぎて、どれを使えばいいのか判断するのが難しかった・・・。
みんなもアプリの開発経験はほとんどなかったと思うんだけど、つまずいたところとか難しかったところはあった?
内田: デバッグが一番大変だったかな。あまりツールを使い慣れていなかったこともあって、時間がかかったよ。
栃沢: 資料のメンテナンスが不足していて、古い情報が混ざっていたため苦労した。最新の情報を自分たちで調べる必要があったよね。
國分: そうだね。特にMVVMのデータバインディングやViewモデルの役割について理解するのが難しかった。資料を読んでもピンとこなくて、実際にコードを書きながら理解を深めるしかなかった。
新しい言語、IDE、アーキテクチャ、それぞれを理解するのも大変だけど、全てを一度に学ばないといけなかったのが特にしんどかった。でも、全部乗り越えたからこそ、学ぶことの重要性を実感できたかな。
栃沢: 新しい技術を学ぶとき、自分で試行錯誤しながら進めるしかない部分が多かった。でも、そういった地道な作業が成長に繋がったと思う。
國分: 難しいと感じた部分も、最終的には学びになったと思う。
問題を解決することで自信もついたし。分からない部分をチーム内で相談しあって解決する体験は何物にも代え難いものだと確信しています。
楽しかったところ
栃沢: アーキテクチャについて深く学べたのが楽しかった。
アーキテクチャというものを学んだことがなかったので、新しい知識が得られたことが嬉しい。今後のプロジェクトで活かせる知識が増えました。
山田: 「やっぱりプログラミングは楽しい!」と再認識できた研修だったなぁ。おおよそ実装するものが決まっているとはいえ、自分のアイデアが形になるのは面白いよね。
内田: 普段はiPhoneを使っていることもあって、SwiftUIでのUIデザインがとても楽しかった。直感的に操作できて、自分の作ったUIが割と見慣れた形で表示されたのは面白かった。
渡邉: 自分の手で何かを作り上げるのがエンジニアの一番の醍醐味だよね。
知らない技術を一から触ってアプリの開発をやり切るってなかなかできない体験だから、そこを研修で経験できるってすごいと思ったよ。あとチームでのディスカッションも楽しかったし、いろいろな視点から意見を聞けて新しい発見が多かったのもエンジニアとしてすごく楽しかった。
講師のサポートについて
國分: Discordに「講師部屋」があったので、わからないことがあるとすぐに聞けてとてもありがたかったです。
チーム内で相談しても分からなかった時には講師部屋に行って質問をして解決することができ、それをチームメンバーに共有できました。
渡邉: 自分から質問に行きづらくても、定期的に講師の方が見回りに来てくれたので、質問しやすかったです。特に初めての技術を扱うからありがたかったね。
内田: ライブコーディングをしていただいたので感覚を掴みやすかったですね。
ただドキュメントを読んでいるだけだと、自分で進めていて「これが正解なのか?」と思うこともあるので。
栃沢: 個人的にはAndroid/IOS研修の難易度が高いと感じました。
実際に手を動かす前に、基本的な概念やツールの使用方法についての詳細な講義があれば、もっとスムーズに進めることができたかもしれません。特にiOSやAndroidの経験が少ない参加者にとっては、予備知識があると大きな助けになるはずです。
國分: たしかに!もう少しインタラクティブな要素があれば、もっと理解や進みが速かったと思います。
最初の1日だけ基礎を理解するための演習があるみたいな。でも、全体的には講師のサポートがあったおかげでスムーズに研修を進めることができたと思います。
内田: 講師の方々には感謝だよね。僕たちはネイティブアプリエンジニアではないから、配属後の実務でこれらの内容を直接使う機会はあまりないと思うけど、これらも活かしつつさらにスキルアップしていきたいですね。
チームDまとめ
いかがでしたか?
私たちはネイティブアプリ開発研修を通じて、新しい技術やツールを使いこなす楽しさを実感するとともに、チームとして連携する重要性も再認識できました。
また、初めて触れる技術を学ぶことになり、その技術に詳しいエンジニアがいない状況でも、互いにサポートし合って困難を乗り越えることができました。
配属後も研修で学んだことを活かして実務に取り組んでいきたいと思います!
終わりに
今年の技術研修はDMM.comの新卒エンジニアだけではなく、グループ会社である合同会社EXNOAと株式会社インフラトップの新卒も参加してくれています。
グループ会社なので配属後は関わる機会が少なくなります。
入社したばかりのタイミングで一緒に研修を受けることで、技術力の向上はもちろん、新卒同期としての関係性もしっかり作ってくれたら嬉しいですね。
さらにそれを自分の組織に持ち帰り、新卒の活躍によって各部署やグループ全体が盛り上がっていってくれたら嬉しいです!