Senior Firmware Engineer
ID TECH is global leader in the payment industry for over 30 years. Our products are used every day to read your magnetic and smart cards to securely transfer the information to the host systems. With the expansion of electronic payment industry and the market need for new generation of products with larger displays and more advanced software we are now looking to expand our product family.
We are developing and maintaining software components that are at the core of payment systems. You will execute embedded software tasks spanning the entire software development lifecycle, including planning, requirements analysis, design, code, test, defect resolution, and production release. You will have the opportunity to work on low power secure systems and designs in a rich and challenging team environment.
We are looking for an experienced and creative embedded SW engineer to work closely with our HW team and develop the next generation of our payment SW platform. The candidate must be a hands-on writing programs, reviewing codes and resolving issues. This job is located in our Sacramento/Rocklin location in California.
- Develop software and device drivers in C, and C++ in real time operating system environments.
- Evaluate new RTOS platforms and create an embedded software designs.
- Design and develop embedded software in an Agile environment. Must be hands on with programming.
- Develop and execute test cases for unit, integration, and functional software testing.
- Implement and test software designs on a PC environment as well as on embedded target hardware.
- Perform required version/configuration management activities.
- Perform analysis, resolution, and tracking of defects to closure.
- Coordinate and participate in architecture, requirements, design, code, and test case reviews.
- Facilitate internal developers or third party companies to develop, integrate, and test software deliveries using embedded diagnostic and development tools.
- Work closely with other team leads to support triage and resolution of difficult system problems in a timely manner.
- Interact and facilitate with internal teams and suppliers during all phases of development and integration to refine understanding of requirements and identify innovation opportunities.
- Work with program management and Product Owners to define sprints and releases.
- Communicate with team of engineers which may be distributed in global locations.
- Availability to travel to customer sites or international locations when we are out of the travelling restriction period due to COVID 19.
- Minimum bachelor’s degree in Computer Science, Electrical Engineering, Software Engineering, or related degree.
- Software application development experience in automotive and/or portable consumer electronic devices in embedded domain.
- 3+ years’ experience in real-time embedded C/C++ software development with solid fundamental computer science skills and strong programming skills.
- Experience with an Integrated Development Environment (IDE) tools.
- Experience with revision control tools, issue-tracking tools, compilers, in-circuit emulators, debuggers, and static analysis tools.
- Working knowledge of configuration management / revision control tools.
- Experience with payment card systems (EMVCo, NFC, ISO7816, ISO14443, PCI, X9, QR codes, tokenization).
- Experience with cryptography and PKI commonly used in payment (TLS, RSA, AES, Secure Hash, Certificates, X509).
- Working experience in any of open source OS environment (POSIX, Linux).
- Experience in developing embedded system based on FreeRTOS, Zephyr, Nucleus, or a similar RTOS.
- Experience in device drivers like USB, Ethernet, Wifi, Bluetooth, I2C, UART and SPI.
- Experience in MCU development (ARM, Cortex, 8051).
- Work experience with IAR, Keil, Green Hills or GNU Compilers.
- Experience with SCM tools, Subversion or GIT.
- Experience working in any flavor of the Agile Software Development method e.g. SCRUM.
Interested? Please email your resume to email@example.com.