Tasks:
- 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
- Web platform development software — Apache Struts; Hypertext markup language HTML; JavaScript; Ruby on Rails
Position Requirements:
- Minimum of Bachelors Degree. Master’s degree or PhD is preferred.
- Seeking candidates with minimum of 2 and up to 20+ years of experience