Purpose of the job
The Senior Engineer will play a key role in the design, development, and implementation of engineering projects. This position requires a solid understanding of engineering principles and the ability to apply them effectively. The Senior engineer will work autonomously and collaboratively with lead engineers and managers to ensure the successful completion of projects.
The successful candidate will be responsible for the development of Software for Image Processing products within the IX R&D team. These products perform real time video and image processing and compositing for display on LED, projection and other displays. The products are part of highly visible systems in environments such as corporate events, rock concerts, television studios, House of Worship, Trade shows and fixed installations. The candidate will take responsibility for the quality completion of designated features and design suitable solutions to complex problems while working as a member of the Image Processing R&D team.
General Job Responsibilities
To carry out the design, implementation and testing/verification of the modules within the given constraints: time, cost, specification & quality targets
To ensure that the implementation conforms to the common guidelines and best practices
Ensure that the relevant, available information gets collected, analyzed and considered for the proposed used for the solution
To collect/prepare the documents (documentation and reports) of the related design/module/sub-assembly in time as per the project plan
Solve practical problems and deal with a variety of concrete variables in situations where only limited standardization exists
Effective time management - Carry out specific assigned tasks independently and/or in a group environmenton time with minimum supervision
Communicate effectively and professionally with other members of the development team and product management.
Detail Job Responsibilities And Requirements
Bachelor’s degree in Computer Science, Computer Engineering, or equivalent.
Excellent communication and technical writing skills
Ability to work autonomously and manage assigned tasks
Ability to work well with other team members on a global team
Must Have Experience With The Following
C++ software design and development with Object Oriented Design principles
Multithreaded programming
Software development in a Linux environment
Experience With The Following Is a Benefit
Developing and debugging with ARM processors, microcontrollers and other ICs
Bus protocols such as PCIe, USB, SPI, I2C
Linux device driver development
C and C++ libraries like STL, Boost, Qt, GStreamer, OpenCV
TCP/IP and UDP network programming
Video and audio processing
Media streaming protocols and media processing APIs
Software build automation and version control tools