Join us for a 12-week paid internship for the summer of 2020. As a member of the Press Firmware (FW) development team(Intern), this individual will share responsibility for firmware design, development test and release of FW solutions for several Inkjet Web Press products. Design and develop firmware and software components that communicate with electronics, pens and mechanical components to control printing functionalities. Proficiency in Linux and C++ is a must. Embedded firmware, Perl, Java Script is a plus. Experience in printing technology and solutions is desired.
Responsibilities and tasks include:
- Creates, analyzes, designs, programs, debugs, and modifies firmware components that communicate with electronics, pens and mechanical components to control printing functionalities
- Analyzes design and determines coding, programming, and integration activities required based on general objectives and knowledge of overall architecture of product and solution.
- Writes and executes complete testing plans, protocols, and documentation for assigned portion of application; identifies and debugs, and creates solutions for issues with code and integration into application architecture
- Collaborates and communicates with management, internal, and outsourced development partners regarding Firmware applications design status, project progress, and issue resolution
- Ability to work with multiple disciplines: software, firmware, electrical, ASIC and mechanical.
Knowledge and Skills:
People / Leadership Experience - Must Skills:
- Initiative & bias for action
- Solid understanding of Embedded Firmware, computer architecture, development approaches and latest design methodologies.
- Team player with direct experience in test driven development approaches.
- Ability to operate effectively across organizational and team/group boundaries.
- Ability to work independently under time and resource constraints.
Domain Knowledge & Experience – Must Skills:
- 3rd yr Student of Computer Science, Computer Engineering or related college level experience, graduating in 2021.
- Ability to solve technical problems in a fast-paced product development environment.
Highly Desirable Skills:
- Strong C++ programming skills
- Desirable knowledge of other programming and scripting languages (e.g. java, tcl, perl, python)
- Experience in multithreaded and/or multi-process systems, understanding usage of synchronization primitives, different communication paradigms, mutual exclusion, producer-consumer schemes, memory sharing and data communication, priority assignment
- Experience in code debugging: usage of debuggers and tracing tools, memory corruptions and leakage detection and correction, stack analysis
- Experience in state machine design and implementation, event driven control, complex error detection and recovery, synchronization between multiple devices with multiple states.
- Experience in translating from requirements into design, from design into subsystems.
- Experience in distributed control, different coupling levels between subsystems, clear break of responsibilities between subsystems, communication protocols, remote procedure calls, and timing implications due to distributed control.
- Knowledge of the product design cycle.
- Experience with Linux and Windows software development, package, test & release.
- Exposure to software/firmware commercial print systems
- Exceptional written and oral communication – specifications, engineering plans, test plans, other.
- Team player, with a bias towards action.
- Ability to communicate effectively.
- Demonstrated initiative in previous projects.
- Willingness to engage, learn, and generally make things happen.