Staff Software Engineer
Description
POSITION DESCRIPTION:
We are looking for a Staff Software Engineer to join our Engineering team. The ideal candidate will have a proven track record of designing and delivering high-quality software solutions. This role requires expertise in Java, Spring Boot, Python and Microsoft Azure cloud technologies. This role offers the opportunity to craft elegant, scalable, and robust software designs while contributing to impactful energy solutions. This position is remote or can be based out of our Santa Clara, CA office. (or similar)RESPONSIBILITIES
- Design and implement scalable, maintainable, and efficient software: Translate architectural vision into high-quality, scalable systems, ensuring best practices and design principles are followed throughout the development lifecycle.
- Develop and maintain high-quality cloud-native applications: Write and maintain robust code for backend systems, focusing on performance, reliability, and scalability using cloud services.
- Deliver on technical and product roadmaps through direct contributions: Actively contribute to the codebase to meet project goals and deadlines.
- Work closely with cross-functional teams: Collaborate with product managers, data scientists, and other engineers to understand and define technical requirements, ensuring alignment with business needs and product goals.
- Deploy software applications into production: Partner with DevOps and other engineers to ensure a smooth deployment process.
- Mentor a team of cloud backend software engineers: Guide and support team members, fostering their professional growth and technical skills.
- Ensure design and code quality: Maintain high standards through rigorous code reviews, automated testing, and adherence to design patterns, established coding standards and best practices.
- Apply knowledge of energy systems and renewable energy technologies: Leverage domain-specific expertise to build solutions tailored for the energy sector.
- Develop Azure cloud solutions: Utilize the full suite of Azure services to build robust, performant, and reliable cloud-native applications.
REQUIRED QUALIFICATIONS
- 7+ years of experience developing software applications in the energy industry, preferably with distributed energy resources.
- 2+ years of experience in a leadership role as a technical lead responsible for owning delivery of software features.
- Strong software design and problem solving skills
- Demonstrated expertise with Java, Python, or C# programming languages
- Track record of delivering software products/features through software development life cycle.
- Experience with CI+CD, unit testing, managing complex team projects in Git, and managing virtual environments.
- Able to work closely with teams and other management personnel, and communicating effectively with team members and stakeholders
- Experience with cloud and IoT technologies such as Docker, Kubernetes, microservices, message passing architectures, REST APIs, and serverless programming.
- Experience querying databases for structured data.
- Ability to work collaboratively with all levels and teams at Qcells.
- Travel may be required up to 20%, depending on business needs.
- Willingness to learn and adapt in the rapidly growing energy industry.
PREFERRED QUALIFICATIONS
- Expert knowledge of distributed energy resources (PV, storage, EVs) and the methods they generate revenues in the residential and commercial/industrial markets.
- Experience with Azure cloud environment.
- Database and data management technologies: PostgreSQL, Kusto, Fabric.