ENGINEERING技術情報
システム構成
アドウェイズが提供する広告に関わるシステムの大半はRubyとPerlで書かれています。
システムのパフォーマンスや運用コストを効率化する新しい技術は、十分に検証した上で積極的に採用しています。最近では、「Scala+DDDでのスクラム開発」、「Ruby on Railsを用いた基盤システム開発」、「React、Angularを用いたフロントエンド開発」、「BigQuery、Redshiftを用いた分析システムの開発」などにも取り組んでいます。
新しい技術と枯れた技術それぞれを適材適所で組み合わせ、トータルでバランスの良いシステムとは何か?を考え、アドウェイズのエンジニアは日々チャレンジを続けています。
ダウンタイムにシビアなシステム運用
アドウェイズのサービスは数百台のサーバーを使って提供されています。
増え続けるトラフィックや新規サービスを支えるため、日々その規模は大きくなっています。
広告配信システムは、ダウンタイムがそのまま収益に影響することから、システムの安定稼動は最重要の課題です。
このため、大量のインフラ機器を効率良く無停止で、ダウンタイムがあったとしても数秒の オーダーで運用するシビアさが求められます。
CobblerやJenkins,Capistranoなど、安定稼働に必要なものは何か?ここでも、アドウェイズのエンジニアは日々チャレンジを続けています。
スピード感のある開発現場
システム開発の現場で、形式ばって枚数ばかりが多い仕様書が作成されることはありません。システムの機能追加や改修内容について、 少人数のチームがホワイトボードを前に検討し、必要最小限なドキュメントやメモが作られるだけです。
アドウェイズのエンジニアの仕事は、その時に必要なシステムを最短距離で開発することで、堅苦しいドキュメント作成に時間を割くことではありません。
小さいチームで素早く仕様を共有し、スピード感をもって開発にあたるのがアドウェイズの開発スタイルです。
失敗を恐れずに挑戦できる環境
アドウェイズでは与えられた職場環境を受け入れるだけでなく、 自分たちがどういう環境で仕事をしたいのか、アイデアや要望があれば提案して、自分の理想とする職場環境を手に入れることができます。
自分が働きたいと思う職場環境があれば、それを外に求める必要はありません。エンジニアが理想とする職場を自分たちで手に入れることができます。
また、大きな失敗をしたとしても、それが限界までチャレンジした結果であれば、大きな経験を積んだとして評価されます。
失敗を恐れて臆病になる必要はありません。
部門の垣根を越えた連携
アドウェイズのスタッフは組織や役職によってそれぞれ役割は異なりますが、多くの人に満足してもらえるより良いサービスを提供しようという思いは一緒です。
そこから、社内の人間関係には全く垣根が無く、技術や担当するサービスについて、あるいは流行っているゲームの攻略方法など、そこらじゅうで話が盛り上がっています。こうした普段の交流の中から、思いがけず素晴らしいアイディアやひらめきが生まれています。
冗談を言い合いながらも多くの刺激を受けられる、フラットな人間関係がアドウェイズにはあります。