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 called: Application Developer · Application Integration Engineer · Developer · DevOps Engineer (Development Operations Engineer) · Infrastructure Engineer · Software Architect
What the numbers say
Tailor your resume to Software Developers
See how your resume lines up with Software Developers
Refit re-angles your real experience toward this role using the skills above — and never invents skills you don't have. A no-fabrication gate checks every change before you see it.
Top skills employers ask for
Ranked by O*NET importance for this occupation.
- Critical Thinking
- Reading Comprehension
- Active Learning
- Active Listening
- Writing
- Speaking
- Monitoring
- Mathematics
- Learning Strategies
- Science
What they actually do
Core O*NET tasks for this role.
- 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.
- Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
- Design, develop and modify software systems, using scientific analysis and mathematical models to predict and measure outcomes and consequences of design.
- Determine system performance standards.
- Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
Tools & technology
- Amazon Web Services AWS software
- Apache Kafka
- Atlassian JIRA
- C
- C#
- C++
- Cascading style sheets CSS
- Docker
- Git
- GitHub
- Go
- Google Angular
- Hypertext markup language HTML
- IBM Terraform
- JavaScript
- Jenkins CI
Knowledge areas
- Computers and Electronics
- Mathematics
- Customer and Personal Service
- English Language
- Education and Training
- Engineering and Technology
- Design
- Telecommunications