Data Platform - Principal Software Engineer
GET READY FOR THE FUTURE OF ENERGY
Enphase Energy is using the innovation that made us the world leader in microinverter technology to transform energy generation and management forever.
We are one of the fastest growing and most dynamic Energy Systems Companies in the world. By combining the power of solar energy and the proven advantages of communications technology, Enphase Energy makes solar power systems productive, reliable, smart, and safe. Our microinverter system is profoundly changing the way solar systems function, and as a result, changing the solar industry itself.
As we continue our exciting growth, we are building teams with highly talented individual contributors and leaders who design, develop, and manufacture next generation energy technologies. Our work environment is fast-paced, fun, and full of exciting new projects.
- Milestone years
- Global Footprint
- Future Enphase, what is there for the candidates?
- Energy Independence - https://www.youtube.com/watch?v=OdM1u5lgIk0
- Enphase Vision - https://www.youtube.com/watch?v=rlUmx5Ckurg
- Enphase Home energy Solution - https://www.youtube.com/watch?v=8hJJlGY5Mnc
- Enphase Ensemble - https://www.youtube.com/watch?v=-zm0NMKW7k4
- Enphase website Link - https://enphase.com/en-us/support
- Enlighten Link - https://enphase.com/en-us/products-and-services/enlighten-and-apps
- Enphase 2021 Investors Presentation Link
Cloud & Digital
Architect / Director of Engineering
Mission (Why does this role exist?) and Scope (About the Job)
We seek to hire Principal Engineer who could lead the development and delivery of Real Time Data Platform for Enphase. Real Time Data Platform carries the vision of providing low latency, high throughput and highly available data platform which can bidirectionally connect Cloud Systems with millions of Solar Site Gateways & IoT Devices. Real Time Data Platform is the futuristic vision to connect, collect and command & control Enphase IoT based Energy solution / devices.
As Engineering manager, one should have 14+ years of experience in leading and building distributed systems in the paradigm of messaging platforms, time series databases, stream data processing, REST and microservices. As Engineering manager, one shall drive architecture, development and delivery along with managing roadmaps and milestones.
Key Responsibilities and Outcomes (What the Person needs to accomplish in the role?)
You are expected to
- Work closely with Product Owners/Managers, Review the product definition and develop execution strategy for all the deliverables of the team
- Able to estimate the work packages, create, manage and execute the plans for various programmes in parallel.
- Be Strong in communication and represent the team in various forms with good documentation and presentation skills
- Shaping architecture for robust, reliable, and high-performance applications, considering functional and technical requirements.
- Be very strong in system design and experienced in Data platforms, Streaming and batch, Web and APIs
- Has strong command on Messaging Brokers, Stream Processing, NoSQL/Timeseries data processing, Cloud based hosting
- Experienced in building platforms using Java, Spring and open sources
- Have good knowledge of CI/CD pipelines
- Have good knowledge in AWS cloud environment. Able to build highly scalable and reliable production systems
- Develop high-level product specifications with attention to system integration and feasibility
- Define all aspects of development from appropriate technology and workflow to coding standards
- Successfully communicate all concepts and guidelines to development team
- Oversee progress of development team to ensure consistency with initial design
- Participate in architectural review, code review, quality review and provide technical guidance and coaching to developers and engineers
- Ensure software meets all requirements of quality, security, modifiability, extensibility etc.
- Prior experience with use of JIRA, Confluence, and collaboration tools.
Qualifications: Education, Competencies (Knowledge, Skills & Behaviour) and Experience
- B.E/B.Tech in Computer Science or related discipline from Top Institute. Strong academics and career track record.
- 14+ years of solid software development experience in building secure, scalable, and resilient cloud-based systems. 3+ year experience managing teams.
- Proven experience as software technical lead/manager/architect with AWS cloud and digital Software
- Excellent knowledge of software implementation, design and architecture of Data Platforms, Stream Processing, NoSQL /Timeseries, Microservices
- Proven experience in working with AWS Cloud Platform. Building highly reliable and fault tolerant systems
- Experience in Data Message Brokers such as Kafka, Pulsar, AWS Kinesis etc
- Stream Data processing frameworks such as Apache Flink, Spark, Apache Storm etc
- NoSQL / TimeSeries databases like TimeScaleDB / InFluxDb
- Strong understanding of Software Security, Monitoring and Logging tools.
- Strong understanding of software design principles (SOLID, design patterns etc.)
- Strong understanding of SOA and enterprise integration patterns.
- Strong understanding of Functional or OOP patterns.
- REST API and Microservices Architecture
- Exceptional coding, troubleshooting and problem-solving skills
- IOT Based product functionality knowledge
- Understanding of software quality assurance and security principles
- A technical mindset with great attention to detail
- Agile Software Development experience with Kanban/Scrum, TDD/BDD and CI methodologies
- High quality organizational and leadership skills
- Exposure or knowledge in Renewable Tech companies and IOT Systems