Markham, Ontario, Canada L3T 7X6 (The manager is OK with remote being an option)
Job Description:
This position is ideal for the Technical leader who is looking for hands-on firmware development, architecture definition and has a strong grasp of software engineering principles. Duties include designing, implementing and verifying x86 firmware for use across consumer, server and embedded platforms.
Key Responsibilities:
Engage in x86 firmware development leveraging C, closely interact with immediate team members, client's community and external collaborators.
Design, implement, debug, and validate features on reference hardware, pre-silicon emulation and simulation environments supporting client APUs and CPUs.
Actively participate in design reviews, code reviews and project planning sessions.
Able to work under tight deadlines, responding to changing business and technical needs.
Work closely with peers; leveraging excellent communication skills: verbal, written and interpersonal.
Preferred Experience:
5+ years of experience in low level firmware development.
Expert in C; knowledge of x86 assembly and CPU architecture.
Strong background in UEFI, coreboot or other host firmware environments.
Hands-on experience with industry standard tools: source control, debuggers & compilers; MSFT and/or GCC.
Experience applying SW engineering principles such as encapsulation and modularity.
Contributions to opensource projects; member of opensource community.
Technology Areas:
PCI Express: features, specifications, and requirements. Link training, feature configuration, enumeration, and resource allocation.
Computer architecture, memory interleaving, system memory maps and NUMA domain concepts.