Description
Enphase Energy is a global energy technology company and a leading provider of solar battery and electric vehicle charging products. Founded in 2006 our innovative microinverter technology revolutionized solar power making it a safer more reliable and scalable energy source. Today the Enphase Energy System enables users to make use save and sell their own power. Enphase is also one of the most successful and innovative clean energy companies in the world with more than 80 million products shipped across 160 countries.
Join our dynamic teams designing and developing next-gen energy technologies and help drive a sustainable future!
This role at Enphase requires working onsite 3 days a week with plans to transition back to a full 5 day in office schedule over time.
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.
What you will be doing
- 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/ Computer Science or Electrical Engineeringfrom top tier college and >70% marks
- 3 years of solid software development experience in developing cloud-based applications
- ExcellentJavaprogramming skills with effective use of design patterns data structure and algorithms
- Solid experience in microservices and API development and a strong practitioner of OPEN API based development
- Solid experience in Java Spring Boot Spring Web Flux Frameworks Unit Tests Frameworks REST principles and Cloud design patterns
- Proficient in Spring Ecosystem: Experience with Spring Security Spring Cloud Spring Data and Spring Batch
- Hands-on experience with WebFlux and building reactive non-blocking applications
- Solid understanding of databases (both SQL and NoSQL e.g. PostgreSQL MongoDB Cassandra) and familiarity with ORM tools like Hibernate
- Message Queues: Experience with messaging and event-driven architectures using tools like RabbitMQ Kafka or ActiveMQ
- Experience with containerization (Docker) and orchestration (Kubernetes)
- Very strong knowledge in OOAD and SOLID Design principles
- Knowledge of Ruby on Rails developmentResque Rspecs and its deployment practices is a plus
- Knowledge of GraphQL and its architecture is a plus
- Provenexperienceofdeveloping applications on top ofRelationalandNoSqldatabases such as MySQLMongoDbAWSDynamoDb
- 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 AgileClean CodeTDD methodologies
- Exposure or knowledge in Renewable Tech companies
- Familiarity with Web Front End (Java Script/React)
- Familiaritywith workingin Internet of Things / Hardware integration