Senior Software Architect at Powin (Remote)
We’re Building the Future! Ever want to do hard work that will make a REAL difference in the world? Do you want to solve some of the most difficult problems with a team of exceptional players at a company that does not believe in impossible?
About The Company
Powin Energy is a leading producer of utility scale modular battery energy storage system (complete with a patented, advanced, cloud-based monitoring/control system). That means we build power plants out of batteries that put coal and gas generators out of business and enable sustainable viability for renewable energy sources like solar and wind.
Powin is, and will continue to be, one of a handful of companies that will provide the equipment necessary to make this happen. Powin has distinct competitive advantages: cost-effectiveness; reliability; scalability; deploy-ability; and operational sophistication. Every day we work to ensure that we maintain these competitive advantages and our position as a global leader in providing turnkey, battery energy storage solutions for utility-scale, commercial and industrial, and microgrid applications.
Powin is looking for an experienced and well-rounded Senior Software Architect who will be responsible for creating and maintaining the internal and system architecture for our software products. The Senior Software Architect reports to the VP of Software Engineering but will work directly with Powin’s CTO to incorporate strategic changes into the overall architecture.
The Senior Software Architect must have deep knowledge of software architectures, their relationship to internal hardware constraints, and high-performance distributed system design.
- Collaborate with technical product manager and software developers to create and maintain software product architecture within applications and at the system level
- Use deep understanding of Java internals to create high performance solutions
- Work with the CTO to align software architecture with longer term technology strategy
- Utilize the concepts of lean software development to appropriately limit scope and manage complexity
- Participate in the planning process to help set implementation estimates and work sequencing
- Produce and maintain architectural artifacts such as drawings, documents, and code
- Create proofs of concept in both code and math to accelerate software development
- Lead and mentor software analysts who are still gaining experience in software architecture
- 10+ years’ experience in software development
- 5+ years’ experience as a software architect
- 5+ years working with streaming system architectures (e.g., message busses, distributed caches, etc.)
- 2+ years’ experience with SaaS solutions, preferably on AWS
- Deep understanding of Java internals (JRE, JVM, GC, threading / work stealing, etc.) and its relationship to underlying hardware (execution pipelines, L1/L2 caches, and memory, storage, and network I/O)
- Strong modeling skills for data (e.g., ORM and ER) and code (e.g., UML)
- Solid understanding of modern UI architectures, such as MVC
- Firm understanding of cyber security threats and mitigations
- Experience with energy systems and protocols (SCADA, Modbus, etc.) is a plus
- Experience with embedded systems development is a plus
- Experience with real-time (streaming) UI via web APIs is a plus
- Remote position, with expected regular travel to the Tualatin office
Be a part of the future by making a difference with Powin!