Description
Develop, maintain, and enhance complex software systems across various domains, including:
Processing-intensive analytics
Novel algorithm development
Manipulation of extremely large data sets
Real-time systems
Business management information systems
Work independently or collaboratively within a team to complete assigned tasks.
Review and test software components to ensure adherence to design requirements.
Document test results.
Troubleshoot and resolve software problem reports.
Apply appropriate software development and design methodologies based on the development environment.
Contribute to system design, including:
Hardware/software trade-offs
Software reuse strategies
Evaluation of COTS/GOTS solutions
Requirements analysis and synthesis from system level to individual software components.
Work Experience
Specialty Experience
None required
Relevant Experience
Debugging and Defect Correction: Debug existing software and correct defects.
Process Improvement: Provide recommendations for improving documentation and software development process standards.
Software Development: Design and code new software or modify existing software to add new features.
System Integration: Integrate existing software into new or modified systems or operating environments.
Data Query Development: Develop simple data queries for existing or proposed databases or data repositories.
Documentation: Write or review software and system documentation.
Team Leadership: Serve as team lead at the level appropriate to the software development process being used on any particular project.
Database/Data Repository Design: Design or implement complex database or data repository interfaces/queries.
Algorithm Development: Develop or implement algorithms to meet or exceed system performance and functional standards.
Testing: Assist with developing and executing test procedures for software components.
Solution Development: Develop software solutions by analyzing system performance standards, conferring with users or system engineers; analyze systems flow, data usage and work processes; and investigate problem areas.
Software Modification: Modify existing software to correct errors, to adapt to new hardware, or to improve its performance.
System Design: Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
Complex Algorithm Design: Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints.
Quality Control: Perform quality control on team products.
Implementation of Recommendations: Implement recommendations for improving documentation and software development process standards.
Team Management: Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project.
Requirement Gathering: Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements and interfaces.
Installation and Monitoring: Coordinate software system installation and monitor equipment functioning to ensure operational specifications are met.
Education
Fourteen (14) years experience as a SWE in programs and contracts of similar scope, type, and complexity is required
Bachelor's degree in Computer Science or related discipline from an accredited college or university is required
Four (4) years of additional SWE experience on projects with similar software processes may be substituted for a bachelor's degree.
Marquee Defense is an equal opportunity employer (EEO)
All applicants will receive consideration for employment without regard to race, color, religion, sex, national origin, disability status, protected veteran status, or any other characteristic protected by law.