Senior Embedded Software Engineer - Thinking Minds, Inc.
Boston, MA 02108
About the Job
Job Title: Senior Embedded Software Engineer
Job Location: Boston, MA, USA
Minimum Experience: 6 years
Job Type: Full-Time
About Us:
Thinking Minds Inc. is a premier staffing partner committed to connecting talented professionals with top-tier organizations. We are currently seeking a highly skilled and experienced Senior Embedded Software Engineer to join an innovative team developing cutting-edge radar-based sensor platforms that revolutionize health, safety, and wellness monitoring. Our client's technology works unobtrusively through the air, ensuring privacy and empowering people to live independently and safely.
Position Overview:
As a Senior Embedded Software Engineer, you will be at the forefront of designing, developing, and maintaining software for embedded systems. You will leverage your expertise in Android development to integrate embedded systems with Android platforms. Collaborating closely with hardware engineers, firmware engineers, and product managers, you will deliver high-quality embedded software solutions. Your role will be pivotal in ensuring the success of innovative products that have a significant impact on people's lives.
Key Responsibilities:
- Design and develop Android applications for embedded systems, ensuring compatibility with various devices and platforms.
- Develop software for diverse embedded systems, including microcontrollers, DSPs, and FPGAs, through the entire software development lifecycle until deployment in commercial products.
- Collaborate with hardware engineers to define system requirements and specifications for embedded software development.
- Write efficient, modular, and scalable code for embedded systems using languages such as C/C++.
- Implement and optimize device drivers, board support packages (BSPs), and firmware for peripherals and communication interfaces.
- Conduct thorough testing and debugging of embedded software to ensure high quality and reliability.
- Work closely with the firmware team to integrate software and firmware components seamlessly.
- Stay up to date with industry trends and emerging technologies in embedded systems to drive innovation and continuous improvement.
- Participate in code reviews, architecture discussions, and technical design sessions to drive engineering excellence and maintain code quality standards.
- Document software designs, specifications, and development processes for future reference and knowledge sharing.
- Troubleshoot and resolve software defects and performance issues, ensuring timely and effective resolutions.
Required Qualifications:
- Proven industry experience as an Embedded Software Engineer, with a focus on embedded systems and low-level programming.
- Strong proficiency in developing Android applications for embedded systems.
- Proficiency in C/C++ programming languages for embedded systems.
- In-depth knowledge of embedded systems architectures, real-time operating systems (RTOS), and hardware-software interaction.
- Extensive experience with the Android Native Development Kit (NDK) and Java Native Interface (JNI) for integrating native code with Android applications.
- Experience with embedded development tools, debuggers, emulators, and compilers.
- Experience developing software targeting embedded SoCs such as ARM, NXP, and Microchip.
- Familiarity with communication protocols such as UART, SPI, I2C, Ethernet, and wireless technologies (Bluetooth, Wi-Fi).
- Solid understanding of software development methodologies, version control systems, and software testing techniques for embedded systems.
- Strong problem-solving skills and the ability to debug complex software and hardware integration issues.
- Experience with agile development methodologies (e.g., Scrum) is advantageous.
Desired Skills:
- Proficiency in radar signal processing techniques, DSP algorithms, and machine learning (ML) is preferred but not essential.
- Knowledge of Matlab/Simulink/Octave or similar tools.
- Experience implementing embedded software on multi-core processors.
- Programming skills with scripting languages (e.g., Python, TCL, Perl).
Personal Qualities:
- Strong interpersonal skills and a passion for building camaraderie and working effectively towards challenging goals with diverse teams.
- Self-awareness to recognize personal strengths and the humility to collaborate with team members.
- Respect and empathy to support the goals of the company, team, and colleagues, fostering a trustful environment.
- A strong work ethic, recognizing that time-to-market is critical for success.
- Tenacity and determination to overcome challenges.
- A continuous desire to learn and evolve both personally and professionally.
- Courage to innovate, take risks, and deliver products that people use.
- Exceptional communication skills with meticulous attention to detail and precision in verbal and written expression.
Education and Experience:
- A Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field, or equivalent work experience.
- Real-world work experience in relevant roles in a commercial setting.
- Full lifecycle experience with an electronics product that has shipped and achieved meaningful commercial success.
- Experience in a startup or fast-paced environment and exposure to ambient sensing and sensor fusion technologies is preferred.
Why Join Us?
We offer a supportive and innovative culture that encourages growth and learning. Our benefits include comprehensive medical, dental, and vision coverage, unlimited paid time off, and other perks. Join us to be part of a team poised for growth and significant impact in the industry.
Apply Now:
If you are a passionate and experienced Senior Embedded Software Engineer looking for an exciting opportunity to make a difference, we would love to hear from you. Apply today to join a dynamic team committed to innovation and excellence.
Source : Thinking Minds, Inc.