Embedded Software Engineer
Brand Experience Lab
Jersey City, new jersey
Job Details
Full-time
Full Job Description
Embedded Software Engineer
About the Role
We are seeking a highly skilled and experienced Electrical Engineer and Embedded Systems Designer to join our dynamic team. This role is ideal for an individual with a deep understanding of Electrical Engineering principles Circuit Design, and PCB design, as well as hands-on experience with Arduino, ESP32. The successful candidate will have a minimum of five years of experience in EE and Embedded design. They should be proficient in C++ programming, specifically for Arduino platforms, and will contribute to the development and testing of electronic products and systems for a wide range of projects, from small-scale IoT devices to large-scale applications like Interactive Displays, Smart Kiosks and Vending Machines, Loss Prevention, and Unattended Shopping Technology.
Qualifications
- Proven experience in electronics design, and firmware development with specific expertise in microcontrollers, ie. ESP32/Arduino, as well as NVIDIA Jetson framework.
- Strong understanding of electronic circuit design and development processes.
- Understanding of low-level hardware interactions and device drivers.
- Strong understanding of embedded systems, I2C and SPI communication, and GPIO input/output handling.
- Experience in designing, developing, and testing firmware for microcontrollers and embedded systems.
- Proven experience with C/C++ programming languages and their application in embedded systems.
- Excellent communication skills, with proficiency in English
Responsibilities
- Ability to write clean, efficient, and well-documented code as well as provide actionable, clear advice and documentation.
- Research and Innovation: Stay updated with emerging technologies, tools, and trends in embedded systems and contribute innovative ideas to enhance product capabilities.
- Testing and Validation: Develop test procedures and perform rigorous testing to validate firmware functionality and identify and resolve bugs or issues.
- Collaborative Problem-Solving: Work closely with cross-functional teams to integrate software with hardware components, troubleshoot issues, and optimize system performance.
Requirements
Requirements
- Education: Bachelor’s degree in Electrical Engineering from an accredited institution.
- Licensure: Licensed as a Professional Engineer (PE).
- Experience: A minimum of five years of experience in C++ programming for Arduino, along with hands-on experience with ESP32, and PCB design.
- Software Proficiency: Experience in using or a strong desire to learn required software related to electrical engineering design and calculation.
- Knowledge: In-depth knowledge of applicable codes and standards related to electronic engineering.
- Skills: Proficient in the use of design software, CAD and PCB, with a strong aptitude for electrical system troubleshooting and innovation.