Northern Virginia (Various Locations in Consideration)
Analyze and study complex system requirements. Design software tools and subsystems to support software reuse and domain analyses and manage their implementation. Translates detailed design into computer software. Implement COTS packages. Test, debug, and refine the computer software to produce the required product. Prepare required documentation, including both program-level and user-level documentation. Enhance software to reduce operating time or improve efficiency. Provide technical guidance in software engineering techniques and automated support tools. Provide technical direction to programmers to ensure program deadlines are met.
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Analyze information to determine, recommend, and plan computer specifications and layouts, and peripheral equipment modifications.
- Review existing programs and assist in making refinements, reducing operating time, and improve current techniques.
- Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
- Confer with systems analysts, engineers, programmers and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Obtain and evaluate information on factors such as reporting formats required, costs, and security needs to determine hardware configuration.
- Estimate software development costs and schedule.
- Consult with customers about software system design and maintenance.
- Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Develop and direct software system testing and validation procedures, programming, and documentation.
- Supervise the work of programmers, technologists and technicians and other engineering and scientific personnel.
- Consult with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements and resolve customer problems.
- Develop and direct software system testing and validation procedures.
- Consult with customers or other departments on project status, proposals and technical issues such as software system design and maintenance.
- Advise customer about, or perform, maintenance of software system.
- Coordinate installation of software system.
- Monitor functioning of equipment to ensure system operates in conformance with specifications.
- Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
- Confer with data processing and project managers to obtain information on limitations and capabilities for data processing projects.
- Prepare reports and correspondence concerning project specifications, activities and status.
- Evaluate factors such as reporting formats required, cost constraints, and need for security restrictions to determine hardware configuration.
- Train users to use new or modified equipment.
- Utilize microcontrollers to develop control signals, implement control algorithms and measure process variables such as temperatures, pressures and positions.
- Recommend purchase of equipment to control dust, temperature, and humidity in area of system installation.
- Specify power supply requirements and configuration.
- Data base management system software — Computer Associates integrated data management system CA-IDMS; Database management software; Microsoft SQL Server; Oracle DBMS
- Development environment software — C; Embedded systems development software; IBM Rational Rose XDE Developer; Microsoft Visual Basic
- Object or component oriented development software — C++; Self; Simulation language SIMULA; Sun Microsystems Java
- Program testing software — Defect tracking software; Mercury Interactive LoadRunner; Source code editor software; Usability testing software
- A current government clearance, background investigation, and polygraph are required.