Experience in coding on at least one significant software project in C++
Experience in debugging and problem determination
Familiarity with low level programming (e.g. projects involving assembler or embedded systems, taken courses such as computer architecture, operating systems, microprocessor systems…)
Preferred Technical and Professional Expertise
Experience in compiler development (compiler construction or compiler optimization)
Programming skills in any of: PL/I, C/C++, PL/X, or HLASM
Experience in low-level programming (e.g. assembly language, embedded systems development) and low-level debugging
Experience working in open-source projects
Basic knowledge in one or more computer architectures, and of hardware/software interactions