We are seeking a Snr Embedded Software Engineer to support gateway and embedded application platforms. This individual will bring technical expertise to the development and maintenance of various Linux-based platforms. The ideal candidate will have extensive knowledge in networking, communications, kernel drivers, and security.
Key Responsibilities:
- Requirements Analysis: Gather requirements, analyze use cases, create prototypes, and engage with customers or stakeholders.
- Project Management: Plan projects, estimate tasks, track progress with metrics, and manage version control.
- Software Development: Participate in the full software development lifecycle, including design, coding, debugging, peer reviews, unit testing, and performance optimization.
- Documentation: Develop program documentation and create user guides for troubleshooting and service support.
- Testing: Conduct unit, bench, system integration, and field testing to ensure high-quality deliverables.
- Leadership: Contribute as an effective team member or lead engineer with creativity and a positive attitude.
- Hardware Support: Collaborate on hardware development by providing necessary software support.
- Other Duties: Perform additional tasks as assigned by management.
Qualifications:
- Bachelor's degree or equivalent in Computer Science, Software Engineering, Electrical Engineering, or a related field with a strong software emphasis.
- Background in software development.
- Experience working on Linux-based platforms.
- Proficiency in C/C++ programming with 8+ years of experience.
Technical Expertise:
- Programming languages: C++, C, C#, JavaScript, Python, Go, Perl, Shell scripting.
- Linux systems: Kernel, device drivers, filesystems, networking, serial communications, RTOS, and bare-metal development.
- Infrastructure and application technologies:
- Networking: TCP, UDP, TLS, DNS.
- Serial protocols: RS232/485.
- Communication protocols: ModBus, BACnet, SNMP.
- Platforms: ARM, x86, SoC architectures.
Development Tools:
- Environments: Eclipse, CodeWarrior, Visual Studio.
- Version control: Git.
- Tools: WireShark, Docker, Jenkins, VirtualBox, VMWare, BitBake, Yocto.
Preferred but Not Required:
- Experience in embedded systems focused on control applications.
- Familiarity with HVAC systems and related technologies.
This role offers the opportunity to work on cutting-edge technologies in a collaborative environment.