みなさんこんにちは。
株式会社シー・エス・エス、プロダクト・サービス事業部の2年目、ハニーです。
プロダクト・サービス事業部は、主に自社プロダクト(Qube)の開発・運営や、新しい技術(特に生成AI)の研究開発・検証など、システム開発の枠を超えた幅広い技術・サービス領域を推進している部署です。
今回は、私が入社1年目でこの部署に配属されてから行った、2か月間の研修についてお話ししたいと思います!
- 最初の1ヵ月は、RubyとRuby on Railsの学習
- 実践力を磨く!残り1か月はRuby & Ruby on Railsで開発演習
- 研修を通して学んだこと
- 【最後に】最も重要なのは、基礎を確実に身に付けておくこと
- この記事を書いた人
最初の1ヵ月は、RubyとRuby on Railsの学習
まず、最初の1ヵ月はRubyとRuby on Railsについての学習を行いました。
Ruby
Rubyの学習では、基本的な文法や条件分岐、繰り返し処理、メソッドの作り方など、プログラミングの基礎的な部分を学んでいきました。
新しい言語を学ぶと聞いて最初は不安でしたが、新入社員研修でJavaを学んでいたため、Ruby言語に慣れるまでそこまで時間はかかりませんでした。
Ruby on Rails
その後、Ruby on Railsの学習に進み、Webアプリケーション開発の基礎を学びました。
初めてフレームワークを使ったので、MVCモデルの理解やルーティング設定、エラー対応が難しく感じました。
特に、MVCの各役割をしっかり分けて実装するのに苦労し、ルーティングで思い通りに画面遷移できないことがありました。エラーメッセージも複雑で、問題の特定に時間がかかることが多くありました。そんな時は、先輩方やAIに質問することで問題を解決していきました。
実践力を磨く!残り1か月はRuby & Ruby on Railsで開発演習
残りの1ヵ月は、最初の1ヵ月で学んだRubyとRuby on Railsの知識を活かして、問題出題システムを開発し最終日に成果発表をする、という課題に取り組みました。
問題出題システムの作成
このシステムでは、ユーザーがログイン後に試験を受けることができる機能が実装されており、試験の結果を確認することもできます。また、管理者は問題の追加や編集、さらにはユーザーの登録・管理ができるようになっています。
今回は私が作成した問題出題システムの画面をいくつかご紹介します!
まず、こちらがメイン画面になります。ここから問題を選択すると試験を受けることができます。
試験は1問解くごとに正誤判定、解説が表示され、このような画面になります。
問題が解き終わると結果画面が表示され、後でチェックしたい問題を保存しておくことができます。
ユーザーの追加や削除、編集もでき、基本的な機能を搭載しました。
今回紹介した機能に加えて試験設定やチェックリスト、結果一覧、ログイン/ログアウト機能など、さまざまな機能も実装しました。
また、今回の開発ではこれまであまり使用してこなかった新しい技術に積極的に挑戦しました。具体的には、Ajaxを使用してページ遷移を伴わない非同期処理を実現し、MaterializeCSSを使ってデザインにも力を入れました。
発表前日に問題が発生するアクシデントも...!
順調そうに見える研修ですが、実はこの問題出題システムは発表前日に問題が発生していました...。
それは、異なるユーザーが同時に試験を受けることができない、という問題です。
発表前日の会議で先輩方に試していただく時間があり、そこで気づきました。そこで確認してなかったらと考えると、ぞっとします。
会議終了後、急いで修正に取り掛かりましたが、なかなか解決できず、AIにも頼りましたがうまくいきませんでした。しかし、先輩方と一緒に考えることで、なんとか解決することができました。先輩方には頭が上がりません。
同じ過ちを繰り返すまいと心に誓うも、またも同じようなミスを発見...!
この問題の原因は、テストを十分に実施していなかったことと、アプリケーションを複数人で同時に扱うことを考慮していなかったことにありました。
この経験を活かして、同じ間違いはしないようにと心に誓いました。しかし、発表当日にアプリを試してもらった際、同じようなミスを再度発見しました。
大きな問題ではなかったので良かったのですが、とても悔しかったです。この悔しさを忘れずに、今後業務に取り組みたいと強く思いました!
研修を通して学んだこと
この2ヶ月の研修を通して学んだことは、主に3つあります。
1. まずは基礎知識を定着させよう
1つ目は、基礎知識の定着が重要だということです。
Ruby on Railsを初めて学び、エラーに苦戦しましたが、Railsに関する知識が身についていくうちに、初めて見るエラーでもある程度理解できるようになりました。
また、その経験を通じて、エラーの原因を自分で調べる力もついたことが大きな収穫です。
2. 積極的に質問をしよう
2つ目は、質問を積極的にすることです。わからないことは自分で調べ、それでも解決できない場合は人に助けを求めることが大切だと感じました。
自分ひとりで考えると、考え方が偏ることがあります。他の人に頼ることで視野が広がり、質問することの重要性を改めて実感しました。
ちなみに、今回作成したアプリのデザインについては、同じ部署の同期からアドバイスをいただきました。
3. テストはしっかりと実施しておこう
3つ目は、テストの大切さです。できたからといってすぐに次に進むのではなく、できたものを実際に試し、問題がないか確認すること、さらに使う人の立場に立って考えることが大切だと感じました。
今後は、この研修で学んだことを活かして、さらに成長していきたいと思います。
【最後に】最も重要なのは、基礎を確実に身に付けておくこと
この2ヶ月の研修を通じて多くのことを学びましたが、最も重要だったのは、実際の開発においてどれだけ基礎をしっかりと身につけることが大切かということです。
また、問題が発生したときに焦らず、周囲の人と協力して解決する力を身につけられたことも、大きな収穫でした。
研修での経験を活かして、今後も継続的に学び、成長し続けることができるよう努力していきたいと思います!
今では配属から約10か月経ち、AIを使った新機能の開発を任されるまでに成長することができました!
先日、ついにその新機能「AIアイコン生成」をリリースしたので、以下ブログも見て頂ければ嬉しいです。
この記事を書いた人
【ニックネーム】
ハニー
【経歴】
入社2年目
自社サービスであるBtoBコミュニケーションプラットフォーム「Qube」というSaaS開発に携わっています。
【一言】
資格を取りたい頑張りたい!