Embedded Software Engineer
We are looking for detail-enthusiasts, technical thinkers and “leave no stone unturned” problem-solvers. People dedicated to affecting meaningful change in the energy sector. Team-players who can see the big picture, but respect that it might not be identical for everyone. Strategists who appreciate obstacles because they present opportunities. We want to build a team of innovative, authentic, self-directed professionals who can help us execute on our mission and contribute to a culture of transparency and trust. No matter the department or role, we are looking for team members who understand how to balance meeting customer needs with creating processes, systems, teams and products that adapt scale.
Essential Job Functions:
- Work as part of a team to develop prototype device integrations with microprocessor hardware, connected devices and other web interfaces.
- Ability to work quickly and efficiently as a solo developer
- Develop high level architecture and process flow for all goals.
- Bachelor’s degree in computer science or another relevant field is highly desirable
- Strong C/C++ programming language skills required
- Proficiency in at least one scripting language, Raspberry Pi/Python preferred
- Well versed in communication protocols/networks such as Bluetooth, BLE, Wi-Fi, TCP/IP Client/Server Communication. Ability to develop/debug at the stack and hardware driver level
- Recent experience with an Embedded Linux platform, configuration, board support packages, boot loaders, kernel, drivers, and application development is highly desired.
- Experience developing with GCC/GNU toolchain and Linux development tools preferred
- Strong object-oriented design skills preferred
- Knowledge of simulation and analysis tools including editors, compilers, linkers, debuggers, code analyzers, version control systems (GIT/SVN), software testing tools, etc. preferred
Adherence to our core values:
- Catalyst for Change and Transformation: you want to tackle a big problem and have an impact on the world.
- Authenticity and Integrity: you value honesty, openness, and transparency.
- Creative and Innovative: you love thinking outside the box to solve complicated problems.
- Self-directed and Collaborative: you take initiative, get things done, and know how to communicate.
Bonus points for:
- Experience in event based controls systems
- IoT experience
- Knowledge of UML, SysML and other modeling methods
- Development for Arduino or Intel Edison hardware.