Skip to content

Principle Software Engineer - Architect

  • On-site
    • Osnabrück, Germany
  • Engineering

Job description

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

  1. Define high-level software architecture, and design modular, scalable components; tailored for global interworking systems. 

  2. Design and document software architecture for Linux based products and servers, defining component interactions and interfaces. 

  3. 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. 

Job 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.

or

Apply with Linkedin unavailable
Apply with Indeed unavailable