Embedded Software Developer Intern
Overview:As an Embedded Software Developer Intern, you will play a pivotal role in developing and optimizing embedded software solutions using C and Bash scripting. You will work on complex embedded systems, ensuring that they are efficient, reliable, and meet the required industry standards. This role requires in-depth technical expertise in embedded systems, real-time operating systems (RTOS), Edge computing and hardware interfacing. You’ll work on ensuring system performance, reliability, and adherence to industry standards while collaborating with various teams. Responsibilities:
- Develop and implement embedded software solutions using C, focusing on low-level hardware interaction and system optimization.
- Leverage Bash scripting to automate tasks, manage configurations, and enhance system performance, especially for Linux-based systems.
- Optimize software for performance, ensuring efficient use of system resources, particularly in constrained environments such as embedded and edge computing systems.
- Participate in technical discussions and design reviews, ensuring that all solutions are scalable, maintainable, and aligned with project goals.
- Identify potential issues early in the development cycle, such as memory management inefficiencies, concurrency issues, and hardware interaction problems.
- Collaborate with cross-functional teams, including hardware engineers, software developers, and systems engineers, to ensure seamless integration of embedded systems into larger software and hardware solutions.
- Work on integrating embedded systems with various communication protocols, including CAN bus.
- Develop test plans and procedures to validate system functionality and performance under various conditions
- Ensure compliance with industry standards and regulatory requirements, particularly in the context of edge computing.
- Develop and maintain clear and detailed technical documentation for embedded software solutions, including code design, system configurations, optimization techniques, and troubleshooting guidelines.
- This list of responsibilities might not cover everything you’ll end up doing.
Qualifications:
- Working towards a Bachelor’s or higher degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- Some experience in writing efficient, reliable, and maintainable code in C, particularly in resource-constrained environments.
- Some skills in Bash scripting for automation, system management, and task scheduling on Linux-based embedded systems.
- Exposure to real-time operating systems (RTOS) and hardware interfacing.
- Analytical and problem-solving skills.
- Exposure to Version Control Systems: Git, Bitbucket.
- Familiarity with Build Systems: CMake, Make.
- Familiarity with Cross-Compilation Toolchains: ARM GCC, Yocto.
- Understanding of Continuous Integration/Continuous Deployment (CI/CD) Pipelines.
- Understanding of Cybersecurity Principles: Secure boot, encryption, and secure coding practices.
Benefits:As an intern, you will gain:
- Real-world experience working with industry-leading Embedded systems
in edge computing.
- Mentorship from experienced engineers to grow your skills and career.
- Flexible work schedule (32 hours per week) to balance work and studies.
- Exposure to cutting-edge technologies in Embedded development, automation,
and security.
- Potential future career opportunities based on performance
We welcome applicants from all backgrounds, regardless of race, color, religion, sex, veteran status, sexual orientation, gender identity, national origin, age, or disability or any other protected characteristics in accordance with applicable federal, state/provincial, and local laws. We’re committed to creating a workplace where everyone feels valued and respected.We appreciate all responses and will acknowledge only those being considered for an interview.We respectfully request no calls or unsolicited resumes from Agencies.
Quarterhill
Share
Facebook
X
LinkedIn
Telegram
Tumblr
Whatsapp
VK
Mail