Expoint - all jobs in one place

Finding the best job has never been easier

Limitless High-tech career opportunities - Expoint

Qualcomm Linux Video Software Engineer 
Canada, Ontario, Toronto 
99062069

01.05.2024

Job Area:

Engineering Group, Engineering Group > Software Engineering

Responsibilities:

This position requires the candidate to design, implement, integrate, and commercialize various user and kernel mode software modules on Qualcomm’s SOC that meets specified performance, latency, power, robustness, and stability metrics. Responsibilities include requirements analysis, software design/development/maintenance, and troubleshooting of video related frameworks and drivers on the mobile and/or AI inferencing SOCs platforms.

• Android multimedia frameworks and video related applications.

• Video usage models including playback, streaming, camcorder, WiFi display, and DRM.

• Video compression standards (e.g. H264/H.265/AV1)

• Streaming protocols and implementation (e.g HLS/HTTP/RTSP/DASH)

• Expertise in working with tools and techniques used on Linux (Windbg, JTAG, etc.)

• ARM or other embedded SoC development and debugging.

• Master’s degree in Engineering, Information Systems, Computer Science, or related field.

• Experience with C and C++ Programming Languages.

• Experience in Linux Kernel development with a focus on V4L2 and device driver programming.

• Experience in video and imaging technologies, including video compression, post-processing, and computer vision.

• Experience in researching and implementing ML algorithms and tools, and developing machine learning applications according to requirements.

• Knowledge of software design patterns and multi-threaded programming.

• Knowledge of computer architecture, operating systems, data structures, and algorithms, particularly with respect to Linux platforms.

• Software debugging skills in embedded real time operating systems, preferably on Linux platforms

• Understanding of power and performance considerations on embedded systems, preferably on Linux platforms

Minimum Qualifications:

• Bachelor's degree in Engineering, Information Systems, Computer Science, or related field.

Preferred Qualifications:

• 1+ years of experience with Programming Language such as C, C++, Java, Python, etc.

• 1+ years of experience with Database Management Software.

• 1+ years of experience with API.

• 1+ years of experience working in a large matrixed organization.

Principal Duties and Responsibilities:

• Communicates issues with team lead and peers.

• Adapts to changes and setbacks in order to meet deadlines.

• Communicates with project lead to provide status and information about impending obstacles.

• Collaborates with others inside project team to accomplish project objectives.

• Gathers, integrates, and interprets information specific to a module or sub-block of code from a variety of sources in order to troubleshoot issues and find solutions.

• Collaborates with individuals within domain to complete the team's work.

• Stays focused and deals with setbacks in a timely manner.

• Seeks out learning opportunities to increase own knowledge and skill.

• Completes assigned coding tasks to specifications on time without significant errors or bugs.

• Resolves straightforward software issues and bugs within a reasonable amount of time.

• Actively seeks answers for new challenges.

• Prioritizes project deadlines and deliverables with close supervision.

• Is receptive to others' suggestions about ways in which a problem can be addressed differently.

• Escalates technical issues to an appropriate party (e.g., project lead, colleagues).

• Networks with colleagues within domain to gain insight, ideas, and connections.

Level of Responsibility:

• Working under close supervision.

• Taking responsibility for own work and making decisions with limited impact; Impact of decisions is readily apparent; errors made typically only impact timeline (i.e., require additional time to correct).

• Using verbal and written communication skills to convey basic, routine factual information about day-to-day activities to others who are fully knowledgeable in the subject area.

• Completing most tasks with multiple steps which can be performed in various orders; some planning and prioritization must occur to complete the tasks effectively; mistakes may result in some rework.

• Exercising some creativity to troubleshoot technical problems or deal with novel circumstances.

• Using deductive problem solving to solve moderately complex problems; most problems have defined processes of diagnosis/detection; some limited data analysis may be required.

The responsibilities of this role do not include:

• Financial accountability (e.g., does not involve budgeting responsibility).

• Influence over key organizational decisions.

• Role in strategic planning.

Qualcomm expects its employees to abide by all applicable policies and procedures, including but not limited to security and other requirements regarding protection of Company confidential information and other confidential and/or proprietary information, to the extent those requirements are permissible under applicable law.