CAmotionでエンジニアになるということ

はじめに

この記事は CyberAgent 19新卒 エンジニア Advent Calendar 2018の12日目の記事です。

今現在、僕は内定者だけの子会社であるCAmotionでiOSエンジニアとして働いています。いろんな経験をしてきた仲間たちと普段どんなことを考え、意識しているかを綴ろうと思います。

株式会社CAmotionとは

上の記事にも記載されている通りビジネスサイドのインターンシップ「DRAFT」で優勝した4名がその時の事業案を元に子会社を設立しました。現在はビジネスサイド3名、サーバーサイド2名、iOSエンジニア2名、デザイナー1名でプロダクト開発に注力しています。

なぜジョインすることになったのか

最初は自分の中では既存の他の部署での内定者アルバイトをする予定でしたが良いタイミングでお誘いの声がありました。それと共に19卒内定者だけの会社ということで裁量権が大きいというところに魅力を感じました。ひとりひとりの発言が実際に大きくプロダクトに影響し、仕様が変わったりすることがあります。

エンジニアである僕の考えとして「サービスを好きじゃないと開発できない。エンジニアリングはサービス開発の手段」という意識が強くあったため、ビジネスサイドが決めた事を淡々と開発するのではなく、サービスに対して意見もしていきたいと考えていました。そんな思いの中でCAmotionが立ち上がったこともあり、ジョインすることになりました。

実際働いてみてどうなの?

僕がジョインして約7ヶ月経ちましたが日々思うことはたくさんあります。良いところもあれば悪いところもあります。

良いところ
・同期ばかりで不満や意見をいいやすい
・称え合うことを強く意識している
・技術的裁量権が大きい

悪いところ
・技術的裁量権が大きいとはいえ、やはりまだまだ不安な部分がある
・メンバーみんなが学生であり、リモートの人もいるためなかなか仕様などが決定しきれない

良いところに関しては大体推測がつきそうですが「称え合うことを強く意識している」というのは月に1回の締め会でみんながどんなことをしていたのかなどを共有する場があります。これはビジネスサイドが進んでやってくれています。本当に感謝。そのときだけではなく日々日常から何かあれば称えあっていると僕は感じています。(僕たちの中では「ナイスワイルド」という言葉を使っていますw)

悪いところですがこれも当然といえば当然かもしれません。個人的に技術的に不安な部分はあります。しかしそれもCyberAgentの子会社であることが大きな強みです。社内でたくさんの有名なエンジニアの方々がいらっしゃるので普段から「なんでも聞いてね」と言ってくださったり、「自分の部署ではこんな風にしているよ」と知見をたくさん共有していただけます。
メンバー全員が学生であることに関してはどうしようもないです。ですがそんな中でもどうやってチームを動かすか、どうすれば全員のギャップを取り除けるかなどを日々考えているので最初のころよりはだいぶ良くなってきていると僕は感じています。

iOSエンジニアとして意識していること

僕がiOSエンジニアとして意識していることはたくさんありますが、特に意識していることはこんな感じです。

1. デザイナーさんにAutoLayoutの理解をしてもらう
2. 工数がかかりそうな部分はデザインしている段階でひとこと言っておく
3. 仕様に対する優先度を考えてやるかやらないかをエンジニア視点で意見する

1つ目に関してですがAutoLayoutは開発する上で重要な要素です。デザイナーさんにはSketch, Zeplinを使ってデザイン共有をしてもらっています。そのときAutoLayoutとはどんなものかを知ってもらった上でデータを作ってもらうことで実際に開発の質がグッとあがりました。なので日頃から「Zeplinのここに部分が〜」というのではなく「AutoLayoutではこういう考え方があって〜」と話すようにしています。AutoLayoutに関してはこの辺↓を読んでみてください。

2つ目に関してですが、デザインを作りおわってから工数がかかるというのはやめました。工数見積もりは非常に大変で重要ですがデザインしている段階から「ここの工数はかかるよ」と伝えておくことでデザイナーさんもそれを意識してデザインしてくれるようになりました。もちろんこれに関しては賛否両論あるかと思いますが今大事にすべきことはなにかを考えたときにスピード感であったり、時にはだったりします。

最後に3つ目に関して、仕様を決める段階からエンジニア視点でビジネスサイドにフィードバックをしています。これも当然かもしれませんが単に「工数がかかる」ではなくて技術的にどんな問題があるのかをビジネスサイドに理解してもらうことで別の仕様を決める時にこんな問題が起きうるかもと勝手に思考できるようになるかもしれません。なので僕たちは技術を知ってもらうことを意識して仕様決めをもしています。CAmotionのサーバーサイドの1人がAdvent Calender 1日目にも書いてくれていたのでぜひ読んでみてください。

最後に

総じて今現在とても楽しくチームで開発を進めています!
みんな前を向いてリリースに向けて尽力しているのでぜひ楽しみにしていてください!

技術的にも自分たちで考え、試行錯誤して開発を行っています。今回はCAmotion内のことについて話しましたが技術的な発信もまたできたらいいなとおもっています。最後まで読んでいただいてありがとうございました!^^