Senior Java Engineer - Oracle Data Cloud/AddThis
Location: Vienna, Virginia
Posted: January 14, 2017
Reference ID: 170001R8
SENIOR JAVA ENGINEER - Data Cloud
"The Addthis/ODC engineering is solving data challenges at huge scale ( data sets in the billions !!) that is very unique in the industry, and certainly the DC area. It's a fast-paced start-up culture with the stability & backing of a top software company. " Yuesong Wang - Director Development - Oracle Data Cloud(ODC)
ODC engineers are responsible for building robust distributed systems and infrastructure that process massive amounts of data, execute machine learning algorithms at scale, and make the insights derived from these processes available to millions of website publishers and billions of users in near real-time. As the Senior Java Engineer on the Platform team, your job will be to build and maintain the systems and algorithms that make this possible. Our software stack includes many best-of-breed open source technologies, such as Cassandra and Kafka, as well as home grown tools, some of which have been open sourced, such as Hydra (checkout our Github page). In addition to building the distributed systems that enable data processing at scale you will work with our data scientists to implement machine learning algorithms that are able to efficiently operate in a distributed environment. Data is at the heart of what we do at AddThis and your work will be a critical factor in our success.
- Build and maintain high-performance distributed systems
- Design and implement highly scalable API's and services that receive billions of requests per day
- Be fanatical about performance and performance monitoring
- Use efficient data structures and algorithms to enable data processing at scale
- Code primarily in Java but also able to use the right language for the right job
- Extensive experience with distributed computing, performance analysis, network protocols, data storage subsystems, and Linux
- Strong computer science fundamentals including a deep understanding of data structures and distributed algorithms
- Able to create elegant, efficient, and testable code
- Expert Java programmer with a deep understanding of the JVM, the Java memory model, and asynchronous I/O.
- BS, MS, or PhD in Computer Science or related field
- Experience processing very large data sets
- Experience working with advertising systems
- Ability to understand and implement machine learning algorithms
- Experience with Cassandra, Kafka, Hadoop, Spark, Riak, or similar technologies
- Experience working with Docker, Mesos, SDC or similar technologies
- Familiar with common POSIX and Linux specific system calls
- Understanding of Linux Kernel development
- Experience developing high performance software that operates on SSDs
Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.
As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures. You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems.
Work is non-routine and very complex, involving the application of advanced technical/business skills in area of specialization. Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area. 7 years of software engineering or related experience.
Oracle is an Equal Employment Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, sexual orientation, gender identity, disability and protected veterans status or any other characteristic protected by law.