Senior Software Engineer (Full Stack)

We are on a mission to revolutionize solar energy access for apartment residents and property owners through our Virtual Grid platform, the cornerstone of our innovative product suite. As we scale our engineering team, we’re looking for passionate individuals ready to contribute to our growth and impact. While we are a remote-friendly organization, we also cherish our vibrant office culture in the heart of downtown San Diego. Candidates are expected to work Pacific Time hours, with flexibility subject to discussion with your manager. This role offers a unique opportunity to report directly to the VP of Engineering, collaborating intimately with Product Managers and fellow engineers to shape the future of solar energy.

Team & Product:

Joining our engineering squad, you’ll be a pivotal part of one of three vertically integrated product development teams, with opportunities to explore and contribute across different areas based on project needs and personal growth aspirations:

Virtual Grid Transactions: Dive into the heart of our platform by working on core billing logic and the engine that powers our ecosystem.

Program Support: Enable our platform to function by collecting data from third parties, ensuring the highest data quality and reliability.

End User Support: Focus on delivering exceptional user experiences, from the Resident Portal and EV Charging app to client reporting and beyond, ensuring our customers’ journey is seamless and impactful.

Tech Stack and Expectations:

Our tech stack is as diverse as our mission:

  • Backend: Python, Node.js/JavaScript
  • Frontend: React/TypeScript
  • Database: PostgreSQL (TimescaleDB)
  • Cloud Services: AWS (ECR, Lambda, SQS, and more)

We value polyglot programmers and ‘T’ shaped professionals who thrive in diverse environments, believing in the right tool for the right job. We expect you to navigate across the tech spectrum, from crafting intuitive frontends to robust backends, and take pride in code quality, testing, and QA. While we recognize and nurture individual strengths and preferences, our engineers are encouraged to embrace full-stack agility and ownership.

Requirements

  • Collaborate Cross-Functionally: Work closely with engineering, product, design, marketing, and business stakeholders to define, develop, and launch software updates and enhancements. Ensure software projects are developed with a keen understanding of business objectives, incorporating insights from various departments to achieve the expected results.
  • Agile Task Management: Identify, prioritize, and manage software development tasks in an agile environment, efficiently balancing short-term objectives and long-term goals. Actively participate in sprint planning, retrospectives, and daily stand-ups to ensure continuous progress and team alignment.
  • Code Quality and Maintenance: Write, review, and maintain clean, efficient, and well-documented code. Conduct and participate in code reviews, advocate for best practices in CI/CD, and contribute to the maintenance of our codebase with an eye for scalability and performance.
  • Design and Architectural Input: Actively contribute to the design and architecture of both new and existing systems, providing insights and recommendations to improve scalability, performance, and maintainability. Engage in system-wide discussions and specific project design sessions to ensure technical solutions are robust and forward-thinking.
  • Automation and Efficiency: Identify opportunities for automation within the development process, and automate repetitive tasks through appropriate scripting and tools, focusing on deployment, testing, and data management processes. Streamline workflows to increase development efficiency and reduce manual overhead.
  • Mentorship and Leadership: Provide mentorship and technical guidance to team members, fostering a culture of learning and growth. Lead by example in code reviews, technical discussions, and knowledge sharing sessions to build a strong and supportive engineering team.
  • Best Practices Advocacy: Champion best practices in software development, including secure coding, performance optimization, and maintainable architecture. Encourage the adoption of these practices across the team to improve overall quality and efficiency.
  • Active Team Participation: Fully engage in team meetings, discussions, and company events, contributing to a positive and collaborative team culture. Remote participation should be active and effective, ensuring connectivity and inclusion for distributed team members.
  • Comprehensive Testing: Create and maintain comprehensive test suites, including unit, integration, and end-to-end tests. Ensure high-quality software through rigorous validation and verification testing, adopting test-driven development (TDD) practices where applicable.

Qualifications:

  • Demonstrates a strong sense of ownership over projects, taking initiative to identify issues, propose solutions, and drive improvements without waiting for direction. Shows commitment to the project’s success by going beyond assigned tasks to ensure quality and timely delivery.
  • Proven experience in full stack development, with a strong portfolio of projects that demonstrate expertise in both frontend and backend technologies.
  • Solid understanding of agile methodologies and experience leading agile processes.
  • Excellent coding skills, with a commitment to writing clean, efficient, and maintainable code.
  • Strong leadership and mentorship skills, with the ability to inspire and guide a team.
  • Effective communication skills, capable of engaging with both technical and non-technical stakeholders.
  • A continuous learner, staying on top of industry trends and best practices in software development.

Salary Range

$130,000- $150,000 annually

Benefits

  • Health, Dental & Vision Insurance
  • Flexible PTO
  • 401k Plan
  • Great Office Environment
  • Monthly Electrification & Fitness Stipends
  • Primary & Secondary paid leave

Compensation is commensurate with various factors including, but not limited to, relevant experience, qualifications, skills, training, licensure, certifications, geographic cost of labor, and other business and organizational needs.

About Ivy

We are a team that is on a mission to evolve the way that shared buildings create, use, and think about energy.

We connected as a team with the firm conviction that we can use technology and innovative problem solving to fix the problems that exist for distributed energy asset growth in a shared building environment. Our team comes from a variety of different backgrounds including real estate development, energy monitoring software, and solar industry operations.

Hit Go – Team Values

Harmony – “Enjoy what you protect.”

Innovation – “Did I create today?”

Transparency – “Embrace open dialogue.”

Growth – “Seek beyond your comfort zone.”

Ownership – “Know your value, own your value.”