Principle Software Engineer - Architect
TLDR
Design and develop innovative software solutions for Envipco's Reverse Vending Machines while leading cross-functional teams and optimizing performance.
SUMMARY
The Principle Software Engineer - Architect is responsible for design, development, testing and support of new and existing software components for Envipco’s Reverse Vending Machines. The Principle Software Engineer - Architect is responsible for identifying, documenting and implementing new functionality. The successful candidate will work with the Validation team to create and execute comprehensive test plans. The Principle Software Engineer - Architect will also be responsible for research and documentation of new and existing defect resolutions.
Key Responsibilities
Collaboration: Work with cross-functional teams (Support, Validation, Product Management) to align architectural goals with product requirements.
System Architecture:
Define high-level software architecture, and design modular, scalable components; tailored for global interworking systems.
Design and document software architecture for Linux based products and servers, defining component interactions and interfaces.
Define and document interfaces between system-level components, including kernel modules, drivers, and middleware.
Technical Leadership: Lead design reviews, mentor team members, and promote coding standards.
Hardware/Software Integration: Collaborate with hardware teams to incorporate new processing systems and debug complex system interactions.
Performance Optimization: Analyze and optimize processing systems for utilization, power consumption, and real-time responsiveness.
Linux Mastery: Deep understanding of Linux internals, including system programming, OS kernel, and middleware.
Requirements: Translate functional requirements into technical specifications and design documentation.
Tools: Experience with tools such as UML for modeling, Git for version control, Jira for work process control, and Jenkins based CI/CD pipelines.
Requirements
Education and Experience
Bachelor’s or Master’s degree in Computer Engineering, or Computer Science.
15–20 years of experience in Linux software development
2-3 years experience in a technical leadership or design role.
Technical Skills
Programming Languages:
Expert-level proficiency in C and C++.
Proficient in Python.
Proficient with MySQL
Bonus Skills
Experience integrating vision systems into embedded systems.
Experience integrating TinyML/ML into embedded systems.
Experience developing Android / iOS mobile applications or services.
Envipco is committed to fostering a diverse and inclusive workplace. We encourage individuals from all backgrounds to apply.
If you are ready to take on a challenging and rewarding role at the forefront of environmental innovation, apply now to be a key player in our dynamic team.
Envipco develops innovative reverse vending machines (RVMs) that empower consumers to recycle beverage containers conveniently while earning deposit refunds. Our technology targets environmentally conscious consumers and businesses looking to enhance their sustainability practices. With decades of expertise in the industry, we stand out by delivering reliable solutions that drive recycling and promote a circular economy.