How do they match: Software Developers

  • Android Developer
  • Usability Engineer
  • User Interface Designer
  • Application Support Engineer
  • Applications Programmer
  • Computer Programmer Analyst
  • Development and Operations Architect
  • Development and Operations Developer
  • Java Programmer
  • Mainframe Systems Programmer
  • Systems Support Engineer
  • Technical Support Engineer

  • 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.
  • Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
  • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
  • Develop or direct software system testing or validation procedures, programming, or documentation.
  • Supervise and assign work to programmers, designers, technologists, technicians, or other engineering or scientific personnel.
  • Supervise the work of programmers, technologists and technicians and other engineering and scientific personnel.
  • Train users to use new or modified equipment.

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