Advisory Software Engineer (Embedded Systems)

Ricoh Americas HoldingsBoulder, CO
1d

About The Position

Advisory Engineer, Enterprise Software Position Profile This role is for a technical professional who will be part of a team designing the next generation of print technology solutions for a complex Commercial Print inkjet product line, with an emphasis on research and development. The position requires the ability to architect comprehensive solutions using numerous imaging and system inputs, with a focus on efficient code and collaboration within a larger software development team. Candidates must have significant experience applying software engineering principles to solve challenges in complex integrated systems. A strong R&D background with heavy coding emphasis is required. The Advisory Engineer will contribute to developing Linux-based software running on multiple hardware platforms for Commercial Print Inkjet printer control units. Ideal candidates will also have Windows development experience to support smaller Windows-based application projects. This position works independently with limited direction, thrives in an agile environment, and may require up to 10% travel. Job Duties and Responsibilities Performs advanced software activities related to the development of products or solutions. Evaluates and determines alternative designs; recommends and implements complex solutions. Works on software development projects with limited guidance; may occasionally coordinate team member activities. Collaborates with Quality Assurance and Field Engineering teams to identify and resolve issues. Contributes to planning within an agile team. Recommends solutions to issues impacting the team. Accountable for completing technical objectives on schedule and within cost, quality, and design specifications. Understands and follows established software development processes. Positively supports evolving business needs. Performs additional responsibilities as assigned.

Requirements

  • MS in Computer Science, Computer Engineering, Electrical Engineering, or related field; or equivalent experience.
  • Strong foundation in software engineering fundamentals, including object‑oriented design, concurrency, and core data structures.
  • Expert-level knowledge (5+ years) in software development, system architecture, design, and integration, typically demonstrated through substantial professional experience across organizational boundaries.
  • High proficiency (5+ years) in programming languages such as C++, Rust, Python , and experience with Git, CI/CD, and automated testing .
  • Expert understanding of complex software and hardware products, development practices, theories, and use environments.
  • Experience working on large, complex, high‑performance systems.
  • Linux inter-process communication skills: message passing/queues, process synchronization, shared memory.
  • Experience with modern AI/ML technologies (e.g., data‑driven modeling, intelligent automation, predictive systems) to improve performance, reliability, and software development lifecycle efficiency.
  • Applies established software design patterns, code review practices, and static analysis techniques to ensure code quality and maintainability.
  • Flexible, self‑motivated, and strong problem‑solving mindset.
  • Values shared success and team knowledge sharing.
  • Ability to redirect team efforts and adapt to changing business requirements.
  • Demonstrates technical leadership and is recognized as an expert on major product development projects.
  • Uses professional judgment, in‑depth evaluation, and company objectives to resolve complex issues creatively.
  • Guides individuals and teams in applying leading-edge software development practices.
  • Advanced negotiation and communication skills to influence peers, leadership, cross‑functional teams, vendors, and subcontractors.
  • Communicates complex technical topics clearly across the company, with customers, and within global technical communities.
  • Requires strong analytical ability and creativity to understand and interpret program objectives and market requirements.
  • Positively contributes to a high‑performance, high‑morale team culture and leads by example.

Nice To Haves

  • Working knowledge of SQL, relational databases, Java, JavaScript, AWS, Django (Python), and ReactJS.

Responsibilities

  • Performs advanced software activities related to the development of products or solutions.
  • Evaluates and determines alternative designs; recommends and implements complex solutions.
  • Works on software development projects with limited guidance; may occasionally coordinate team member activities.
  • Collaborates with Quality Assurance and Field Engineering teams to identify and resolve issues.
  • Contributes to planning within an agile team.
  • Recommends solutions to issues impacting the team.
  • Accountable for completing technical objectives on schedule and within cost, quality, and design specifications.
  • Understands and follows established software development processes.
  • Positively supports evolving business needs.
  • Performs additional responsibilities as assigned.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service