Worker Sub-Type:
Regular
Job Description:
Are you the person we are looking for?
Product Engineering unit is focused on product opportunities as they relate to our markets and the growth of our product portfolio considering the future technology. As a successful candidate, you will be responsible for maintaining and augmenting the QNX Power Management Suspend-to-RAM.
Using your extensive knowledge of embedded systems and deep system knowledge, you will provide the technology leadership in all aspects of the software solutions from architecture, design, infrastructure costs, tech stack, scalability, reliability, availability, and performance to software quality. You will partner with product managers, architecture teams and customers to discover and deliver the solutions for the problems across multiple industries including our high-profile automotive Tier 1 accounts.
You must be someone with ideas and real passion for software delivered to maximize reuse, efficiency, and simplicity. Our customers count on us to convert awesome ideas into great products and services.
We thrive in a culture of innovation, technical depth and breadth, exploration and experimentation and provide great career growth opportunities. In return for your skills, expertise, and passion, we will provide you with an attractive compensation & bonus package with excellent benefits. Join us and you will become part of a team that is already leading the way and has even bigger plans for the future. What we are working on is truly ground-breaking!
Responsibilities
Create and
document software specifications
and designs that address the needs of QNX customers.
Unit test and
debug implementations
on all relevant target architectures for the project (ex. ARM and X86).
Identify, analyze,
and
resolve potentially
complex problems
and inadequacies in software.
Provide project estimates for requirement,
design, implementation,
and
test efforts.
Maintain an in-depth understanding of current software
department approaches
and
standards through
communication with development team members,
technical leads,
and management.
Coach and mentor team on engineering best practices such as writing clean code, designing
scalable, reliable, and
performant software solutions, set and ensure compliance to software quality standards, safety standards etc.
Key qualifications
Bachelor’s degree in computer science, Computer Engineering or Engineering related field, or equivalent practical experience with a proven track record in technical roles
7+ years
of driver development
experience in C, C++ and
assembly language.
Solid understanding of Driver and low-level CPU programing of suspending and resuming drivers and CPU context
Bootloader and board bring up skills such as u-boot/DRAM controller initialization / system clock configuration / GPIO & pinmux)
Demonstrated knowledge of ACPI on x86 and PSCI for ARM processors
Demonstrated knowledge of Secure Monitoring Calls (SMC)
Expertise in troubleshooting
and debugging (by
instrumentation, trace logging, core-analysis, applying various tools to extract information, code-reviews,
JTAG, etc.)
Strong analytical
skills and hands-on
experience
with the tools
and
techniques necessary
to perform root cause analysis, and ability to come up with win-win solutions in complex
business situations.
Excellent communication, interpersonal and collaboration skills to work with a diverse, global set of internal and
external stakeholders.
Challenging self and team, open to giving and receiving feedback and
welcome diversity.
Additional
skills
Storage device driver development targeting block storage devices, SD/eMMC, AHCI/SATA or flash technology (NAND/NOR)
High speed complex communication busses like PCIe, USB or SDIO
Programming experience in a POSIX environment
Familiarity with the QNX RTOS
Imagine what you could do at QNX! Our customers count on us to convert awesome ideas into great products and services. We have some of the brightest minds working on cutting edge platforms at QNX. Join us and you’ll become part of a team that is already leading the way and there is no telling what you could accomplish.
Scheduled Weekly Hours:
40