The Software Developer is responsible for providing software engineering support to the Command-and-Control Processor (C2P) Modernization project at Naval Information Warfare Center (NIWC) Pacific. They will play a supporting role in achieving the organization's goals by developing new features using C++ in the areas of system diagnostics, Unmanned Surface Vehicle status monitoring and communication, User Interface and more, as well as validating and correcting software defects. This position will directly impact Naval War Fighter through enhanced tactical communications and battlefield awareness.
CORE FUNCTIONS / JOB DUITES
An
Entrylevel Software Developer will be expected to be able to perform the following, under close supervision:
Assist in designing, coding, and testing software applications.
Collaborate with senior developers to understand project requirements and contribute to development efforts.
Write clean, efficient, and well-documented code.
Participate in code reviews and incorporate feedback to improve code quality.
Debug and fix minor software issues.
Learn and adapt to new technologies and programming languages as needed.
Contribute to the maintenance and improvement of existing software systems.
Participate in Agile methodologies such as sprint planning, daily stand-ups, retrospectives, and backlog grooming.
Attend and actively participate in team meetings and training sessions.
A
Juniorlevel Software Developer will be expected to perform the following with supervision:
Designing, coding, and testing software applications.
Collaborate with senior developers to understand project requirements and contribute to development efforts.
Write clean, efficient, and well-documented code.
Participate in code reviews and incorporate feedback to improve code quality.
Debug and fix minor software issues.
Learn and adapt to new technologies and programming languages as needed.
Contribute to the maintenance and improvement of existing software systems.
Participate in Agile methodologies such as sprint planning, daily stand-ups, retrospectives, and backlog grooming.
Attend and actively participate in team meetings and training sessions.
SKILLS and ABILITIES
An
Entrylevel Software Developer will be expected to have a foundational knowledge of the following:
Programming language: C++
Data structures and algorithms
Version control systems
Database technologies
Software development methodologies (e.g., Agile, Scrum)
Testing procedures and debugging techniques
Software security principle
Tactical Data Link (TDL) Preferred
Linux Software Development preferred
A
Juniorlevel Software Developer will be expected to have a Basic knowledge of the following:
Programming language: C++
Data structures and algorithms
Version control systems
Database technologies
Software development methodologies (e.g., Agile, Scrum)
Testing procedures and debugging techniques
Software security principle
Tactical Data Link (TDL) Preferred
Linux Software Development preferred
EDUCATION and CERTIFICATIONS
Preferred (BS STEM Degree)
Relevant Software Development Certification Required, in lieu of BS STEM Degree
TYPICAL WORKING CONDITIONS
General office environment
Computer/Equipment lab
PHYSICAL REQUIREMENTS
May be exp