Uplight is creating a new category of energy by developing software that manages energy resources in homes and businesses. The Senior Software Engineer will drive technology forward by developing scalable backend services and APIs for Uplight's Virtual Power Plant platform, enabling efficient energy management and supporting grid operators.
Responsibilities:
- Develop and maintain the scalable backend services and robust APIs that power Uplight’s VPP platform, facilitating seamless access to curated data for internal users and external customers
- Champion a full service ownership culture by designing, deploying, and managing the underlying cloud infrastructure using modern Infrastructure as Code (IaC) practices
- Build, optimize, and maintain robust Continuous Integration and Continuous Deployment (CI/CD) pipelines to ensure rapid, secure, and reliable delivery of code to production environments
- Design cost-effective, scalable data models for various relational and NoSQL databases, ensuring the systems can handle large-scale data storage and retrieval
- Implement automated systems and processes to monitor data quality, ensuring production data is consistently accurate and highly available for dependent business processes
- Ensure system reliability through rigorous unit and end-to-end regression testing, proactive system monitoring, performance benchmarking, and debugging of critical production issues
- Drive architectural design, implement best software engineering practices within the team, and proactively hedge technical risks to deliver projects predictably
- Collaborate closely with Product Management, Delivery, and Operations to translate customer challenges into new capabilities, while mentoring peers through constructive code reviews and technical guidance
Requirements:
- BS, MS, or Ph.D. in Computer Science, Electrical Engineering, or a strictly related field
- 5+ years of professional software engineering experience, with a proven track record of delivering scalable, production-grade systems
- Strong proficiency in Python (or similar object-oriented programming languages). You consider writing readable, testable, and maintainable code a core requirement and have a deep understanding of design patterns
- Hands-on experience with cloud platforms (e.g., AWS), building CI/CD pipelines and utilizing Infrastructure as Code (e.g., Terraform, CloudFormation)
- Solid working knowledge of various SQL and NoSQL databases, alongside deep technical expertise in at least one NoSQL database
- Extensive experience operating within Agile/Lean development environments with a strong commitment to full service ownership and operational excellence