Software Engineer
Key Responsibilities
1. Modify existing software to correct errors, to adapt it to new hardware, or to upgrade interfaces and
improve performance.
2. Develop or direct software system testing or validation procedures.
3. Direct software programming and development of documentation.
4. Consult with customers or other departments on project status, proposals, or technical issues, such
as software system design or maintenance.
5. Analyze information to determine, recommend, and plan installation of a new system or modification
of an existing system.
6. Consult with engineering staff to evaluate interface between hardware and software, develop
specifications and performance requirements, or resolve customer problems.
7. Design or develop software systems, using scientific analysis and mathematical models to predict and
measure outcome and consequences of design.
8. Prepare reports or correspondence concerning project specifications, activities, or status.
9. Confer with data processing or project managers to obtain information on limitations or capabilities
for data processing projects.
10. Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
11. Coordinate installation of software system.
12. Monitor functioning of equipment to ensure system operates in conformance with specifications.
13. Supervise and assign work to programmers, designers, technologists, technicians, or other
engineering or scientific personnel.
14. Advise customer about or perform maintenance of software system.
15. Train users to use new or modified equipment.
16. Specify power supply requirements and configuration.
17. Modify software programs to improve performance.
18. Monitor computer system performance to ensure proper operation.
19. Manage information technology projects or system activities.
20. Provide technical support for software maintenance or use.
21. Analyze project data to determine specifications or requirements.
22. Collaborate with others to resolve information technology issues.
23. Apply mathematical principles or statistical approaches to solve problems in scientific or applied
fields.
24. Collaborate with others to determine design specifications or details.
25. Design software applications.
26. Assign duties or work schedules to employees.
27. Supervise information technology personnel.
28. Communicate project information to others.
29. Assess database performance.
30. Coordinate software or hardware installation.
31. Prepare data for analysis.
32. Teach others to use computer equipment or hardware.
33. Identify information technology project resource requirements.
34. Provide recommendations to others about computer hardware.