Job Information
North Atlantic Industries Senior Software Engineer II in Bohemia, New York
Senior Software Engineer II 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 II may be involved with different projects across the organization. This positions primary focus is on embedded security and secure boot implementation, including development of root of trust, boot processes, and cryptographic integration within embedded systems. This role requires hands-on experience working with low-level embedded systems, firmware, and hardware.
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. Candidates must be a U.S. Person, defined as either a U.S. citizen or a lawful permanent resident (Green Card holder), and must be able to provide appropriate documentation upon hire to verify this status. Please note that some positions involve sensitive customer contracts and require U.S. citizenship as a condition of employment. Additional responsibilities include:
Supporting development and implementation of secure boot and measured boot processes.
Contributing to root of trust and chain of trust design from BootROM through OS handoff .
Integrating cryptographic functionality into firmware and boot processes (e.g., OpenSSL, WolfSSL)
Supporting secure key storage, provisioning, and TPM-related operations.
Working closely with hardware teams during board bring-up and low-level debugging.
Developing and debugging boot components (e.g., FSBL, U-Boot) and Linux drivers as needed .
Qualifications and Education Requirements: BS in Computer Science or Electrical Engineering required. Minimum of 8-years of engineering and/or software programming experience required. Leadership skills to direct the activities of other Engineers and provide effective coaching and training. 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 test applications, must be proficient in C++, C#, GUI programming, Object-Oriented design and programming.