Embedded Software Engineer
Lexmark is a global Fortune 500 developer, manufacturer and supplier of printing solutions and services in more than 150 countries. Unlike some of its competitors, Lexmark develops and owns the technology inside its products, giving us a competitive edge and allowing us to more quickly introduce new products. This ownership of technology, along with a commitment to innovation and unique path to market, have been the ingredients of our success since the company was founded. Being employed by a technology leader has its advantages, and people who like to work in a fast paced environment love being with Lexmark.
Join a department working on challenging firmware for new single and multi-function laser printers. At a high level, the firmware receives print data from the host computer via network, USB, or other interface, processes the print data, converts it to a printable format, works with custom ASIC electronics to interface to the print mechanism, and controls the print mechanism.
This department is responsible for the definition, development, and support of an embedded graphics engine and page description languages interpreters, such as for Adobe’s PDF format. The PDL firmware interprets the commands in the print data and invokes functions in other firmware subsystems, such as the graphics engine, to RIP (raster image process) the job. The graphics engine firmware is a graphics rasterizer that provides the interpreter firmware with a simple, object oriented interface, such as paths, pictures, transparency.
The software engineering position involves supporting a large, existing base of firmware as well an implementing new function to the existing code base. Performance issues, such as memory management and speed are major considerations for this firmware. Aside from new functional and performance enhancements, future work may involve analyzing, partitioning, and tuning the graphics engine to perform in a multi-core environment.
The software engineer requires strong engineering, analytical, and communication skills to:
– Define, develop, support, and maintain firmware to render graphics.
– Research new technology/algorithms; create strategies and design firmware, tests and tools early in the development cycle.
– Create, document, and review specifications/design/code.
– Communicate issues; solve problems; share knowledge and expertise.
– Demonstrate commitment to coding standards, clear comments, and incremental improvement of legacy code.
– Work closely with other on-site and off-site teams and team members throughout the full development life cycle.
– Improve instrumentation and debugging tools to improve efficiency.
– Ensure new code is reentrant and platform-independent.
Requirements:
- B.S in Computer Science, Computer Engineering, Electrical Engineering, Mathematics, is required (GPA 3.5/4.0)
- M.S. in Computer Science, Computer Engineering, or Electrical Engineering is desired.
- Coursework should include: networking and network protocols, operating systems, data structures, algorithms, high-level programming languages. It is preferred that coursework include: software engineering principles, object-oriented design, compiler design, and embedded systems design. It is desired that coursework include and parallel programming.
- Strong C programming experience is required.
- Unix/Linux development experience is required.
- Perl/Python programming experience is desired.
- Embedded software development experience is highly desired.
- Good written and verbal communication skills are required.
- Additional experience involving graphics, color science, imaging systems design is a plus.
- Process improvement experience is a plus.
If you are intrigued by this position, please submit your resume in confidence to job order #110422 & #110500 at www.lexmark.com/employ and/or email your resume to acarlile@lexmark.com
Thank you for your interest in Lexmark International.
|