Embedded Systems Software Engineer
Engineering | Beaverton, OR | Full Time
Digimarc is the inventor of Digimarc Discover® software and Digimarc Barcode for the automatic identification of virtually any object. We provide a powerful platform to create new applications for retail, consumer goods, publishing, banking, media and entertainment, and more.
We are a global, values-based organization empowering talented engineers and scientists, along with a wide-range of sales, marketing and operations professionals to manage a publicly-traded company consistently ranked as one of Oregon’s best places to work. Will you join us? We are Digimarc: The Barcode of Everything™.
Digimarc is seeking an Embedded Systems Software Engineer who values intellectual challenge, good judgment, and sound technical abilities in equal measure. Key responsibilities include:
- Delivering correct, stable, and high-performance solutions in C++
- Leading integrations in third-party embedded systems products
- Implementing, testing, and delivering new algorithms in 1D and 2D signal processing
- API design for internal and external Digimarc customers
As an engineer in a small, fast-paced team, this individual will be responsible for development of embedded software. Working collaboratively, the engineer will participate in all phases of software development including requirements, design, implementation, debugging, unit tests and documentation. The engineer will work with researchers and other embedded systems engineers to convert reference models to product-ready software. The technology focus is implementation of algorithms related to content identification technologies (digital watermarking, 1D and 2D barcodes, etc.) to enable innovative applications. Limited travel may be required.
Throughout our work, positive collaboration with other developers, QA staff, researchers, product management, and partners is essential to success.
QUALIFICATIONS & EXPERIENCE:
- 5+ years of team software development experience
- BSEE, BSCS, or other strong mathematical education
- Effective C++ development, test, and debugging skills in embedded systems
- Enjoys learning new algorithms and internalizing their meaning
- Possesses strong technical curiosity, is self-motivated, collaborative, and able to prioritize tasks
- Experienced with performance measurement and optimization of mathematical algorithms
- Strong grasp of emerging technologies, best practices, and robust architectures
- Adept at modern source control, unit test, and continuous integration workflows
- Familiarity with general-purpose scripting languages
- Command-line tool development for Windows, Linux, or Mac as needed
- Demonstrates clear spoken and written communications skills
- Alignment with the core Digimarc values of Integrity, Caring, Loyalty, Innovation, Commitment, and Knowledge in a fun, fast paced working environment
- Experience with signal processing or graphics algorithms
- Familiarity with MATLAB/Octave
- Experience with ARM NEON programming or other SIMD instructions is a plus
- Interest in digital watermarking technology
Digimarc is an equal opportunity employer and considers qualified applicants for employment without regard to race, gender, age, color, religion, disability, veteran status, sexual orientation, gender identity, or any other protected factor.
Please note this job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee for this job. Duties, responsibilities and activities may change at any time with or without notice.