Job Title: Senior Firmware Engineer
Location: Westerville, OH
Job Summary:
We are looking for a Senior Firmware Engineer to join our team and contribute to the development and support of gateway and embedded application platforms. This role requires deep technical expertise in working with various Linux-based platforms. The ideal candidate should be well-versed in a range of technologies, including networking, communications, kernel drivers, and security.
Key Responsibilities:
- Requirements Analysis: Gather and analyze requirements, 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 Development: Design, program, debug, conduct peer reviews, perform unit testing, optimize performance, and integrate solutions.
- Documentation: Provide program commentary and create user guides for service and troubleshooting.
- Product Testing: Conduct unit tests, bench tests, system integration tests, and provide support for field testing.
- Leadership: Be an effective team member and/or lead engineer with a positive attitude and creative problem-solving skills.
- Hardware Development Support: Assist with software development and testing related to hardware.
- Additional Tasks: Perform other tasks and responsibilities as directed by management.
Requirements:
- Bachelor’s Degree or foreign equivalent in a related field such as Computer Science, Software Engineering, Electrical Engineering, or Computer Engineering.
- 8+ years of software development experience.
- 5+ years of experience developing software for Linux-based platforms.
- 8+ years of experience programming in C/C++.
- Proficiency in multiple programming languages and frameworks, including but not limited to:
- C++, C, C#, JavaScript, Python, Go, Perl, Shell
- Linux kernel, device drivers, filesystems, networking, serial communications, real-time operating systems (RTOS), bare metal systems.
- Experience with infrastructure and application development using technologies such as:
- IP networking (TCP, UDP, TLS, DNS)
- Serial communications (RS232/485)
- Protocols (ModBus, BACnet, SNMP)
- Platforms (ARM, x86, SoC)
- Familiarity with development environments and tools, including:
- Integrated platforms like Eclipse, CodeWarrior, Visual Studio
- Source code version control systems like Git
- WireShark, Docker, Jenkins, VirtualBox, VMware, BitBake, Yocto
- Additional, Highly Desired Experience:
- Embedded systems work, particularly with control applications.
- HVAC industry experience.