リード・プログラマー / Lead Software Engineer
概要
- プレイフィッシュのリード・プログラマーとして、日本最大のモバイル・ソーシャルゲーム・プラットフォームで上位にランクインするソーシャルゲームの開発を行います。
- ゲーム部門のプログラマーを率いて、納期を確実に守りつつプログラマーのクリエイティビティが存分に力を発揮できる環境を作ってください。
業務内容
- テクニカル・デザイン段階でプログラマーと作業を行い、開発のすべての場面でガイダンスを提供する。
- プロデューサーとともに正確なロードマップを描き、適正な作業量にとどめつつ生産性を保つ。
- チーム内でソフトウェア・プログラミングに関する窓口となり、リリースを受け持つ。
- すっきりとした分かりやすいコードを記述する。検証を経て何百万というユーザーにも対応できるコードの作成を、手本として自ら示す。
- チームワークと実績、そして自己鍛錬を重視する文化を推進する。
- 結果を重視すること、優先事項に注力すること、常に楽しいゲームプレイを提供すること。チーム全体でこれらの理想を共有する。
- プロセスと作業の質を改善するよう努力する。
- 日本の開発チームの一員として現場を盛り上げ、必要に応じて開発中のゲームに対するフィードバックを行ったり社内のその他の活動に参加する。
応募資格
- コアJavaに精通している。
- アルゴリズム、物理、数学の確かな理解。
- Javaのマルチスレッド・プログラミングの理解。
- サービス志向アーキテクチャの理解。
- Javaによる低レイテンシ・高スケーラブル・高アベイラビリティの分散サーバ開発経験(J2EEアプリケーション・サーバを使わないかたちであれば尚可)。
- RDBMSおよびSQL(特にMySQL)の理解。
- バージョンコントロールとSubversion、Ant、Maven、Gitなどのビルドシステムの知識
- Unix系システムの理解。
- テスト駆動開発および継続的インテグレーションの経験。
- メンテナンスおよび再利用が可能な、クリーンなコードの記述経験。
- テストと慎重なリファクタリングによるレガシーコードの改善を行う意欲。
- 技術用語に精通し、複雑な概念を技術系以外の人間にも伝えられる高度なコミュニケーション能力。
- 小規模なチームをまとめ上げた実績のあるベテラン・リーダー。
以下の条件にあてはまる場合は尚可:
- ActionScriptの知識が豊富でFlash Liteの使い方が分かる。
- HTMLおよびテンプレートエンジンの経験。
- 日本のモバイルウェブ・プラットフォーム向け開発の制限事項を認識している。
- ソーシャルネットワークのAPIおよびソーシャルアプリ作成の知識。
- 他のプログラム言語の知識(C++、Ruby、Python、PHP、Erlang、Scala)。
- Amazon Webサービス(EC2、EBS、S3、Cloudfront、SQS、SimpleDB)の知識。
- BerkeleyDB、S3&SimpleDB、Bigtable/Hypertable、Dynamo/Voldemortなど非RDBMSデータストアの知識。
- ソケットプログラミングおよびネットワークプロトコルを理解している。
- メッセージング(JMS、SQS、AMQPなど)およびイベント駆動型アーキテクチャの経験。
- 仕様のパターン/アンチパターンの高度な知識。
- スクラムの実務知識。
Summary
- As Lead Software Engineer at Playfish you will develop chart topping social games for the largest Japanese Mobile Social Gaming platforms
- You will lead other engineers within a game team to ensure a high quality of software craftsmanship while work is delivered to schedule
Job Description
- Work with Software Engineers at the technical design phase and offer guidance at all stages of development
- Work with Producer to help create an accurate road-map, maintain productivity and ensure a reasonable workload
- Be the primary point of contact for Software Engineering in the team and coordinate releases
- Lead by example and create clean, understandable code backed up by tests and which will efficiently scale to millions of users
- Promote an atmosphere of teamwork, achievement and self improvement
- e result driven and feature focused, making sure game-play is always fun and these values are held by the whole team
- Strive to improve process and quality of work
- Be a positive member of our team, help to build a great culture for our Japan team, give feedback on games in development and take part in other activities in the company as needed
Candidate Requirements
- Expert knowledge of core Java
- Solid understanding of algorithms, physics and mathematics
- Strong understanding of multi-threaded programming in Java
- Understanding of service-oriented architecture
- Experience developing low-latency, highly scalable, highly available distributed server systems in Java, preferably without a J2EE application server
- Strong understanding of RDBMSes and SQL, particularly MySQL
- Knowledge of version control and build systems such as Subversion, Ant, Maven and Git
- Understanding of Unix-like systems
- Experience of test-driven development and continuous integration
- Experience writing maintainable, reusable clean code
- Passion for improving legacy code with careful refactoring, supported by tests
- Excellent communicator, fluent in technical language and able to convey complex ideas to non-technical people
- Experienced leader with proven track record of successfully leading small teams
- Business level Japanese and/or English language ability preferred
The following would also be advantageous:
- Good Actionscript knowledge and familiarity with Flash Lite
- Experience with templating engines and HTML
- Aware of limitations of developing for mobile web platforms in Japan
- Knowledge of social network APIs and creating social applications
- Familiarity with other programming languages (C++, Ruby, Python, PHP, Erlang, Scala)
- Knowledge of Amazon Web Services (EC2, EBS, S3, Cloudfront, SQS, SimpleDB)
- Knowledge of non-RDBMS data stores such as BerkeleyDB, S3 & SimpleDB, Bigtable/ Hypertable, Dynamo/Voldemort, etc.
- Understanding of socket programming and networking protocols
- Experience with messaging (e.g. JMS, SQS, AMQP) and event-driven architecture
- Good knowledge of design patterns/anti-patterns
- Working knowledge of Scrum
応募方法 / How To Apply
エレクトロニック・アーツ株式会社人事部採用係
kyujinuser@eaj.ea.com へ英語、および日本語の履歴書、職務経歴書をご送付ください。