#はじめに
・投稿した経緯
6月から2ヶ月間、一人の方と私立探求学園の共同開発に参加しました。結論として
とても良い経験で、僕と同じ未経験の方にはとてもお勧めできる内容でした。
振り返りと学習したことのアウトプットも兼ねて今後参加したいと思う方の参考になればと思い
ます。
#目次
・参加前の状況
・参加した理由
・共同開発の概要(簡単に)
・共同開発で身についたこと
・共同開発で苦労したこと
・全体的な感想
・まとめとこれから
#参加前の状況
・大学2年生20歳
・2ヶ月間別のプログラミングスクールに通い、文法などの基礎学習と
個人アプリをテンプレートの教材をもとに作成した程度
・個人で1からアプリを作るといった経験はなし
#参加した理由
・Laravelのアプリを開発できる
・実務では必須のチーム開発を経験することができる
・一緒に開発する仲間がいる
・講師の方に質問、相談できる環境だった
#共同開発の概要(簡単に)
・2ヶ月間で掲示板アプリとECサイトの作成
・今回の開発人数は2人(基本は3〜4人程度)
・週2回のMTG
・Gitでバージョン管理
・GitHubの使用
・質問や連絡などはslackというチャットツールを使用
slackとは
#共同開発で身についたこと
①チーム開発スキル
GitHubのプルリクエストの作成やブランチの切り替え、コンフリクトの解消など
特にGitやGitHubは初めて経験することばかりでした。1人で学習していると経験できないが
実務では確実に必要なことを経験できたことが良かったと感じています。
②チーム開発の作法や現場目線のコードの書き方
チーム開発ではpush先を間違えてはいけない、ブランチの切り替えを忘れないことなど
こちらも一人で学習していれば気づけない点を学べました。
またコードレビューではこう書いた方が良いですよ、実務でも〜は使用しますなど現場目線の
ご意見をいただけたので視野が広がりました。
③エラー対応の引き出しが増えた
何度も見たエラーの場合、原因がどこにあるのかなんとなく予測できるように、
またデバッグ関数の使い方も講師の方に伺い、エラー解決までの時間が
徐々に短くなりました。
どうしてもわからないエラーは講師の方に質問することで全て解決できました。
④質問力がついた
現場に入ってからも必要な質問の仕方について学ぶことができました。
エラーの質問は相手が一度聞けばわかるように質問することが大事と知り、
開発初期は質問作成に1時間ほどかけていました。
最後に講師の方が初期の頃より質問がうまくなったと言ってくださり
とても嬉しかったです(笑)
⑤説明力がついた
MTGでは同じ受講生の方と自分の実装箇所を説明し合い、気になる部分は質問したり
しました。(独自にやっていたことです) 言語化することでより深い理解につながる点と、
自分が実装していない箇所の知識がつく点で実施していました。
また最終発表で資料を作成し2ヶ月の成果発表をしたのですが
人前で作成した資料をもとに説明する経験があまりない学生の僕には
ありがたい機会でした。
⑥Linuxコマンドや仮想環境の知識
共同開発を通してLinuxコマンドや仮想環境を使用する
経験もでき、調べるようになりました。特にLinuxコマンド
に関しては実務で使用する機会が多いと思うので経験できて
よかったと感じています。
#共同開発で苦労したこと
①チーム開発においてやってはいけないことの意識
例えばmasterブランチで作業をしていた、push先を間違えたなどは
何度もミスをし講師の方にフォローしていただきました。
ですが共同開発はミスをしても大丈夫で、講師の方からフォローしていただける
環境だったので苦労しましたが実務に入る前にできて良かったです。
②答えやすい質問の作成(伝えたいことの言語化)
答えやすい質問をすることを意識しながらに自分の聞きたい点を取り入れること
にとても苦労しました。ただ何度か質問するうちに上手な聞き方ができるように
なったので苦労した甲斐がありました。この言語化能力は将来も必ず役に立つ
と思うので共同開発で経験できて良かったです。
③初めてのGitコマンドや慣れないGitHub
ブランチやmerge、pullなどを初めて使用しました。このことは正直
あまり理解できずに2ヶ月終わるかもというほど困惑しました。
ですが慣れないなか講師の方に質問や自分で調べやってみる、時には
ミスをしながらも徐々に慣れていきました。何度も使ううちに慣れてきたので
改めて実際に手を動かしてみる大切さがわかりました。
④エラー対応
Laravelのエラーもそうですがdockerなどの初めて触った部分に関しての
エラーに苦戦しました。特にdockerは何がいけないのかわからない
という状況によく出会い、聞きたいことが言語化しにくいとき一人で悩む
時間が増えた時もありました。ですがミーティングの日や
それ以外の日にzoomでエラー対応をしていただくこともあり、僕たち受講生に
とって有難すぎるサポートもしていただきました。
#全体的な感想
結論から言うととても充実した2ヶ月で、未経験のエンジニアの方にはぜひ
おすすめしたい内容でした。
貴重なチーム開発経験
エンジニアは基本チームで開発するとは知っていたのですが具体的なイメージは
全く頭になかったです。しかしGit flowやGitHubを実際に使うことで座学では
わかりずらいチーム開発の概念的な部分が理解できました。
同じ受講生と共に頑張れた
同じ受講生は社会人の方で仕事終わりに勉強を行なっている方でした。
そういった人を間近で見ると暇な学生の自分はもっと頑張らないとという気持ちに
なりました。
社会人の方は「若い子が頑張っているならおっさんはもっと頑張らないとな」と
よく自虐をしていましたが(笑)、お互い切磋琢磨できました。
またわからないエラーをzoomで考えたり、有益だと思った情報は共有するなど
し日々高め合うこともできました。
講師の方の手厚いサポート
講師の方には大変お世話になりました。エラー対応や進捗確認、キャリア面での相談、
インターンの面接対策もしていただき感謝しています。共同開発が終わってもキャリア
などで悩んだことがあれば相談に乗る、と言ってくださり共同開発の2ヶ月で関係が切れ
ないと言う点も非常に嬉しい点でした。これからのキャリアについて相談できる方が
近くにいてくれることは未経験の自分にとってありがたいです🙏
#まとめとこれから
僕の友人が未経験でエンジニア就職をしたいと言ってきたら必ず探求学園の共同開発
を勧めます。それほど充実した環境で学ばせていただきました。
共同開発をしていると、また講師の方からキャリア面でのアドバイスをいただくとこれから
自分は何が弱いのか、何をするべきか見えてきます。中長期的な視野を持って勉強し
エンジニアとして活躍できるようにこれからも学習していこうと思います。
最後まで読んでいただきありがとうございました!