Why Work Here?
“Multi-national company that has been in business for over 20 years selling innovative engineering tools to global Fortune 500 companies.”
Looking for an experienced, motivated software/firmware engineer to develop software for our PFx and SED product lines immediately!
This position applies to software engineers who develop software for our ScanWorks products. This includes developing C and C++ software to run under Windows and Linux. It also includes developing embedded software to run on a variety of ARM-based SoCs. As a senior level engineer, this person is expected to be able to solve complex problems on their own. As a senior-level engineer in a small company, this person will be expected to thrive in an environment where multi-tasking is required.
- Develop software to implement hardware tests for our PFx product line
- Develop flash programming algorithms for our PFx product line
- Maintain existing C and C++ code.
- Possibility of working on C++ and C# code in ScanWorks
- Work in a Linux environment to develop C++ code for our SED product line
- Validate Intel CScripts on SED implementations
- Create customer documentation for SED deployments
- Bachelor’s degree in Computer Engineering or Computer Science
- 5+ years’ recent experience developing software using C++ with a solid grasp of object-oriented programming
- Embedded software development, preferably Linux
- Experience developing with ARM SoCs
- Experience reading technical reference manuals to determine how to initialize hardware components within an SoC
- Ability to analyze system issues and discern software from hardware issues
- Software development in a Linux Environment
- Self-starter. Ability to work independently within a small team
- Experience working with geographically distributed development teams
- Good communication skills, both written and verbal
- Experience developing with Xilinx SoCs (Zync 7000 and/or Zync UltraScale+)
- Experience working with NXP SoCs (i.MX6 and/or i.MX8)
- Experience with Xilinx development tools: SDK, Vivado, Vitis
- Experience working with JTAG-based debug tools and logic analyzers
- Hardware device driver experience: DDR, Flash, Ethernet
- Bus-level software architecture experience: PCIe, USB, Ethernet, SD/MMC, RGMII/SGMII
- Socket programming
- C# programming
- Visual Studio (Windows) and Eclipse (Linux) experience
- Python experience
- Yocto Project / Open BMC experience
- Experience with Intel CScripts