2018年10月23日0件のコメント初めまして。GMOアドマーケティング18新卒のR.Sです。実は、GMOアドマーケティングの新卒では初の女性エンジニアです。5月、6月に行われた社内の新卒エンジニア研修と、5月〜7月中旬にかけて行われたGMOグループ各社の新卒エンジニアのためのGMOテクノロジーブートキャンプで学んだことを紹介致します。研修内容を大まかにわけるとテックイノベーションプロジェクト基礎研修LinuxGitMySQLコーディングスキル言語研修OJT研修AkaNe管理画面の開発GMOテクノロジーブートキャンプとなっております。研修内容を紹介します。テックイノベーションプロジェクト基礎研修LinuxやGit、MySQL、コーディングスキルなどの業務で必要な基礎研修や、本配属後に業務で使用する言語の研修がありました。言語研修RubyRubyを扱うのは初めてだったため、課題に取り組みながらRubyの基礎について学んでいきました。関数やクラス、配列の扱い方、ハッシュ、正規表現など、課題の内容は多岐に渡り、Rubyの基礎を学ぶことができました。学生の頃はC言語に触れる機会が多く、初めはRubyとC言語の違いに戸惑いましたが、課題に取り組むうちにRubyの特徴が掴め、慣れていくことができました。自分で調べながら課題を解いていくことで、より理解を深められたと思います。Rails』(技術評論社)の内容に沿って勉強していきました。5章まででRailsの基本を学び、6章からは実際にWebアプリケーションを作成する流れになっています。Webアプリケーションを作成したのですが、Railsは自動的にファイルを生成してくれたり、少しの記述でルーティングを行ってくれたりしたため、詳しい動作を理解していなくてもアプリケーション自体は簡単に作成することができました。簡単に作成できるからこそ、Railsの規約に則ったコーディングをすることやMVCそれぞれがどういった動きをしているかの理解など、身につけるまでに時間がかかる部分もありました。いった部分は、先輩にフォローして頂いたり、自分で試行錯誤をすることで乗り越えられました。Railsを用いた開発に慣れたあと、Railsを用いて開発されているAkaNeの管理画面の開発に関わらせて頂きました。開発内容は、既存画面への機能追加です。Railsでの研修で作成した簡単なアプリケーションとは違い、大きなサービスであるAkaNeのコードは、かなり複雑なコードになっており理解するまでに時間がかかりました。コードを読み進めてわからない部分は調べる。調べてもわからないものは質問して解決するというのを繰り返して理解していきました。先にしっかり調べてから質問するというのは今でも続けています。先に自分で調べることで、問題部分とは直接関係ないことも学べるので、基礎力の向上にはとても良いと感じました。AkaNeの管理画面の開発に関わることで、言語研修のときに学んだRailsの基礎をより深く理解することができました。機能を実際に使った人の意見を頂いたので、さらなるモチベーションアップに繋がりました。GMOテクノロジーブートキャンプ5月中旬頃から毎週金曜日に行われるGMOテクノロジーブートキャンプ(GTB)に参加しました。10週間に渡り、GMOグループ各社の現役エンジニアの先輩方が講師となり、様々な技術を教えて頂きました。学べる技術はインターネットの歴史ブロックチェーン仮想化Linuxセキュリティデザイン思考フロントエンドなど、様々なサービスを提供しているGMOグループだからこその、幅広いものとなっております。研修中の様子はこのような感じです。(2018年5月研修担当者撮影)また、知識をインプットするだけではなく、アウトプットするための開発合宿もあります。4~5人でチームを組み、0からサービスを作り上げます。Echoを利用した音声での習慣化サポートサービスを作りました。Echoに話しかけて続けたい習慣名と時間を登録するとリマインドしてくれて、継続期間を画面上で確認できるサービスとなっています。私が実装を担当した音声対話システムの設計部分を紹介致します。KitAlexaのスキル(機能)の開発を簡単に行うことができる開発キットです。私は、カスタムスキルという、ユーザーの発話内容に応じて自由な処理を行い、任意の応答を返すことができる汎用的なスキルを作成しました。基本の設定は簡単にできるため、AIの学習能力を活用して少し踏み込んだ機能も追加しようと思いましたが、やはり難しく、開発期間中に完璧な実装には至りませんでした。完璧な実装ではなかったものの、自分が持っている技術をどう工夫すれば機能を追加できるか、調べて得た技術とどう組み合わせれば良いのかという応用力がとても養われたと思います。Lambdaサーバー管理が不要なプログラムの実行サービスです。Lambdaを利用して関数を作成し、Alexaスキルから呼び出せるように設定します。Node.jsを利用して関数を作成したのですが、Rubyに続いてNode.jsも初めて触れる言語。公開されているサンプルスキルのコードを真似することから始め、わからないところは全て調べて開発しました。開発合宿中になんとか完成させることが出来ましたが、誰にも教わらずに既知ではない言語を用いて開発するということは初めてだったので、チャレンジできて良かったです。自力で調べて問題を解決する力がさらに磨かれました。まとめ二ヶ月間の新卒エンジニア研修を通して、業務に必要な基礎や様々な技術と、自力で調べる力、応用力、0から始める行動力など、多くの力を身につけることが出来ました。身についたものの中で不要なものはひとつもなかったと思います。基礎研修では実際の業務で使用することを学んだため、本配属からの業務への不安を減らすことが出来ました。研修の際のメモは今でもたくさん活用しています。この研修で得た多くのことを活用できるよう、初心を忘れずに引き続き業務に努めていきたいと思います。@gmoap_engineer本ブログで発信される情報は、各エンジニア個人の見解であり、弊社の公式見解ではありません。本ブログに掲載、引用等をしている商品またはサービス等の名称は、各社の商標または登録商標です。その他の事項について一切責任を負いかねます。発表する情報には注意を払っておりますが、公式発表、見解については、弊社WEBサイトおよびプレスリリースなどをご確認ください。GMOインターネットグループにおけるソーシャルメディア運用ポリシーについては次のページをご確認ください。本ブログに掲載のあるソフトウェアのダウンロードは自己責任で御願い致します。ソフトウェアのダウンロードの結果、ご利用者に何らかの損失・損害が生じたといえども、当社ではその責任を負いかねます。本ブログに掲載のあるソフトウェアを扱う際は、各ソフトウェアの公式リファレンスを参照のもとご使用下さい。ソフトウェアの実行の結果、ご利用者に何らかの損失・損害が生じたといえども、当社ではその責任を負いかねます。