Role: C++ Embedded developer
Hybrid(2-3 day in a month) sandeigo, CA
Longterm
Job Overview:
We are seeking a versatile and skilled C++ Embedded Developer with Python experience to join our dynamic engineering team. The ideal candidate will have a strong background in developing embedded systems using C++, with additional experience in Python for scripting, automation, and data processing tasks. You will play a crucial role in designing, implementing, and maintaining embedded software solutions while leveraging Python to enhance development workflows and system testing.
Key Responsibilities:
- Embedded Software Development: Design, develop, and maintain embedded software solutions using C++.
- Python Scripting: Utilize Python for scripting, automation, testing, and data analysis tasks related to embedded systems.
- System Integration: Integrate software components with hardware, ensuring efficient operation in the embedded environment.
- Debugging & Optimization: Perform debugging, troubleshooting, and optimization of embedded systems.
- Hardware Interaction: Collaborate closely with hardware engineers to ensure software compatibility with hardware components.
- Testing & Validation: Develop and execute unit, integration, and system tests, using both C++ and Python, to validate software performance and reliability.
- Documentation: Create and maintain comprehensive documentation for software designs, test cases, and workflows.
- Code Reviews: Participate in code reviews to ensure adherence to coding standards and best practices.
- Continuous Improvement: Stay current with emerging technologies and methodologies in both C++ and Python development.
Required Qualifications:
- Educational Background: Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, or a related field.
- Experience: [Insert years of experience, e.g., 3+ years] of experience in C++ development for embedded systems, with additional experience in Python scripting.
- Technical Skills:
- Proficiency in C++ and embedded system programming.
- Experience with Python for scripting, automation, and data processing.
- Familiarity with microcontrollers, microprocessors, and real-time operating systems (RTOS).
- Understanding of communication protocols (e.g., SPI, I2C, UART, CAN).
- Experience with debugging tools and techniques (e.g., JTAG, GDB).
- Knowledge of hardware interfacing and embedded system constraints.
- Soft Skills:
- Strong problem-solving skills with a detail-oriented mindset.
- Excellent communication and teamwork abilities.
- Ability to manage multiple tasks in a fast-paced environment.
Preferred Qualifications:
- Experience with ARM architecture and related development tools.
- Knowledge of low-power design and optimization techniques.
- Familiarity with version control systems (e.g., Git).
- Experience with Agile or Scrum development methodologies.
- Experience with data analysis and visualization using Python libraries (e.g., NumPy, Pandas, Matplotlib).