Intern-Software Engineer
Summary
The Software Engineer Intern is responsible for assisting with the design, development, and testing of software applications and tools for NAI products. Working closely with experienced engineers, the intern will gain exposure to GUI development, embedded programming, and software-hardware integration. This practical experience provides the intern with the opportunity to contribute to innovative solutions that are important to both their professional growth and NAI’s business success.
Essential Role and Responsibilities
- Assist in the design and development of GUI-based applications and test programs.
- Support development of application and software libraries for Windows, Linux, and embedded operating systems.
- Participate in testing and debugging software that interfaces with hardware devices.
- Work with engineering staff to integrate software with test equipment such as oscilloscopes, logic analyzers, and meters.
- Help document software features, test results, and development processes.
- Learn and apply coding standards, design practices, and version control tools.
Qualifications and Education Requirements
- Enrolled in a Computer Science, Software Engineering, Electrical Engineering, or related program.
- Understanding of software engineering concepts, including procedural and object-oriented programming.
- Familiarity with C, C++, Python, TypeScript/JavaScript
- Effective oral and written communication skills in English.
- Strong analytical and problem-solving skills.
- Ability to take initiative and multi-task in a fast-paced environment.
Preferred Skills and Abilities
- Coursework, projects, or prior experience with embedded software development.
- Exposure to GUI programming and TCP/UDP Ethernet programming.
- Familiarity with debugging tools and techniques for hardware/software integration.
- Experience with Microsoft Office applications.
- Self-motivated with curiosity and desire to learn new technologies