Job Title: Firmware Engineer
Location: Westerville, OH
Job Summary:
We are looking for a skilled Firmware Engineer to join our team and contribute to the development and support of gateway and embedded application platforms. The ideal candidate will have a strong technical background and experience working with various Linux-based platforms. Knowledge in networking, communications, kernel drivers, and security is essential.
Key Responsibilities:
- Requirements Analysis: Gather and analyze requirements, create use cases, prototype devices and applications, and engage with customers as needed.
- Project Management: Plan projects, estimate tasks, collect software metrics, and manage version control.
- Full Lifecycle Software Development: Design, code, debug, conduct peer reviews, perform unit testing, optimize performance, and integrate solutions.
- Documentation: Write program commentary and create user guides for service and troubleshooting.
- Product Testing: Conduct unit tests, bench tests, system integration tests, and support field testing.
- Leadership: Be an effective team member and/or lead engineer with a positive, creative approach.
- Hardware Development Support: Assist with software development and testing for hardware.
- Additional Tasks: Perform other duties as needed by management.
Requirements:
- Bachelor’s Degree or foreign equivalent in Computer Science, Software Engineering, Electrical Engineering, or Computer Engineering with a strong emphasis on software.
- 3+ years of experience in a software development role.
- 2+ years of experience developing software for Linux-based platforms.
- 3+ years of experience programming in C/C++.
- Proficiency in various programming languages and frameworks, including:
- C++, C, C#, JavaScript, Python, Go, Perl, Shell
- Linux kernel, device drivers, filesystems, networking, serial communications, real-time operating systems (RTOS), and bare-metal systems.
- Experience in infrastructure and application development using:
- IP networking (TCP, UDP, TLS, DNS)
- Serial communications (RS232/485)
- Protocols (ModBus, BACnet, SNMP)
- Platforms (ARM, x86, SoC)
- Familiarity with development tools and environments, such as:
- Integrated platforms (Eclipse, CodeWarrior, Visual Studio)
- Source code version control (Git)
- Tools like WireShark, Docker, Jenkins, VirtualBox, VMware, BitBake, Yocto
- Additional, Highly Desired Experience:
- Embedded systems work, particularly with control applications.
- HVAC industry knowledge.