CA REWARD

JOIN US!採用情報はコチラ

採用情報

人生を変えるきっかけは”ここ”にある

ビジョンに向かって高め合い、
変化を巻き起こす仲間を募集しています。

開発理念と開発プロセス

開発理念

『社員全員が自信をもてるプロダクトを創る』

開発本部長 山本

「つくるだけで満足せず、事業成長に繋げてこそ価値がある」
CAリワードのエンジニアは皆、そう考えています。

システム開発はビジネスの裏方を支えているもの、というイメージを持たれがちですが、
私は「支える」という表現があまり好きではありません。
ユーザーにとって価値のある魅力的なプロダクトを開発し、「CAリワードのストロングポイントは技術力」と言われるような、そんな開発チームをつくりたいという思いを創業当時から目標にしてきたからです。

CAリワードのエンジニアは皆、常に事業成長を意識しているから「変化に対してポジティブ」で、開発の枠をこえて「組織としての一体感・達成感を感じたい」という人ばかりですね。
「組織として結果を出すことの喜びは、個人で結果を出すことの比ではない」ということを皆知っています。そして同時に、「技術的なチャレンジとチームの技術レベルの向上なしに、最高の組織成果は生まれない」ということを熟知しています。

「社員全員が自信をもてるプロダクトを創る」
CAリワードのエンジニアは、積極的な技術チャレンジで事業成長を加速させていきます。

CAリワードにおけるGoの
導入実績とこれから

技術責任者 辻

CAリワードでは、これまでほぼ全てのコードがPHPで書かれていましたが、その実行速度やコーディング規約が定まっていなかった頃のコード保守性を考慮すると、今後も使い続けるのは厳しいと感じていました。
スタジオで多く使われているScalaやJavaはもちろん、その他Node.jsやD言語、はたまたC++のWebフレームワークなど怪しげな(?)ものまで色々検討しましたが、その中でも一番ピンときたのがGo言語でした。
シンプルな言語仕様による学習コストの低さと、生産性の高さが見込めたこと、静的型付けの恩恵を受けた実行速度がその採用の決め手となり、いくつかのプロジェクトでGo言語を採用し開発をしてきました。
シンプルさ故に、モダンな言語では当たり前のように用意されている機能がなかったり、新しい言語なのでデファクトスタンダードがないなどはありますが、速い、巧い、易いが揃っていて、Goに触れたエンジニアは皆興奮を隠せずにいました。

  • 1

    SRWS

    ゲームなどのメディアに対してユーザー情報・獲得ポイント・交換アイテムの管理の提供を行う、CAリワードを代表するサービス「SRWS」にGoを採用しています。PHPで書かれていたものを、3ヶ月で全てGoで書きなおしました。短い期間で、かつPHPの数倍のスループット向上を実現しました。

  • 2

    Linked Money プライム

    CPA案件市場の中でも、規模の大きい金融市場を狙ったキャッシング比較サイトのためのSSP「Linked Money プライム」。こちらのほぼ全てにおいてGoを採用しました。Goの生産性の高さとハイレベルなエンジニア達の手によって、非常にタイトなスケジュールでしたがオンスケでサービスINを迎えることに成功しました。

  • 3

    リワードDMP

    これからのCAリワードを担う配信分析基盤「リワードDMP」の一部APIにGoを採用しています。
    ほぼ全てのフロントサーバーからのアクセスを受け付けるので、間違いなくリワードで一番リクエスト
    をさばかなくてはいけないシステムとなります。稼働して1年半ほど経ちますが、性能、品質面で大きな問題は発生しておらず、非情に良い選択肢であったと考えています。

今後の展開

Goも、もちろん万能ではありません。例えばデータ分析周りはJava/ScalaやPythonの方が相性がいいですし、管理画面はRoRのエコシステムを活かして生産性の向上をめざす、など要件に併せて柔軟に対応しています。リワードでは、主にWeb APIやバックエンドのバッチ処理などで、既存の資産の置き換えも含め、これからもGoを積極的に採用していきたいと思っています。

開発プロセス

使用しているコミュニケーションツール、言語、環境など

コミュニケーション
  • slack
  • chatwork
プロジェクト管理
  • GitHub
  • asana
  • instagantt
  • Codetree
ドキュメンテーション
  • DocBase
  • Cacoo
環境・DevOps
  • オンプレミス
  • openstack
  • Google Cloud Platform
  • Jenkins
  • circleci
  • wercker
  • docker
  • HashiCorp
言語(クライアント)
  • JS
  • React
  • BABEL
  • Gulp
言語など(サーバー)
  • Go
  • Java
  • Scala
  • Node.js
  • php
  • RAILS
  • C++
  • MySQL
  • Spark
  • AEROSPIKE
  • redis