— 5+ year relevant work experience, including experience with UNIX/Linux environments, distributed and high loaded systems
— Excellent coding skill in Java, concurrency
— Excellent analytical and problem solving skills
— Ability and will to work remotely
— Possess strong verbal and written communication skills in English
— Experience building high-performance, highly-available and scalable distributed systems
— Experience processing large (TB/PB) sets of data
— Good understanding of algorithms and data structures for optimization
— Experience with AWS
— Experience with markets, auctions and/or advertising is a plus
— Excellent understanding of algorithms and data structures
— Experience with functional/scripting languages (Scala/Python)
— Experience with EMR data processing systems such as Hadoop
— Experience with Apache Flume
— Architect, develop, and optimize high-load system for real-time-bidding distributed platform (current throughput of over 1M req/sec).
— Process VAST amounts of constantly growing data.
— Understand bottlenecks, points of failure, design and implement software to address those.
— Innovate with new designs, algorithms, and optimizations to meet scaling requirements.
— Rapidly troubleshoot the system and fix bugs where needed.
— Profile and optimize distributed systems at the application, file system, operating system, server and network levels.
— Conduct design and code reviews.
A candidate for this position should be interested in low-latency systems (single digit milliseconds), big data, high-availability and reliability of large systems, fault-tolerance, efficiency and performance.
Ukrainian Java development team on this project currently consists of 7 developers.
If you have any questions, please contact at skype: artyom.gunko