Software EngineerThis role focuses on designing, developing, troubleshooting, and analyzing software programs for computer-based systems within a complex, mission-driven environment. You will perform system modeling, simulation, and analysis, and contribute to the design and development of compilers, assemblers, utility programs, and operating systems. As needed, you will provide input for documentation related to new and existing software, ensuring clarity, accuracy, and maintainability.ResponsibilitiesDesign, develop, and maintain software programs for computer-based systems in a Linux and UNIX environment.Perform system modeling, simulation, and analysis to support software and system performance objectives.Design and develop compilers, assemblers, utility programs, and operating systems components as required.Implement software designs, including subsystem and system integration, and conduct thorough testing activities.Participate in formal software reviews, including software requirements reviews, preliminary and critical design reviews, integration readiness reviews, and software acceptance reviews.Apply object-oriented design and development principles, including design patterns, to support modular, maintainable, and extensible software solutions.Develop and maintain scripts in Solaris and other UNIX variants to support automation and system operations.Use Integrated Development Environments (IDEs), such as Eclipse, to develop, debug, and maintain software.Contribute to the creation and refinement of documentation for new and existing software programs, ensuring technical accuracy and completeness.Work within established life cycle processes and procedures aligned with CMMI Level 5 practices.Collaborate with cross-functional teams to integrate software components and support system-level functionality.Utilize testing frameworks, including xUnit-based tools such as JUnit and CppUnitLite, to develop and execute automated tests.Support ongoing maintenance, troubleshooting, and analysis of software issues in deployed and test environments.Essential Skills2+ years of experience developing software with C++.Proficiency in C++ or Java programming in a Linux operating system environment.Strong background in software design, design implementation, subsystem and system integration, and testing.Experience participating in software requirements review, preliminary and critical design reviews, integration readiness review, and software acceptance reviews.Experience with object-oriented design and development, including the use of design patterns to support software insulation techniques and plugin architectures.Hands-on experience working in Windows, Solaris, and Linux environments.Experience developing scripts for Solaris and other UNIX variants.Proficiency using Integrated Development Environments (IDEs) such as Eclipse.Familiarity with UML syntax and its practical application in software design.Familiarity with xUnit testing frameworks, especially JUnit and CppUnitLite.Experience working within CMMI Level 5 life cycle processes and procedures.Additional Skills & QualificationsExperience with Python and Bash scripting is a plus.Experience with embedded software development is beneficial.Background in object-oriented programming and software engineering best practices.Comfort working with multiple operating systems, including UNIX variants.Ability to collaborate effectively in a structured, process-driven engineering environment.Work EnvironmentWork is performed on a long-term, stable defense program supporting advanced missile defense systems, with a strong history of operational use across multiple allied navies. The role is based in a professional engineering facility and involves close collaboration with a prime contractor on a major defense program. The environment emphasizes rigorous software development processes, system reliability, and adherence to established lifecycle and quality standards such as CMMI Level 5. The schedule offers flexibility, including options such as a 9/80 schedule with every other Friday off or four 10-hour days Monday through Thursday, supporting work-life balance. You will work primarily with Linux, Solaris, and other UNIX variants, using tools such as Eclipse, xUnit frameworks, and standard office productivity software in a structured, team-oriented setting.Job Type & LocationThis is a Contract position based out of Moorestown, NJ.Pay and BenefitsThe pay range for this position is $43.00 - $70.00/hr.Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors.Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following: • Medical, dental & vision • Critical Illness, Accident, and Hospital • 401(k) Retirement Plan – Pre-tax and Roth post-tax contributions available • Life Insurance (Voluntary Life & AD&D for the employee and dependents) • Short and long-term disability • Health Spending Account (HSA) • Transportation benefits • Employee Assistance Program • Time Off/Leave (PTO, Vacation or Sick Leave)Workplace TypeThis is a fully onsite position in Moorestown, NJ.Application DeadlineThis position is anticipated to close on Oct 7, 2026.
Apply Now