Software Developer, Applications
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.
Annual openings
3,620
BLS median wage
$138,390
Typical education
Bachelor's degree, though this is often waived with the right work experience.
10-year growth
+14%
Career requirements
What does this career require?
The education, credentials, and on-the-job competencies Colorado employers expect for this role.
Typical education
Bachelor's degree, though this is often waived with the right work experience.
Credential requirement
Getting certified in coding languages or applications can usually help you get a job – however, it’s important to understand which certifications employers want to see on your resume. You can do this by looking at current job postings to see what certifications employers are requiring.
Credential detail
Same as Junior Software Developer
Work experience
One to three years as a Junior Software Developer, Application or significant experience in a related occupation.
Experience detail
Experience in the appropriate application development environment/toolset is preferred. A portfolio of software previously created is also valued.
Training
Training in the appropriate or similar application development environment/toolset is often required. For some jobs, a Bachelor's degree or graduation from a respected software developer program/bootcamp will be required.
Work-based learning
This job has been identified by employers as a key feeder role into a Cybersecurity career.
Remote work
Some companies (information technology companies for example) and jobs (such as call center support) offer the opportunity for staff to work remotely, including from rural locations. To see if a job offers this opportunity, please review job postings from job banks such as ZipRecruiter, Indeed or ConnectingColorado, and look for key words such as "location independent", "remote", "virtual", "telecommute", "flex" or for companies posting the same job in many locations.
Employer competency information
- Programming — Writing computer programs for various purposes; able to write programs that build toward a goal, stay within defined requirements and project scope, and meet quality expectations; ideally, understands how a given program creates business value and helps end-users and directs project to maximize value and end-user impact.
- Problem Solving & Decision Making — Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions; able to decompose problems into smaller, interrelated sub-components; able to iterate over time and improve; ability to estimate key parameters (e.g., time, quality, cost) and make recommendations informed by these estimates.
- Critical & Analytical Thinking — Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions, or approaches to problems; able to critically assess the approach currently being used and adjust to improve; open to change; able to independently propose new solutions and approaches; considers tradeoffs (e.g., cost, time, quality) when proposing ideas.
- Lifelong Learning — Understanding the implications of new information for both current and future problem solving and decision making; open to learning; not afraid of failing (“failing fast is just as important as getting things right”); comfortable with ambiguity and interested and able to embrace new things (e.g., languages, teamwork styles).
- Planning & Organizing — Adjusting actions in relation to others’ actions; able to improve overall team performance and think through how individual decisions impact broader team; aware of overall team goals and context, not being too absorbed in personal work; writes code others can read and maintain; able to ask questions, take criticism, and share failures openly.
Is this work a fit?
What the work actually feels like
How people in this career tend to spend their time, the interests it draws on, and a look at a typical day.
Work style
- With kids/peopleOccasionally
- On a computerOccasionally
- Outdoors / on-siteOccasionally
- With your handsOccasionally
Interests it draws on
- Technology
- Software Development
Automation exposure
Low exposure
Tasks here lean on judgement and people skills that are hard to automate.
A typical day
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Develop or direct software system testing or validation procedures, programming, or documentation.
- Confer with systems analysts, engineers, programmers and others to design systems and to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Modify existing software to correct errors, adapt it to new hardware, or upgrade interfaces and improve performance.
- Prepare reports or correspondence concerning project specifications, activities, or status.
- Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
Also includes
Specializations that share this occupation’s labor-market data.
- Junior Software Developer, Applications
- Senior Software Developer, Applications
- Junior Software Developer, Systems
- Software Developer, Systems
- Senior Software Developer, Systems
