Senior Software Engineer, API Cloud

Engineering Bangalore, India


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!
 
About the role 
As Senior Software Engineer, API Cloud 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
  • Work on cloud-based microservices and distributed systems to deliver scalable solutions
  • implement secure, high-performance backend web applications
  • Develop software applications using design patterns, efficient data structures, and algorithms
  • Primarily work with Java and Spring Boot, with light exposure to Ruby and Python
  • Collaborate with cross-functional teams including product managers and project managers, following best-in-class agile software development processes
Who you are and what you bring
1. Experience:
  • B.E/B.Tech/M.Tech in Computer Science or Electrical Engineering from top tier college and >70% marks
  • 4+ years of total experience for B.E/B.Tech OR 3+ years of total experience for M.Tech
  • Minimum 4+ years of experience in building robust backend systems
  • At least 3+ years of hands-on experience using Spring and Spring Boot
2. Technical Expertise:
  • Experience working on large-scale software projects
  • Strong understanding of Java internals, including performance optimization, memory management, and garbage collection (GC)
  • Familiarity with software development frameworks, such as Spring and Hibernate
  • Knowledge of multi-threading, concurrency, and parallel processing concepts
  • Experience with databases such as MySQL, PostgreSQL, or MongoDB
  • Experience with using Java testing frameworks such as Junit, Mockito
  • Familiarity with software build tools, such as Gradle and Maven
  • Proficiency in design patterns and adherence to SOLID principles
  • In-depth knowledge of core web technologies such as HTTP protocols
  • Familiarity with software version control systems such as Git and SVN
3. System Fundamentals:
  • Strong experience with Linux environments, containerization tools (Docker), and orchestration platforms like Kubernetes
4. Problem-Solving Skills:
  • A solid grasp of algorithms, data structures, and efficient debugging methodologies
Bonus Skills:
  • Familiarity with monitoring and observability best practices in complex systems
  • Hands-on experience working in agile teams with product-focused delivery
  • Experience with Ruby on Rails