Position: Web Platform Architect
Company: oracle.com
Category: JavaScript
Experience required: 5y
English level: intermediate

Utilities from around the world provide energy usage data from tens of millions of customers to Oracle UGBU which we then analyze and aggregate into key insights using the latest software technologies. Opower's Web Platform delivers Web experiences to consumers and enables the development and integration of those experiences with other internal and external development teams to maximize exposure of the Opower platform to Utility Consumers. Web Platform enables development by anyone on the Opower Platform and leverages multitudes of functionality at low cost to the developer. The Opower Web Platform bundles functionality desired by web content developers building for the Utility Consumer so that developers can leverage it at low cost. Leveraged areas are content delivery, authentication and authorization, development environments, testing tooling, design system, compliance, continuous integration, continuous deployment, and consistency between UGBU web product offerings. Developers do not have to reinvent these solutions for every product and can rely on the solid production-ready foundation from the Opower Web Platform.

**About You**

· You’ve got scars. Your 8+ years of experience as a software engineer have taught you valuable lessons that you will apply and mentor others.
· You are an expert. You have 2-4 years of demonstrable advanced knowledge and experience in leading architecture design and patterns for writing scalable and maintainable software and of security best practices for software development. You’re an expert in multiple technologies, with a solid knowledge of the whole web stack: front-end, back-end, databases, cache layer, HTTP protocol, TCP/IP, Linux, CPU architecture, etc.
· You are passionate about JavaScript tools and frameworks and the future of JavaScript because of projects like Node, npm, webpack, babel etc.
· You want to own it. You embrace the challenges inherent in being fully responsible for an important part of Opower’s business, from supporting your applications in production to continuously monitoring and evolving it, based on performance metrics.
· You care about your users, especially all types ranging from internal and external software engineers to the Utility customers.
· You live the process. Let’s face it, delivering software in teams is hard. You know that you can’t be successful without bringing order to chaos. Scrum, source code management, code review, continuous integration are all second nature to you. And, you know that too much can be worse than too little.
· You’re agile (and not just in the buzzword sense). You know how to succeed in a fast-paced, ever-changing environment and wouldn’t have it any other way.
· You have strong computer science fundamentals. Our large data sets and low latency solutions require deep background in computer science. BS or MS in computer science is preferred but if you’ve acquired the chops in some other way then come show us.

 **Requirements**

· Expert with JavaScript as a first-class language. Excellent CS fundamentals.
· Experience creating large JavaScript projects with a team in an agile environment.
· Wide background and experience leading architecture, design and implementation of complex features and delivery of large‐scale web applications in real-world situations, that have a meaningful business impact, decommissioning older versions and simplifying the whole ecosystem.
· Advanced-level understanding of modern front-end web application development, understanding of UX and UI design best practices.
· Experience with Webpack, babel, React, Vue, state management, GraphQL a plus.
· Experience with Mocha, Karma, Jasmine, or another unit testing framework.
· Solid understanding of JavaScript prototypes, callbacks, promises, async/await, performance issues, and debugging.
· Deep understanding of how distributed resilient software is built and deployed, solid experience with larger projects (large code bases),
· Knowledge of web application security, performance and scalability.
· Experience articulating strategic decisions and solutions. You’re well-versed in the crafting of technical architectural documents (RFCs and ADRs, for example) and other artifacts.
· Experience delivering platform and architecture recommendations based on product requirements and industry best practices.
· Experience building a development toolkit, SDK or similar platform for other engineers.
· Highly proficient in collaborating with product stakeholders, end-users, and technical team members to deliver high-quality products.
· Exceptional technical communication skills with the ability to explain complex technical issues to a technical or non-technical audience.
· Experience working across teams: deliver tech talks, contribute technologies used by multiple teams, leads cross-team efforts, presents new concepts to large audiences effectively