Streaming Data Engineer
Boulder , Colorado
February 08, 2017
We're looking for a software engineer interested in joining our Data Engineering
team. As part of this small team, you'll help to improve and scale our real-time
data processing and delivery pipeline. This involves finding practical solutions to
tricky distributed systems problems, diagnosing performance issues that may
only crop up at the 99th percentile, and writing real-time streaming code for
We're open to a wide range of experience levels, but at minimum, we're looking
for engineers comfortable with all of the following:
• Using Linux tools and the command line
• Writing core Java (including unit test and mocks)
• Building basic APIs (e.g., JSON over HTTP)
In addition, we're interested in engineers who either have or are interested in
developing skills in the following areas:
• Distributed systems, both usage (Kafka) and design
• Stream processing
• Automation, metrics, and monitoring
The Problem
Our platform helps clients understand what's being said about them online. This
means that we ingest and analyze huge quantities of social media data. We've
developed a custom data processing pipeline and a proprietary text-analytics
engine, but to meet customer demands, we're continually evolving these
technologies. As we increase the amount of data processed and the
sophistication of our analytics services, amazing challenges lie ahead.
The Technology Stack
The Data Engineering team makes heavy use of Kafka, Spark, and core Java
(esp. the Dropwizard framework). We're also invested in Hbase, Hadoop, and
several distributed in-memory caches.
Essential Skills, Knowledge, Abilities, and Background
• BS/MS in computer science, related field, or equivalent work experience
• Proficiency in modern, core Java with interest / experience in Scala
• Interest in deployment and scaling via Kubernetes, Mesos, YARN, etc.
• Interest / experience in big-data technologies such as Kafka and Spark
• Familiarity with Linux and comfortable on the command line
Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.

As a member of the software engineering division, you will assist in defining and developing software for tasks associated with the developing, debugging or designing of software applications or operating systems. Provide technical leadership to other software developers. Specify, design and implement modest changes to existing software architecture to meet changing needs.

Duties and tasks are varied and complex needing independent judgment. Fully competent in own area of expertise. May have project lead role and or supervise lower level personnel. BS or MS degree or equivalent experience relevant to functional area. 4 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.

A little about us:
Oracle is shifting the complexity from IT, moving it out of the enterprise by engineering hardware and software to work together—in the cloud.

Know someone who would be interested in this job? Share it with your network.