OracleSr. JavaScript Engineer in
Lexington, Kentucky

As a member of the software engineering division, you will specify, design and implement major changes to existing software architecture. Create new architecture for a moderate size product or a portion of a major product. Build and execute unit tests and unit test plans. Review integration and regression test plans created by QA. Communicate with QA and porting engineering to ensure consistency, testability and portability across products in general.

Provide leadership and expertise in the development of new products/services/processes, frequently operating at the leading edge of technology. Recommends and justifies major changes to existing products/services/processes. BS or MS degree or equivalent experience relevant to functional area. 8 or more 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.

Senior JavaScript Engineer

Are you an experienced software engineer looking to make an impact on a dynamic team? Opower, now a part of Oracle Utilities, is looking for an engineer who is interested in joining our team in Arlington, Virginia and taking a leading role in evolving our internal platform for web development to meet the growing needs of Oracle Utilities and beyond. At Oracle, our Software Engineers are the foundation of our top-notch Engineering organization.

Opower applies behavioral and computer science to one of humanity s greatest challenges: Energy. Our utility customers around the world give us energy usage data for tens of millions of their customers which we then analyze and aggregate using the latest software technologies to motivate consumers to use less energy.

What do we do?

Opower's cloud based web platform powers a suite of applications that help customers and utility representatives understand and take control their energy use. Our apps are branded to seamlessly integrate with utility websites you may have used one without realizing it! They are built from JavaScript front-end components and a mix of NodeJS and Java based services powering the back-end APIs.

You'll be joining the scrum team responsible for the evolution and efficiency of our web platform s front-end content build system, content serving systems, tooling frameworks, and testing support packages. The team provides a software platform for individual Oracle Utilities teams to build, test, and deploy modern cloud based web products on top of.

We write most of our code in JavaScript, using the NodeJS runtime, but we take pride in working with the full system stack that includes Chef cookbooks, nginx routing, Jenkins continuous integration, Docker containers, and some front-end JavaScript.

Responsibilities:

Our senior engineers lead by example and drive our organization s progress in a variety of ways, with responsibilities including:

Teaching more junior engineers about best practices through forums included but not limited to Slack support channel, design meetings, code reviews and one on one conversations (in person or remotely using Zoom).

Implementing solutions that draw inspiration from a wide net of resources and knowledge to impact a dozen engineering teams around the world and enable entire web offerings.

Creating and reviewing design plans and documents both within our team and across multiple teams.

Partnering with engineers from other teams adopting and using our platform in order to facilitate their applications specific or unique needs.

About You:

You should be efficient in writing JavaScript code and comfortable with asynchronous programming.

You should have strong experience programming in dynamically typed languages.

You should have strong experience with back-end web development.

You have an interest in modern web application architecture, test driven development, continuous integration, and release and deployment processes.

You can lead design sessions for complex problems.

You understand micro-services and how to compose them into applications.

You are experienced with scrum, issue tracking, source code management, and continuous integration.

Experience with Webpack, KoaJS, Chef, or Docker is a bonus, but in no way required.