Software Engineer
Requirements:
- Software engineer with intermediate skill level, 3-6+ yrs. of experience in software programming
- Primary language: Python (3.8+)
- Linux skills are crucial
- May be negotiable if python experience is solid
- Some hardware experience (e.g., PCB layout) will be advantageous, but primary skill required will be python programming
- Own vehicle for traveling
- Traveling to sites may be required
- Traveling both in country and out of country if required
- Compensation: Let’s see what you have available with these requirements first
Responsibilities
- Take ownership of our python software product codebase
- Develop and maintain codebase
- Implement new features in code
- Assist team members with new features
- Collaborate with team members to do parallel development on codebase
- Maintain code on our corporate GitHub
- Create documentation on code
- Depending on skill and experience: Act as team leader, tutor junior members
- Integrate real world equipment such as generators, rectifiers, inverters solar controllers etc. into our product offering
- Interact with real equipment to test code
- Learn from senior team members to better understand our market and our clients
Advantageous skills:
- GitHub
- Knowledge of real time communication interfaces and standards such as I2C, SPI, RS232, RS485, CANBUS, MODBUS, ethernet, GPIO etc.
- Product design experience
- Python flask
- Working on embedded Linux devices
- Mechanical design (Solid works), or at least an understanding of mechanical requirements. Not as crucial.
Company culture
- We value ingenuity, innovation and intuition
- Taking ownership means understanding the function of our products and code, and understanding the requirements of clients
- Some freedom in how you accomplish tasks
- Some freedom to set own goals, to satisfy market demands
- Some field work may be required
- Some client exposure may be required
Desired Skills:
- Phython
- Github
- Linux