About the job
Description
Enphase Energy is a global energy technology company and leading provider of solar, battery, and electric vehicle charging products. Founded in 2006, Enphase transformed the solar industry with our revolutionary microinverter technology, which turns sunlight into a safe, reliable, resilient, and scalable source of energy to power our lives. Today, the Enphase Energy System helps people make, use, save, and sell their own power. Enphase is also one of the fastest growing and innovative clean energy companies in the world, with approximately 68 million products installed across more than 145 countries.
We are building teams that are designing, developing, and manufacturing next-generation energy technologies and our work environment is fast-paced, fun and full of exciting new projects.
If you are passionate about advancing a more sustainable future, this is the perfect time to join Enphase!
About the role:
As Backend Staff Engineer in Enphase Cloud Engineering group, your mission will be to design, develop and maintain cloud-based software services & modules that cater to millions of users and process terabytes of data.
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
What you will do:
- Proven experience in distributed highly scalable distributed application
- Proven experience in micro-services architecture with k8s deployment
- Rapidly prototype technologies, tools and components for evaluation
- Design and implement scalable, reliable, performant and secure applications & services in the realm of micro-services ,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 Ruby on Rails and Python
- Responsible for delivering feature changes and functional additions that handle millions of requests per day while adhering to quality and schedule targets.
Who you are and what you bring:
- B.E/B.Tech in Computer Science or Electrical Engineering from top tier college and >70% marks
- 8 to 12years of solid software development experience in developing cloud-based applications.
- Excellent Java 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
- Exposure or knowledge in Renewable Tech companies
- Familiarity with Web Front End (Java Script/React)
- Familiarity with working in Internet of Things / Hardware integration