Job Description
About Company:
Enphase Energy is a global energy technology company and the world’s leading supplier of microinverter-based solar and battery systems. We are advancing a sustainable future for all!
Role Title: Staff / Sr. Staff Engineer - Backend
Reports To : Sr. Manager / Director
Mission (Why does this role exist?) and Scope (About the Job)
Enphase is building a world class FinTech platform and as part of this team, the engineer will work on architecting, designing and developing a sophisticated system based on microservices / micro frontend architecture. This will have integrations with the Enphase Digital Platform and other financial technology platforms to provide seamless, best in class experience to our installers and customers, using the latest front end technologies.
Enable Enphase to succeed in Solar Energy domain by building application and services for various stakeholders of the company including homeowners , installers and customer support
Key Responsibilities and Outcomes (What the Person needs to accomplish in the role ?)
- Design and implement scalable, reliable, performant and secure applications & services in the realm of microservices ,webservices, batch Jobs , web Applications , data processing , device integration (IoT)
- Ability to develop software programs with best of design patterns , data Structures & algorithms
- Follow and implement best of the software engineering processes that include clean code , test automations ( TDD) , monitoring , performance bench marking etc
- Work in very challenging and high performance environment to clearly understand and provide state of the art solutions ( via design and code)
- Ability to debug complex applications and help in providing durable fixes
- While Java platform is primary, ability to understand, debug and work on other application platforms using Node.js
- Responsible for delivering feature changes and functional additions that handle finance processing and fintech integrations while adhering to quality and schedule targets
Qualifications: Education, Competencies (Knowledge, Skills & Behaviour) and Experience
Minimum Qualifications
- B.E/B.Tech in Computer Science or Electrical Engineering from top tier college and >70% marks
- 5 to 15 years of solid software development experience in developing cloud-based applications
- Excellent Java / Node.js programming skills with effective use of design patterns, data structure and algorithms
- Solid experience in microservices and API development using Java, Spring Framework, SpringBoot, Spring Cloud Netflix Libraries, Spring Data, JPA/Hibernate , REST principles, cloud design patterns
- Proven experience of developing applications on top of Relational and NoSql databases such as MySQL, MongoDb, AWS DynamoDb
- Excellent understanding protocols & concepts such HTTP, MQTT, SSL , Public Key infrastructure ( PKI), oAuth , SAML
- Proficient in working in the environment with tools such as GIT, Jenkins, SonarQube, automated tests (jUnit) , Maven , Gradle
- Knowledge and experience of having worked in AWS Cloud Platform (or Azure / GCP). Good understanding and experience on PaaS services like File & object Storage, Message Queues/Bus, SQL/NoSQL , Identity and Access management , Load balancers etc
- Good knowledge and experience with Agile, Clean Code, TDD methodologies
Preferred Qualifications
- Exposure to FinTech platforms, financing domains, workflows
- Exposure or knowledge in Renewable Tech companies
- Familiarity with Web Front End (Java Script/React)
- Knowledge and familiarity of Node.js
- Familiarity with working in Internet of Things / Hardware integration