こんにちは!R&D事業部の菅野です。
本日はR&D事業部(以下R&D)に2018年2月にジョインした、とある社員の奮闘記をお伝えいたします。

R&Dはその名の通り「Research and Development」を行う部署。WEBアプリケーションにおける新技術の追求や開発が常に求められるエンジニア集団です。
そんな私たちの事業部に仲間入りしたのが、全研本社歴7年(2011年入社)の石川さんです。

石川さん_01
▲銀のエンゼルを求め、大好きなチョコボールを毎日買っているという甘党の石川さん

石川さんは入社されてからは主にフロントエンドエンジニアとして業務をされてきました。とあるプロジェクトのスタートがきっかけでR&Dに異動することとなり、これまでとは違う新しい環境にチャレンジすることになったわけです。

石川さんに一問一答~R&Dでの日々を教えてください~

今回、石川さんには下記の4項目について質問しました!

Q1.R&Dに来て感じたことは?
Q2.R&Dで勉強になったことや発見は?
Q3.R&Dで大変なこと、苦労していることは?
Q4.これからの業務で勉強が必要な分野は?

これらの質問の回答をもとに、R&Dでは何が求められ、石川さんがどのように奮闘されているのかを読者の皆様にもお伝えしたいと思います。それではQ&A行ってみましょう!

ということで、ここからは私、石川が質問に答えながら仕事のことをお話していきます。よろしくお願いします!

Q1.R&Dに来て感じたことは?

役割分担がきっちりしている部署だな、と感じました。
R&D内ではプロジェクトごとにチームが分かれていて、さらにその中でも、プロダクトオーナーやデベロッパーといった役割が明確化されているので、だれが何をしているのか、どういった知識を持っているのかがとても分かりやすいと思います。

チームごとに隔たりがあるように見えるかもしれませんが、各プロジェクトで得られた技術ノウハウを全員で共有したり、チームを超えて質疑応答やランチに行ったり、部署の仲間としてのコミュニケーションがとても活発で、事業部メンバーの仲の良さも感じることができます。

R&Dのお仕事ポイント1
R&Dでは「スクラム開発」を行っています。
プロジェクト毎にチームを組み、プロダクトオーナー(PO)、デベロッパー(DEV)といった役割を担い、開発を進めます。POにはプロジェクト全体像の把握だけでなく進行に必要な要求定義や実装の設計、DEVにはプログラミングや実装用ドキュメント作成などのスキルが求められます。

Q2.R&Dで勉強になったことや発見したことは?

異動して驚いたのが、常に進化しようと考えるメンバーたちの意識の高さです。
R&Dの一員になって間もないころ、責任者の雨森次長が朝礼で「R&Dはeマーケティング事業本部でも一番技術に詳しくないといけない」と仰っていました。
そんなR&Dでは、各プロジェクトで蓄積されたノウハウをドキュメント化して部署内で共有していたり、新しい技術の勉強を行い実務でどんどん取り入れていたり、常に変化と進化をしようというマインドにあふれています。

自分は今までフロントエンドエンジニアとして働いていましたが、つい既存の技術だけで仕事をこなそうとして新しい技術を学んで取り入れていくことに消極的になっていました。
しかし、R&Dでは全エンジニアが常に新しいことを得ようとアンテナを伸ばしていて、なにより新しい技術の話題になると皆さん楽しそうに話すんです。
そういった姿勢をみていると、自分も「新しい技術を身につけて、皆と楽しく話したい!」と思うようになりました。

石川さん_02

R&Dのお仕事ポイント2
R&Dでは個々が新しい技術に触れ、どう業務に適用できるか考えることを求められます。
最新の技術を共有することによって、仕事が効率化に繋がったり、新しい分野に挑戦するキッカケになったら、とても楽しいですよね!

Q3.R&Dで大変なこと、苦労していることは?

言葉の定義に苦労しています。
人によって言葉の意味の捉え方が違うことはよくありますが、これが業務になると致命的なミスに繋がる可能性もあります。
R&Dでは「曖昧な言葉を使わないこと」が意識されていて、言葉に定義を付けることが必須となっているんです。

例えば”リリース”と”完了”という言葉の違い。
WEB制作における”完了”はあくまでも開発が完了した、ということでしかなく、世の中に公開された、という意味ではありません。完了後にステークホルダーによるチェックがおこなわれ、OKが出たらようやく”リリース”という言葉を使います。

自分は昔から”完了”と”リリース”の言葉の違いを意識することなく使っていました。
しかし、R&Dに異動してきた時にこの言葉の認識違いが問題になったことがあります。
その時初めて「自分が今まで使っていた言葉は正しかったのか」と意識するようになりました。それ以降、言葉の認識は人それぞれ違うということを念頭に言葉の定義を考えて話すようにしています。

R&Dのお仕事ポイント3
言葉の定義こそ、WEBエンジニアに最も求められることです。例えば「西武」という言葉を発注者側は「鉄道」、受注者側は「プロ野球チーム」と認識していた場合、その認識を元に作られたシステムは結果として発注者の意図とは全く違ったものになってしまいます。
そのため、R&Dでは「DDD」(ドメイン駆動設計)をベースとした設計で業務を進めます。
※DDDの参考サイトはこちら→ https://codezine.jp/article/detail/9546

Q4.これからの業務で勉強が必要な分野は?

サーバーサイド言語のPHPです。
とくにPHPフレームワークであるCakePHPは、今後プロジェクトを進めるにあたって必要になりますし、R&DのミーティングではCakePHPに関する専門用語が飛び交うので、常に勉強をしておかないとついていけなくなってしまいます。

石川さん_03

ほかにもDocker(ドッカー)やnginx(エンジンエックス)などの専門用語が当たり前のように会話の中で出てくるので、そういった用語の意味や何ができるものなのかも集中的に勉強して、把握する必要があると考えています。

R&Dのお仕事ポイント4
PHPフレームワークは構築を楽にするだけでなく、メンテナンス性の向上やセキュリティを担保するためにも利用します。
またDockerは簡単に述べると「仮想空間」と呼ばれる環境を構築するもので、本番のサーバー環境と同じ環境をローカル環境に構築してバグを減らした開発を進めることができます。
新技術を導入するだけでなく、その本質を知ることがとても重要。

さいごに

私がR&Dに異動して得られたものは、業務効率化に対する意識の高さです。
“意識の高さ”は”責任感の強さ”という言葉にも置き換えられると思います。

雨森次長が「制作部門として業務効率化に取り組み、コストを削減することが重要」と常に仰られていて、R&Dではスクラム開発導入するなど見事に体現をされています。

また、例えばコーディングに関しても上流工程で徹底的にルールを決め、スタイルガイドを作り、ルールやガイドラインを定義することで、全てのメンバーの品質を均等にして、手戻りを最小限にする、という考えのもとでプロジェクトが進められていました。
作業中に後戻りが発生したり、更新作業に時間がかかってしまう仕組みであったり、公開後にステークホルダーが望んでいない仕様になっていたり、といったことは無駄なコストでしかありません。

常に業務効率化に対して研究や実践をおこない続けている姿勢。
この姿勢を、自分もこれからのプロジェクトで実践していきます!

いかがでしたでしょうか。石川さんのように、途中からこれまで歩んできたものとは違う道に足を踏み入れるのはとても大変なことです。それがWEBエンジニアであれば尚更。

石川さんが感じていることや、努力されている様子から、私たちR&Dで必要とされている知識や考え方を少しでも感じ取っていただければ幸いです。

以上、R&Dの菅野がお届けいたしました。
次回もお楽しみに!