Staff firmware engineer
- 40万-60万/年
- 上海
- |
- 5年以上
- |
- 本科
- |
- 全职
职位诱惑: 五险一金,年终奖金,技术领先,成长空间大,股票期权
发布时间: 2019-06-13发布
职位描述
Are you a highly motivated and talented engineer that loves working on embedded systems? Are you someone who wants to be part of a growing biometrics company and enjoys working with other highly talented engineers? Do you enjoy architecting and developing small footprint embedded software? Are you never satisfied with the status quo and passionate about innovation and developing best in class solutions?.
Tasks and responsibilities:
- Design and development of low-level drivers and real-time applications for low-resource microcontrollers
- Identify root cause and solve problems through careful analysis, modeling and simulations.
- Undertake open ended design and investigation activities based on internal and external customer input
- Work closely with System Engineering teams to perform technical analysis across multiple domains such as system-level partitioning, use-case definition, firmware subsystem architecture, sensor modeling and performance estimation, system power consumption for various use cases, power management and low-power design.
- Strong programming skills in C (GNU toolchain) and Assembly, and a high-level language like Matlab or Python
- Expert level code optimization on bare-metal or nano-kernel tiny footprint systems
- Strong profiling skills (power and clock domains), power management (analog and digital)
- Expert level debugging using software (gdb) and hardware (oscilloscopes, logic analyzers)
- Bare-metal and/or nanokernel RTOS programming
- Strong multithreading: thread synchronization, shared memory protection, events/signals
- Embedded low power systems using dedicated micro controllers
- SPI, I2C and USB communication interfaces, and messaging
- Cortex-M0/M3/M4 micro controllers
- Image processing, and image processing optimization (non-GPU)
- Mix of hardware, software and firmware experience highly desirable
- Boot ROM or option ROM implementation
- FPGA experience, ASIC bring up
- PhD, MS or BS degree in EE, CS or BS with specialization in embedded programming or related subjects
- Self-driven and able to deliver
- Must be passionate about collaboration, with a strong desire to learn from others
- Creative, pragmatic and easy to work with; service-minded
- Interested and willing to handle a diverse portfolio of projects and assignments
- Expert communication skills (verbal and written), using English as the working language
- Must be willing to document and test what is implemented
- Structured and documented work methods
- Occasional domestic and international travel, depending on projects