Job Title: Embedded Software Engineer
Job Summary:
We are seeking a skilled and detail-oriented Embedded Software Engineer to join our development team. In this role, you will be responsible for designing, developing, and maintaining embedded software systems that are used in a wide range of products, from consumer electronics to industrial automation. The ideal candidate has a strong background in embedded systems, excellent problem-solving skills, and hands-on experience with low-level programming in C/C++.
Key Responsibilities:
- Design, develop, test, and maintain embedded software for microcontrollers, microprocessors, and SoCs.
- Collaborate with hardware engineers to ensure seamless integration of hardware and software components.
- Write clean, efficient, and well-documented code in C, C++, or Assembly.
- Develop and execute unit, integration, and system-level tests.
- Debug and troubleshoot software issues using oscilloscopes, logic analyzers, and debuggers.
- Optimize code for performance, memory usage, and power consumption.
- Participate in code reviews and maintain high standards of software quality.
- Prepare technical documentation, including software design documents, user manuals, and release notes.
- Stay up to date with the latest trends and advancements in embedded systems and software engineering.
Required Qualifications:
- Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related field.
- 8+ years of experience in embedded systems development.
- Proficiency in C/C++; familiarity with Python or other scripting languages is a plus.
- Experience with RTOS (e.g., FreeRTOS, Zephyr) or bare-metal systems.
- Strong understanding of microcontroller architectures (e.g., ARM Cortex-M, AVR, PIC).
- Experience with communication protocols (e.g., UART, SPI, I2C, CAN, USB).
- Ability to read and interpret schematics and datasheets.
- Familiarity with version control systems (e.g., Git).
Preferred Qualifications:
- Experience in safety-critical or real-time applications (e.g., automotive, medical devices).
- Knowledge of software development standards (e.g., MISRA C).
- Experience with embedded Linux and device drivers.
- Familiarity with build systems (e.g., CMake, Make) and CI/CD pipelines.
- Understanding of wireless technologies (e.g., BLE, Wi-Fi, Zigbee, LoRa).
Soft Skills:
- Strong analytical and debugging skills.
- Excellent communication and teamwork abilities.
- Ability to manage time effectively and work independently or in a team environment.
- Passion for technology and continuous learning.
Job Type: Full-time
Pay: From $41.58 per hour
Work Location: In person