2015.01.07

アドテクエンジニアになりたければ、この技術を学べ!

アドテクエンジニアになりたければ、この技術を学べ!

本記事では「アドテクに興味があるけど敷居が高い」と思ってる技術者に向けて、どんな技術を学ぶべきか紹介します。

まずは、どんな技術の需要があるのか調査

そもそも、アドテク業界に限らず、IT業界は空前の人で不足です。

例えば「Java経験5年目のシステムエンジニア」と言うだけで、それはもう引っ張りだこの状態で、プロジェクトへアサイン依頼が「一人に数十件来る」レベルです。その中でも、進化が早いアドテク関連企業の人手不足は、もっとも深刻です。

しかし、アドテク関連企業に関しては言えば、「経験5年目のシステムエンジニア」というだけでは採用されません。「少数精鋭で良いプロダクトを作っていこう」と考えられてらっしゃる企業が多いので、いくら人手が足りなくても「技術要件に見合わない人は不要」という思いが、強いようです。

そこで、アドテク関連企業が「どんな技術要件で」技術者を募集しているかを調べてみました。

調査

調査先:Wantedly

Wantedly内で「エンジニア」募集の「アドテク企業」のみをピックアップしてます。(アドテク企業だけど、セールスとマーケターだけ募集中といった企業は除いてます)

ピックアップの順番ですが、WantedlyのProjectsIDの若い順に掲載しています。また「ウチが載ってない!」と言う場合は、伊藤に連絡ください。

可能な限り、ピックアップ企業に追加させていただきます。

現在:20社(2015.1.7)

ピックアップ企業

株式会社カンム

企業URL:https://kanmu.co.jp/

  • Pythonでの開発に興味のある人
  • AWSを使ったwebサービス運用経験のある人
  • チームでの開発に慣れている人
  • プロダクトの品質に拘り、モダンな開発体制を一から築いていきたい人

◎弊社が勝手に注目している技術

  • インフラ関係(Chef、AWSの各種コンポーネント)
  • 大規模データ処理(Hadoop/Hive(EMR)、Redshift、Riak)
  • データ可視化(CoffeeScript, D3.js)

株式会社adingo

◎使用することになる技術や環境など

  • Linux、PHP、CodeIgniter
  • Smarty、Twig、jQuery
  • Jenkins、PHPUnit
  • GitHub、Pull Request

アドイノベーション株式会社

企業URL:http://adinnovation.co.jp/

言語のメインは Java。 フレームワークは Wicket に Google Guice を組み合わせて利用、ORM は Hibernate または Iciql。 データベースは PostgreSQL、MySQL、MongoDB を局面に合わせて使い分けています。

Gunosy

企業URL:https://gunosy.co.jp/

◎推奨スキル

  • GolangまたはPythonを用いたwebシステム開発経験
  • webアプリケーションのパフォーマンスチューニングの経験

◎歓迎スキル

  • Golang、Erlang、Scalaなどの非同期プログラミング経験
  • データ集計や統計に関する知識と業務経験
  • 機械学習と分散システムに関する知識と業務経験
  • クラウドインフラ(AWSなど)の構築運用経験
  • アドサーバ(アドネットワーク・SSP・DSPを含む)の構築運用経験

株式会社アイモバイル

企業URL:https://www.i-mobile.co.jp/

◎開発言語 サーバサイド

  • 言語:ASP.NET
  • OS:Windows Server 2008 R2
  • DB:SQL Server 2008
  • ツール:Visual Studio 2010
  • 開発エディタ: 同上
  • バージョン管理: VSSおよびSVN

ユナイテッド株式会社

企業URL:https://united.jp/

◎必須の経験・スキル

  • Perl、PHP、Ruby、Python、Javaなどを用いたwebアプリケーションの開発経験
  • Linux/RDBMSを用いた開発経験

◎下記のような方、大歓迎(必須ではありません)

  • アドテクに興味がある方
  • C言語、Perlの経験がある方
  • サーバ構築経験がある方
  • 大規模データの分析経験がある方

サムライト株式会社

企業URL:https://somewrite.com/

  • PHP、Perl、Ruby、Python いずれかのスクリプト言語での開発経験がある方
  • LinuxやMySQLについての基礎理解 がある方
  • オブジェクト指向プログラミングの基礎理解がある方
  • HTML/Javascript/ActionScriptの経験 がある方
  • Unix/Linuxの経験がある方
  • Java/Cの経験がある方
  • MySQLなどのデータベースの経験がある方

マーベリック株式会社

企業URL:https://www.mvrck.co.jp/

  • Bigdateに関する興味
  • KVS(redis/MongoDB)への興味
  • Hiveへの興味
  • 開発言語興味
  • Scala
  • Ruby
  • Perl
  • Java
  • Haskell

※言語につきましてはどれか1つでも問題ありません

  • gitの利用経験

株式会社エージェントゲート

企業URL:https://www.agentgate.jp/

○開発環境:

  • サーバ側:LAMP環境
  • 管理画面:Ruby on Rails、JavaScript

株式会社ALBERT

企業URL:https://www.albert2005.co.jp/

【開発環境】

  • IntelliJ IDEA ライセンス貸与
  • JenkinsによるCIの実施、テスト自動化
  • Ansibleによる構成管理
  • Redmine によるチケット駆動
  • Mac or Windows8 64bit / メモリ8G~ / モニタ23型ワイド~(デュアル可)
  • デスクトップPCの他、ポジションによりノートPC(MacBookAirあり)貸与
  • 外部常駐なし,自社内開発
  • AWS

○開発言語 Java, Python ○RDB, KVS PostgreSQL, MySQL, Redis, Memcached ○AWS EC2, EMR, ElastiCache, Redshift, DynamoDB, Kinesis など ○フレームワーク Java : Play Framework, Spring系 JavaScript : jQuery, AngularJS 分散処理 : Hadoop、Apache Spark ○サーバー環境、OS OS : CentOS(Amazon EC2) ○他管理ツールなど Redmine, Backlog, Mercurial, Sphinx

スケールアウト

-必要な経験/スキル

  • 本、webなど媒体を問わず知識欲を持っており、常に検索する姿勢
  • 検索できると便利になる世の中の事象、現象を論理的に考えられる能力
  • Linux/UNIX上での開発経験
  • 大規模分散システムの設計・開発経験、もしくは設計思想などの把握
  • Python、Perl、Ruby、Scala またはその他スクリプト言語を用いたプログラミングスキル

-あると望ましい経験/スキル

  • 統計モデリング、機械学習またはデータマイニングの分野での研究開発経験
  • 自然言語処理の分野での研究開発経験
  • ネットワーク(ソケット通信)プログラミングの開発経験

スマートニュース株式会社

企業URL:https://about.smartnews.com/ja/

  • アドテクに興味がある
  • アドネットワーク構築経験
  • アドテク組織のマネジメント経験

Demand Side Science 株式会社

企業URL:http://demand-side-science.jp/

Demand Side Science では、ほとんどの成果物が Scala で実装されています。 fractale では webビーコンに Play Framework を採用、またRTB取引サーバには Twitter が公開している RPCフレームワーク「Finagle」を使い、ハイパフォーマンスを実現しています。 またフロントエンドJavaScript は Backbone.js で構造化。メインデータベースは MySQL で、バックエンドのログ基盤として HBase & Hive を使用しています。 テストについては Specs2 でサーバー側、Jasmine でフロントエンドの単体テストを記述しています。 インフラはオンプレミスで、構成管理に Ansible を使っています。 チーム開発は GitLab 上で行っており、チケット管理に Redmine、HipChat でチーム内のコミュニケーションを取っています。

株式会社フリークアウト

企業URL:https://www.fout.co.jp/

必須スキル webアプリケーションやシステムソフトウェアの設計・開発経験のある方 求める人物像

  • ハンズオンによる問題解決能力のある方
  • 社外を含む複数の関係者と協力して物事を進める力がある方
  • ディテールに対する深い理解力と、本質的な論点を把握する洞察力のある方
  • セルフモチベーティブと、開発チームにおける(権限を使わない)強いリーダーシップと影響力のある方

株式会社ヒトクセ

企業URL:https://hitokuse.com/

【必須スキル】

  • JavaScript
  • Ruby on Rails
  • AWS, Hadoop, fluentd

のいずれか

  • Git
  • UNIXの操作
  • ビジネスへの理解

株式会社まくびーインターナショナル

開発言語 PHP データベース MySQL

株式会社イルグルム(旧株式会社ロックオン)

企業URL:https://www.yrglm.co.jp/

※細かい技術要件なし

株式会社ジーニー

企業URL:https://geniee.co.jp/

※細かい技術要件なし

株式会社マイクロアド

企業URL:https://www.microad.co.jp/

※細かい技術要件なし

株式会社Intimate Merger

企業URL:http://corp.intimatemerger.com/

  • Elastic Search / Lucene / Solrなどの検索エンジンの技術
  • Redis / Riak / AeroSpike / DynamoDBなどのKVSの技術
  • BigQuery / Treasure Data / Amazon Redshiftなどの大規模データストレージの技術
  • その他、Pythonを使ったプロダクト開発やJavascriptを使ったロギングの技術に興味がある方がいましたら、ご連絡お待ちしております!

技術要件まとめ

どこの企業さまも、基本的には、大量データ、大量高速トランザクションを捌くための技術構成(Hadoop、KVSなどがコア技術)になっているのが読み取れます。その結果、技術要件も似たようなものになってますね。

また、分散リポジトリで、自動化ツールを導入し、インフラはクラウドで、チケット駆動開発を行っているというのも読み取れます。言語やフレームワークは、見事にバラバラですので、興味がある企業があれば、そこに合わせる必要がありそうです。

必須と思われる技術群

アドテクエンジニアになりたければ、以下を学ぶことが必須かと思います。

大量データ処理(Hadoopなど)

Hadoop はあくまで基幹技術であり、AWS が提供している Redshift や、Treasure Data など、関連するサービスなども合わせて学んでおくと良いと思われます。

大量高速トランザクション処理(KVSなど)

アクセスピーク時には「1秒間に数万トランザクション」ということもあるので、KVS だけでなく、ハイパフォーマンスなHTTPサーバや、落ちないシステム構築の作り方なども重要な要素になってきます。

インフラはクラウド(AWSなど)

大量データ処理を実現するには、クラウドサーバ技術は必須ですが、クラウドサーバを利用する際の「コスト最適化」などもできると重宝されると思います。

チケット駆動開発(Redmineなど)

アドテク業界は非常に動きが早く、何の施策が効果的なのかを判断するためにも、まずは出すというスタイルの開発が多いです。そのために、スクラムの2週間スプリントで、どこまでの範囲を開発するか?リリースするか?などをチケット管理します。

分散リポジトリ(Gitなど)

マージがやりやすいと言うのもありますが、プルリクエスト/レビュー運用による品質の担保を前提に導入されていると思いますので、その辺も意識して学ぶと良いと思います。

自動化ツール(Jenkinsなど)

手作業の削減、ミスの低減による利用もありますが、品質担保を自動化する、見える化するというのも重要なことです。

任意の技術群

これは、個人的な意見ですが、以下のような技術も学んでおくと良いと思います。

JS、ブラウザなどの深い知識

ブラウザで取得可能な情報、3rdPartyCookie 知識、各ブラウザや各サイトのJSライブラリの挙動の違いなど、あれば重宝されます。

RESTfulシステム構築(Play Frameworkなど)

API公開前提、負荷分散前提でシステム構築する場合に、この知識や経験は有利になるので、学んでおくことは損になりません。

チャットツール(ChatWorkなど)

チケットに残さないようなコミュニケーションや、ちょっとした依頼など、すべてチャットツールのみで完結できるので、重宝するツールです。単なるツールですが、使い慣れていると開発に伴うコミュニケーション効率が上がります。

※補足 アドテク業界に特化した技術要件としたので、システム業界全体で必要な技術要件は、ある程度持っている前提で記載してます。

まとめ

ざっくりと私見も含めて、技術要件をまとめてみましたが、いかがでしょうか?

弊社は、上記のような企業さまと協業や技術協力させていただくケースが多いので、肌感覚とも合ってます。これらの技術を学べば、ほぼ確実にどこかの企業とご縁があるかと思います。

Related Post

関連記事