Tools have always opened new horizons for human civilization- from the sharpened stones of hunter-gatherers, to today's computers and software. Software developers are the creative minds designing tools for the new millennium, whether they design new apps like web browsers, databases, or games- or create the operating system that runs a phone, computer, or an entire network. These IT professionals lead the process for the entire team it takes to create new software. Developers start by learning what users' needs are, then they design and test software to meet those needs. They design based on functionality- or what the software needs to do- how it will be used, and security needs. Programmers then rely on the models and diagrams made by software developers to guide their coding of designs. If testing reveals that a software design is too difficult to use, the developers redesign it until it works. Many software developers work for software publishers and computer system design companies, manufacturing firms, and in finance and insurance businesses. Most work full time, and long hours are common. Software developers usually have a bachelor's degree in computer science, software engineering, math, or a related field. Software developers need a background in programming, and should plan to continue learning new developments in computer languages and tools... throughout their careers.
What they do:
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.
On the job, you would:
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.
Engineering and Technology
computers and electronics
product and service development
Arts and Humanities
Math and Science
arithmetic, algebra, geometry, calculus, or statistics
thinking about the pros and cons of different ways to solve a problem
talking to others
People and Technology Systems
figuring out how a system should work and how changes in the future will affect it
measuring how well a system is working and how to improve it
noticing a problem and figuring out the best way to solve it
Ideas and Logic
make general rules or come up with answers from lots of detailed information
notice when problems happen
communicate by speaking
read and understand what is written
choose the right type of math to solve a problem
add, subtract, multiply, or divide
People interested in this work like activities that include ideas, thinking, and figuring things out.
They do well at jobs that need:
Attention to Detail
You might use software like this on the job:
Development environment software
Microsoft Visual Basic Scripting Edition VBScript
Object or component oriented development software
Practical extraction and reporting language Perl
Web platform development software
bachelor's degree or master's degree usually needed
Examples of Registered Apprenticeship programs include:
New job opportunities are very likely in the future.