Principal Software Engineer

Company:  Integer Technologies LLC
Location: Columbia
Closing Date: 24/10/2024
Hours: Full Time
Type: Permanent
Job Requirements / Description

Principal Software Engineer - Columbia, SC

NOTE: Remote/Hybrid available for highly qualified applicants.


What we do

Integer Technologies is an applied research and product development company founded by scientists and engineers with a passion for technology and national security. We perform R&D on next-generation systems and technologies for the Department of Defense and other U.S. Government agencies. We are hardware and software developers with experience turning research into impactful products for military and commercial applications. Our core portfolio of research includes projects in power & energy systems, unmanned systems (with an emphasis on maritime systems), digital engineering, and advanced manufacturing. We are a startup founded for the purpose of putting research into action. Our mission is to create a safer world by translating scientific discoveries into reliable products that address urgent national security needs… at the speed of relevance.

Our unmanned systems portfolio includes work on critical enabling technologies for more reliable, more intelligent, and longer-duration unmanned systems. We are actively developing a new perception system that automatically detects objects on and just below the surface of the water, day or night, and in most weather conditions, by fusing sensor data from multi-spectral cameras and radar using reliable and validated machine learning algorithms. This perception system will be a key enabler for autonomous ships to navigate safely without human intervention. Our power & energy systems portfolio includes work supporting the DoD’s the electrification of platforms beginning with Navy ships. Applications include hybrid and electric propulsion systems, autonomous controls, and integration with mission systems to achieve ultra-fast power system response.


Company Benefits

  • Integer fully covers medical, prescription, vision, and dental insurance costs for the employee and dependents . Meaning Integer standard plan pays 100% of health insurance premiums for your entire family from a well-known national insurer, saving its employee’s thousands of dollars annually.
  • Relocation assistance available
  • Base salaries which exceed local & national industry averages
  • Year-end performance-based bonuses
  • 401(k) with company matching that vest immediately; no funny business
  • Paid Vacation
  • Paid Sick Leave
  • Paid Holidays
  • Three Weeks of WFA: Work From Anywhere (in the US) per year.


Company Perks

  • Startup culture with the stability of a large company. Integer’s business plan has years of time phased contracted work, alleviating the would-be risk from a traditional small company.
  • Direct access to company leadership, prioritization of people over process, and a stellar team with a shared desire for personal and professional growth.
  • Friendly atmosphere where people enjoy not only their work and what they're creating but enjoy helping each other as well.
  • Bottomless coffee and onsite ping-pong!


About the Role

The Principal Software Engineering role requires extensive experience with all technologies related to modern software development. Integer has many distinct projects with isolated codebases and this position will be involved with two or more projects simultaneously, working directly with multiple teams. This position requires expertise over the entire software development lifecycle, in all levels of the stack. We are looking for candidates with demonstrated full stack contributions, who are able to write code, debug, optimize, and build architecture at every level: from firmware drivers to cloud automation. Additionally, this role requires enough prior experience and/or professional education to mentor other engineers in their career development.

Many of our projects and products involve software architectures developed in conjunction with physical systems we are designing and creating in our own lab, and these components must operate in harsh environments. These operational constraints require constant negotiations between hardware and software teams to meet system requirements. Our ideal candidate understands from experience the pros and cons of solving a problem in hardware or software, as related to language efficiency, power consumption, heat dissipation, and speed of execution. Therefore, we are particularly interested in candidates with a diverse set of experiences in the development of full stack software systems for robotics, automotive, manufacturing, oil & gas, industrial internet of things, defense, and/or aerospace applications.

Integer is a science and technology research and development organization. As such, much of our work entails developing solutions for complex problems that presently have no known solutions. To achieve internal and customer project goals all candidates must be able to perform research, understand new concepts from other engineering disciplines on advanced and complex topics, and document findings in a way that is easy for non-experts to understand.


Primary Responsibilities

  • Design and document architectural technical solutions to unique problem-sets.
  • Present and explain your solutions to technical and non-technical audiences.
  • Write code, build automations, adapt frameworks, and create pipelines to achieve results.
  • Analyze existing code for bugs, errors, and logic traps.
  • Use prior experience and hands-on software development skills to develop various software-based products for both internal and customer projects.
  • Mentor software developers on available tool sets and engineering best practices.
  • Articulate complex software functions, and development requirements to non-software personnel (such as customers, government representatives, project managers, etc.) for the purpose of ensuring project stakeholders understand developed products function.
  • Take abstract ideas and project statements of work tasking and understand the granular development sub-tasking pre-requisites that must occur for completion of the overall tasks.
  • Work with project managers and articulate development time estimates.
  • Own the software development quality for multiple programs. Drive software engineering efficiency.
  • Ensure development priorities of multiple programs are understood to drive the software development teams sprint efforts.
  • Drive re-use and commonality of software architectures and UI’s across programs.
  • Participate in peer reviews of developed software.
  • Participate in software requirements & architecture development efforts.
  • Participate in collaborative software development efforts in a Linux environment.
  • Perform research, review technical documentation, and discuss the pros and cons said research, and associated technical documentation.


Core Requirements

  • Must be a US Citizen with the ability to obtain a US DoD Secret clearance.
  • Must have excellent written and oral communication skills.
  • Either 10+ years of relevant experience; Bachelor’s Degree and 8+ years of prior relevant experience; OR Graduate Degree and 6+ years of prior relevant experience in one or more of the technical areas listed.
  1. Embedded Software Development : Software and/or firmware development using languages such as Cuda, C, C++, C#, SQL, Python, R, Ruby, Perl, Python, Scala, Go.
  2. Data Engineering and Analytics: Development of neural networks, and deep learning techniques and/or systems using languages such as MATLAB Code, C++, Python, R.
  3. Frontend Software Development: Front-end development using languages, skills, and toolsets such as HTML5, CSS, JavaScript/TypeScript, WebSockets, React, Angular, Vue, jQuery, and UX/UI design (Understanding of HCI)
  4. Backend Software Development: Back-end development using languages, skills, and toolsets such as Java, C, C++, C#, SQL, Ruby, Perl, PHP, Python, Scala, MTTQ, RabbitMQ, Kafka, IngresDB, Mongo, MariaDB, Neo4j, NoSQL, Graph DBs, and Timeseries DBs.
  • Working knowledge using Git for version control.
  • Experience working within collaborative software development efforts in a Linux environment.
  • Working knowledge of linear algebra.
  • Ability to travel up to approximately 10% of time.


Additional Desired Qualifications

  • Working knowledge of Bayesian statistics.
  • Experience with Docker.
  • Experience with TCP/IP networking topologies, routing, IP tables, firewalls.
  • Experience with ROS (Robot Operating System).
  • Experience using SCADA (Supervisory Control and Data Acquisition).
  • Experience with network configurations, protocols, certificates, and firewalls.
  • Experience with Data Distribution Service (DDS) messaging.
  • Experience using CUDA.
  • Experience using OpenCV.
  • Familiarity with marine sensing equipment (cameras, radars, IMU, GPS, LiDAR, sonar).
  • Familiarity with manufacturing equipment (autoclave, 3D printing, pyrolysis, graphitization, annealing).

Apply Now
An error has occurred. This application may no longer respond until reloaded. Reload 🗙