Careers at Memjet

Principal Software Engineer

Personal Characteristics

We are seeking talented and dedicated software engineers who:

  • Enjoy building robust, high-quality software;
  • Are excited by technical problems;
  • Are flexible and adaptable;
  • Work well within a team;
  • Provide excellent customer service

Work practices

  • Elicit and analyze customer requirements for future system architectures and features
  • Technically lead the development of architectures for specific printer designs and other systems
  • Technically lead software projects as assigned
  • Liaise with customers to identify new system architecture and product feature requirements
  • Produce design documentation for the system architectures and new product features
  • You must be dedicated and thorough, and prefer to code right the first time
  • You must be able to produce robust software that meets requirements, in a timely manner
  • You must be highly effective and enjoy working in a team and communicate technical concepts clearly and concisely
  • You must be enthusiastic and experienced using software development best practices such as design and code reviews, configuration management, unit testing, and automated regression tests to maximize software quality and maintainability
  • You must contribute to all facets of projects, including planning/tracking, architecture, design, implementation, reviews, integration, specialty engineer/application engineer/customer support, documentation, and training others.
  • You must strive to meet Memjet objectives for Principal Software Engineers

Essential experience, skills, and attributes:

  • A comprehensive understanding of software development techniques and practices
  • At least 7 years solid software engineering experience using C and C++
  • Solid experience with Python
  • Ability to work with and respond quickly to evolving requirements
  • Ability to work independently within a multi-disciplinary team of engineers and scientists
  • A good understanding of revision control concepts and practices, ideally with Git
  • Some experience with embedded systems

Well regarded experience, skills, and attributes:

  • Experience with Bash scripting
  • Experience with Subversion software
  • Experience with Linux
  • Experience using C#
  • Experience using SQL
  • Experience developing effective Software Architectures

Essential education:

  • Bachelor’s (or higher) Degree in computer science, computer engineering or equivalent

Applicants should email resumés to