logo

View all jobs

Senior Software Engineer

Annapolis Junction, MD
Job Title: Senior Software Engineer
Location: Annapolis Junction, MD 
Required Clearance: TS/SCI w/ Full-Scope Poly
Salary: Competitive

Job Description
We are seeking a highly skilled and experienced Senior Software Engineer to develop, maintain, and enhance complex and diverse software systems. As a Senior Software Engineer, you will work on various software projects, including processing-intensive analytics, novel algorithm development, manipulation of large data sets, real-time systems, and business management information systems. You will collaborate with a team or work individually to analyze requirements, review and test software components, resolve issues, and contribute to system design. Utilizing appropriate software development methodologies, you will ensure adherence to design requirements and provide valuable input to optimize system performance and functionality.

Key Responsibilities:
1. Analyze user requirements to derive software design and performance requirements.
2. Debug existing software and correct defects.
3. Provide recommendations for improving documentation and software development process standards.
4. Design and code new software or modify existing software to add new features.
5. Integrate existing software into new or modified systems or operating environments.
6. Develop simple data queries for existing or proposed databases or data repositories.
7. Write or review software and system documentation.
8. Serve as a team lead, overseeing software development projects and ensuring adherence to process standards.
9. Design and implement complex database or data repository interfaces/queries.
10. Develop and implement algorithms to meet or exceed system performance and functional standards.
11. Assist in developing and executing test procedures for software components.
12. Analyze system performance standards, consult with users and system engineers, analyze systems flow and work processes, and investigate problem areas to develop software solutions.
13. Modify existing software to correct errors, adapt to new hardware, or improve performance.
14. Design, develop, and modify software systems using scientific analysis and mathematical models.
15. Design and implement complex algorithms, considering timing, system resource, and interface constraints.
16. Implement recommendations for improving documentation and software development process standards.
17. Oversee multiple software development teams, ensuring the completion of work within project constraints.
18. Collaborate with system engineers and hardware engineers to derive software requirements and obtain project information.
19. Coordinate software system installation and monitor equipment functioning to meet operational specifications.
20. Recommend new technologies and processes for complex software projects.
21. Serve as the technical lead for multiple software development teams.
22. Select the appropriate software development process in coordination with the customer and system engineering.
23. Ensure quality control of all developed and modified software.
24. Delegate programming and testing responsibilities to teams and monitor their performance.

Requirements:
1. Twenty (20) years of experience as a Software Engineer in programs and contracts of similar scope, type, and complexity.
2. Bachelor's degree in Computer Science or a related discipline from an accredited college or university.
   - Alternatively, four (4) years of additional Software Engineering experience on projects with similar software processes can be substituted for a bachelor's degree.

Benefits:

  • 401(k) matching
  • Dental insurance
  • Flexible spending account
  • Health insurance
  • Health savings account
  • Paid time off
  • Referral program
  • Vision insurance
  • Relocation assistance

Share This Job

Powered by