Sr. Software Engineer I - Linux BSP Development
Job Description
Description
North Atlantic Industries is a leading provider of embedded electronic solutions, specializing in rugged embedded computing, power supplies and motion simulation and measurement technologies. Our products and services are used by the military, aerospace, and industrial markets, helping to advance technology and protect the free world.
NAI was proud to be recognized as a Top Workplace on Long Island by Newsday! Our culture is very collaborative. We have team building events, company picnics, special event day and employee game room. Please visit our website at www.naii.com/careers to see more about what makes us a unique place to work.
Summary:
Senior Software Engineer I is responsible for the development of software programs that align with the overall goals of our business. It is the responsibility of this individual to ensure that the software development fully aligns with our business needs and identify ways that existing software may be modified to improve functionality. Senior Software Engineer I may be involved with different projects including, but not limited to:
- Board Support Package (BSP) development of software needed to support the Single Board Computer (SBC) product line.
- Development of software including Embedded and Software Support Kit (SSK).
- Testing including Design Verification Testing (DVT) and Automated Testing (ATP) needed to support the motherboard or module products.
- Collaborating with the design and test engineers to develop test plans and test procedures.
- Linux kernel and driver development for BSPs, including creation of drivers from datasheets, porting from one Linux distro to another as well as porting from one Linux kernel version to another, and using tools such as Yocto or Buildroot.
Requirements
- Taking ownership of software-related issues and working toward finding solutions in a timely and efficient manner
- Assisting and designing, coding, and debugging software as needed
- Assisting with generation and review of product and design documentation as needed
- Interfacing with design and test engineers throughout the product development cycle.
- Interfacing with embedded hardware and system engineers to define and design system solutions.
- Participating and leading code reviews to ensure adherence to coding standards and best practices.
- Training and coaching software engineers on the team
Qualifications and Education Requirements:
- BS in Computer Science or Electrical Engineering required and a minimum of 6-years of engineering and/or software programming experience required.
- Ability to work with hardware to develop and debug software which includes embedded code as well as test software.
- Familiar with various operating systems (VxWorks, Linux, PetaLinux, Deos, Windows, etc)
- Robust knowledge of C
- For individuals who are responsible for GUI-based test applications, must be proficient in C++, C#, GUI programming, Object-Oriented design and programming.
Other Skills and Abilities
- Strong oral and written communication skills to train, coach and collaborate with other staff
- Strong analytical and problem-solving skills
- Self-motivated, and possess a high degree of curiosity and desire to learn new things
- Good organizational skills and be able to multi-task within a fast-paced environment
- Experience using version control systems (Git) for collaborative development, code management, and patch integration.
Other Responsibilities
- For those individuals involved in the development of Board Support Packages (BSP), responsibilities include performing initial board configuration on new hardware, porting software from reference designs, and developing custom device drivers and applications.
- For those individuals involved with the development of code needed to support module functionality, responsibilities include developing APIs for module library functionality and sample code for module functionality as well as the design and development of the GUI-based tests (ATP and DVT) application.
- For those individuals involved in embedded Linux driver development, responsibilities may include developing kernel-level drivers based on hardware specifications, porting drivers across various Linux distributions, and configuring custom Linux-based environments using tools such as Yocto or Buildroot.
North Atlantic Industries offer Comprehensive and Competitive Package Including:
- Medical, Dental, and Vision Insurance
- Company-provided Life and AD&D Insurance
- Voluntary Supplemental Life Insurance
- Long-term Disability Insurance
- Flexible Spending Accounts (FSA)
- Employee Assistance Program (EAP)
- Tax-deferred 401K with company matching contributions
- Vacation, holidays, sick
- Employee tuition reimbursement
- Business casual dress environment
- Schedule: M-F Day Shift
North Atlantic Industries (NAI) is proud to be an Equal Opportunity Employer and is committed to providing equal employment opportunity for all persons in all facets of employment. All qualified applicants will receive consideration for employment without regard to any legally protected status. If you are an individual with a disability or a disabled veteran and require a reasonable accommodation in applying for any posted position, please contact Human Resources at 631-567-1100 or by email at [email protected].
As a federal government contractor, in accordance with applicable laws, regulations, and Executive Orders, North Atlantic Industries (NAI) is required to develop annual Affirmative Action Plans for Protected Veterans and Individuals with Disabilities. Any employees or applicants who wish to review the Affirmative Action Plan for Protected Veterans and Individuals with Disabilities can contact us by sending an email to [email protected] or by calling 631-567-1100.
Company Information
Location: Bohemia, NY
Type: Hybrid