Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. May supervise computer programmers.
Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
Confer with systems analysts, engineers, programmers and others to design system and to obtain information on project limitations and capabilities, performance requirements and interfaces.
Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
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.
Determine system performance standards.
Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
Consult with customers about software system design and maintenance.
Analyze information to determine, recommend, and plan computer specifications and layouts, and peripheral equipment modifications.
Graphical user interface development software — Graphical user interface GUI builder software
Graphics or photo imaging software — Adobe Systems Adobe Creative Cloud ; Adobe Systems Adobe Fireworks ; Adobe Systems Adobe Photoshop ; Microsoft Visio
Human resources software — Human resource management software HRMS
Information retrieval or search software — Apache Avro; LexisNexis
Map creation software — ESRI ArcGIS software
Medical software — Epic Systems ; Healthcare common procedure coding system HCPCS ; MEDITECH software
Metadata management software — CA Erwin Data Modeler ; Talend Data Fabric
Transaction server software — Customer information control system CICS ; IBM Middleware; Microsoft Internet Information Service IIS; Object Management Group Object Request Broker
Video creation and editing software — Adobe Systems Adobe AfterEffects ; Apple Final Cut Pro ; YouTube
Web page creation and editing software — Adobe Systems Adobe Dreamweaver
Web platform development software — AJAX ; Google AngularJS ; jQuery ; LAMP Stack
Programming — Writing computer programs for various purposes.
Systems Analysis — Determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes.
Systems Evaluation — Identifying measures or indicators of system performance and the actions needed to improve or correct performance, relative to the goals of the system.
Judgment and Decision Making — Considering the relative costs and benefits of potential actions to choose the most appropriate one.
Complex Problem Solving — Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions.
Critical Thinking — Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems.
Operations Analysis — Analyzing needs and product requirements to create a design.
Speaking — Talking to others to convey information effectively.
Active Listening — Giving full attention to what other people are saying, taking time to understand the points being made, asking questions as appropriate, and not interrupting at inappropriate times.
Reading Comprehension — Understanding written sentences and paragraphs in work related documents.
Active Learning — Understanding the implications of new information for both current and future problem-solving and decision-making.
Coordination — Adjusting actions in relation to others' actions.
Learning Strategies — Selecting and using training/instructional methods and procedures appropriate for the situation when learning or teaching new things.
Monitoring — Monitoring/Assessing performance of yourself, other individuals, or organizations to make improvements or take corrective action.
Technology Design — Generating or adapting equipment and technology to serve user needs.
Writing — Communicating effectively in writing as appropriate for the needs of the audience.