Software Developers:

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.

Also includes

About the Job

Indiana Average Salary $91,880.00
Average Time to Fill 0 days
Typical Education Bachelor's degree
Typical Experience
10 Year Projected Openings (2016-2026) 13,423
10 Year Expected Percentage Change (2016-2026) 30.01 %

For more information on the new projection methodology, visit Hoosiers by the Numbers .

Find Available Postings

Select an Area:

Find Training

Find Training Programs


Skills Profile

Essential (Soft) Skills

Essential Skills to Employers

Critical Thinking
Attention to Detail
Computer Fundamentals
Information Gathering
Technology and Tool Usage
Written Communication
Oral Communication
Following Directions

Top Job Duties and Responsibilities

Thinking Creatively

Write computer programs or code
Optimize software performance
Design software or user interface
Design video game features or details
Design data processing systems
Design software applications
Develop software or computer applications
Develop applications to access data warehouses while maintaining information security and integrity
Apply user experience to application design
Develop web services
Design data security systems
Develop web interfaces using established guidelines and verification techniques
Define website architectures
Develop complex computer databases
Develop simple informational data repositories or databases
Develop basic financial data repositories or databases
Develop computer, network, or database policies, procedures, or standards
Create relational databases
Design computer hardware solutions
Develop computer or information security policies or procedures
Design computer software or application solutions
Develop basic data repositories or databases
Define database parameters or specifications
Develop records management systems
Maintain quality assurance procedures
Create databases including tables, relationships, and queries
Develop diagrams or flow charts of how systems operate
Design websites
Create website
Develop stored procedures for repeatable database processes
Develop mathematical concepts, models, or simulations
Develop testing routines or procedures
Set page layout or composition
Develop graphic designs or models
Determine operational criteria or specifications
Develop engineering policies, procedures, or standards
Develop graphic art
Prepare graphics or other visual representations of information
Write business project or bid proposals
Create mathematical or statistical diagrams, charts, or tables
Develop procedures for data management
Develop procedures for data entry or processing
Design manufacturing processes or methods

Interacting With Computers

Solve software problems
Debug computer programs or code
Troubleshoot computer database problems
Maintain computer software or code
Maintain complex computer databases
Assist users with software or hardware problems
Solve computer hardware problems
Debug computer software or systems
Troubleshoot computer hardware problems
Install software applications
Integrate software into different types of pre-existing environments, architectures, or systems
Install hardware, software, or peripheral equipment
Configure computer networks
Troubleshoot computer network problems
Maintain network systems
Plan computer security measures
Implement security measures for computer or information systems
Upload data to website or online server for information sharing
Create data backups to prevent loss of information
Enter codes into computers to set or operate equipment
Perform website maintenance
Prepare media files for web distribution
Modify computer network systems

Analyzing Data or Information

Analyze information technology problems
Analyze business problems
Evaluate designs or specifications to ensure quality
Analyze engineering design problems
Apply mathematical principles or statistical approaches to solve problems in scientific or applied fields
Analyze user workflow in software or application designs
Perform software crash analysis
Analyze data to identify or resolve operational problems
Identify problems using mathematical or statistical methods
Analyze website usage metrics
Analyze technical engineering problems
Analyze scientific or investigative findings
Prepare data for analysis
Perform engineering research
Analyze legacy databases
Analyze engineering data
Evaluate product design
Perform statistical analysis or modeling
Forecast phenomena based on statistical or mathematical research data
Analyze organizational workflows

Department of Workforce Development Resources