How do they match: Software Developers

  • Usability Engineer
  • User Interface Designer

  • Research, design, and develop computer and network software or specialized utility programs. Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis. Update software or enhance existing software capabilities. May work with computer hardware engineers to integrate hardware and software systems, and develop specifications and performance requirements. May maintain databases within an application area, working individually or coordinating database development as part of a team.

  • Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
  • Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
  • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
  • Train users to use new or modified equipment.

  • Provide technical support for software maintenance or use.
  • Teach others to use computer equipment or hardware.