Embedded Low Level developer
Role details
Job location
Tech stack
Job description
Join our innovative team as an Embedded Low Level Developer and be at the forefront of cutting-edge technology integration! In this dynamic role, you will design, develop, and optimize embedded software for a variety of hardware platforms, ensuring seamless operation across complex systems. Your expertise will drive advancements in IoT devices, signal processing applications, and hardware-software integration, contributing to groundbreaking projects that push the boundaries of technology. If you thrive in a fast-paced environment where your skills in firmware development, debugging, and system architecture make a real impact, this is the perfect opportunity for you to energize your career!, * Develop and maintain low-level embedded software tailored for diverse hardware architectures such as ARM processors and FPGA platforms.
- Implement firmware solutions that interface with sensors, actuators, and other peripherals using protocols like I2C, SPI, UART, TCP/IP, and Ethernet.
- Collaborate with hardware engineers on PCB design reviews and soldering processes to ensure optimal integration of embedded components.
- Design algorithms for signal processing, machine learning applications, and algorithm optimization to enhance device performance.
- Create and test APIs including RESTful APIs for communication between embedded devices and cloud services such as AWS or Microsoft SQL Server.
- Conduct debugging and troubleshooting using tools like Visual Studio, Eclipse, GitHub, SVN, and Simulink to ensure high-quality software delivery.
- Write unit tests and perform software quality assurance to validate system robustness in Agile development environments.
- Develop content for documentation platforms like Confluence and UML diagrams to support project clarity and team collaboration.
Requirements
- Proven experience with embedded software development in C, C++, Assembly language, or Python on platforms such as ARM or Raspberry Pi.
- Strong understanding of OS kernels (Linux/RTOS) and operating systems fundamentals for embedded systems.
- Hands-on experience with FPGA design using HDL languages (VHDL/Verilog) and familiarity with PCB layout considerations.
- Knowledge of network protocols including TCP/IP, UDP, DHCP, DNS, VLANs, WAN/LAN configurations, and network monitoring tools.
- Skilled in debugging tools such as JTAG debuggers, logic analyzers, and oscilloscopes; soldering experience is a plus.
- Familiarity with software development methodologies like Agile or Scrum; experience with version control systems such as Git or SVN.
- Ability to analyze complex problems using analysis skills related to signal processing, algorithms design, or machine learning techniques.
- Experience working with cloud services (AWS), database management (MySQL/SQL Server), content development tools (Jira), and scripting languages (Bash/Perl).
- Excellent communication skills for collaborating across multidisciplinary teams including hardware engineers and software developers.
Benefits & conditions
3.43.4 out of 5 stars Lisle, IL 60532 $50 - $55 an hour - Contract, Pulled from the full job description
- 401(k), * 401(k)