This job may be filled as a Software Developer Level 2 or 3, Depending on Experience The Software Developer is responsible for supporting development efforts supporting the H10 & H60 department at Naval Surface Warfare Center Dahlgren Division. They will play a supporting role in achieving the organizations goals by operating in key development role with design, peer review, coding, and troubleshooting support. This position will directly impact warfighter technologies that represent the intersection of autonomy, artificial intelligence, robotics and unmanned systems that are empowered by the application of intelligent automation systems to defeat enemy threats and technologies. CORE FUNCTIONS/JOB DUTIES LEVEL 2 Able 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. LEVEL 3 Able to perform the following independently, under minimum supervision: Design, develop, and maintain high-quality software solutions that meet project requirements and best practices. Collaborate with cross-functional teams to understand project needs and implement effective solutions. Write clean, efficient, and well-documented code using program preferred languages. Participate in code reviews to ensure code quality and enhance team skills. Analyze and optimize database performance, including designing schemas and writing efficient queries. Implement and integrate APIs, including authentication and authorization mechanisms. Contribute to the entire software development life cycle, from requirement gathering to maintenance. Troubleshoot and debug software issues. Participate in Agile methodologies such as sprint planning, daily stand-ups, retrospectives, and backlog grooming.