As a Senior Software Engineer, you will:
- Perform expert technical analysis of partner APIs so that risks are identified in the requirements stage, not the implementation stage
- Introduce and devise tools, techniques, and best practices that benefit the entire team.
- React to and resolve novel technical, operational, and organizational challenges by drawing both from first principles and hard-won experience.
- Contribute to all parts of our stack, from web and mobile to our distributed service, queuing, and data layers
- Maintain and scale our massive pipeline of streaming device, energy, and weather data
- Build the advanced grid services that utilities need to evolve the grid to 100% renewable energy
- Work with device manufacturers to integrate even more devices into our platform and support new hardware APIs
- Collaborate with the analytics team to scale our thermal modeling, device control, and energy efficiency algorithms and incorporate them into new platform features
- Contribute to our team culture and inclusive workplace environment
- 5+ years professional software development experience, preferably in a small to medium-sized team
- Java experience (preferably Java 11) required; other programming interests and technologies are encouraged!
- Experience with at least one scripting language (we use Python)
Nice to have:
- Information security experience: PKI, TLS, OAuth, SSO, penetration testing, etc.
- Front end expertise in web (HTML/CSS/React), Android or iOS
- Experience using modern development tools and processes (automated testing, continuous integration, code review, version control, etc)
- Database and data processing pipeline experience (we work with RabbitMQ, MySQL, MongoDB, DynamoDB, and S3)
- Cloud administration experience (preferably AWS + Linux), including instance, networking and security management
- Experience monitoring and operating web services
Why work for EnergyHub?
- Collaborate with outstanding people: Our employees work hard, do great work, and enjoy collaborating and learning from each other.
- Make an immediate impact: New employees can expect to be given real responsibility for bringing new technologies to the marketplace. You are empowered to perform as soon as you join the team!
- Gain well rounded experience: EnergyHub offers a diverse and dynamic environment where you will get the chance to work directly with executives and develop expertise across multiple areas of the business.
- Work with the latest technologies: You’ll gain exposure to a broad spectrum of IoT, SaaS and machine learning challenges, including distributed fault-tolerance, device control optimization, and process modeling to support scalable interaction with disparate downstream APIs.
- Be part of something important: Help create the future of how energy is produced and consumed. Make a positive impact on our climate.
- Focus on fun: EnergyHub places high value on our team culture. Happy hours and holiday parties are important to us, but what’s also important is how our employees feel every single day.
EnergyHub is a growing enterprise software company that works with the most forward-thinking companies in smart energy. Our platform lets consumers turn their smart thermostats, electric cars, water heaters, and other products into virtual power plants that keep the grid stable and enable higher penetration of solar and wind power. We work on technology that already provides energy and cost savings to millions of people through partnerships with the leading companies in the Internet of Things.
EnergyHub offers a generous benefits package including 100% paid medical for employees and a 401(k) with employer match. We offer a casual environment, the flexibility to set your own schedule, a fully stocked fridge and pantry, free Citi Bike membership, secure bike rack, gym subsidy, paid parental leave, and an education assistance program.
EnergyHub is an Equal Opportunity Employer
In connection with your application, we collect information that identifies, reasonably relates to or describes you (“Personal Information”). The categories of Personal Information that we may collect include your name, government-issued identification number(s), email address, mailing address, other contact information, emergency contact information, employment history, educational history, and demographic information. We collect and use those categories of Personal Information about you for human resources and other business management purposes, including identifying and evaluating you as a candidate for potential or future employment or future positions, recordkeeping in relation to recruiting and hiring, conducting analytics, and ensuring compliance with applicable legal requirements and Company policies.