Skip to main content

Software Developers

15-1252.00 Bright Outlook Bright

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.

What EWU math students are doing right now

See all 6 projects →

Columbia Lighting LitePro

Ongoing
Partner: Columbia Lighting R&D

Custom radiosity software for computing light intensities in critical environments. Alumnus-led project that took applied mathematics from theory to shipping production code.

Radiosity theory Software engineering Numerical methods
Outcome: Production software at Columbia Lighting

What education do people in this job actually have?

O*NET incumbent survey (2024)
High school or less 3% Some college / associate's 7% Bachelor's degree 85% Graduate degree 5%

How EWU courses prepare you for this work (10 of 17 O*NET tasks have course evidence)

Analyze a communication system and measure a performance in terms of probability of

  • Design a closed-loop system that meets specified transient and steady state error goals.
  • Design a P, PI, and PID controller to meet steady state tracking error requirements.
  • Determine gain and phase margin for a closed-loop system.

Interpret output from statistical software correctly

Perform linear stability analysis

Write a professional report adhering to scholarly standards

Program a memory management simulation.

  • Design a P, PI, and PID controller to meet steady state tracking error requirements.
  • Design a closed-loop system that meets specified transient and steady state error goals.
  • Design a P, PI, and PID controller to meet disturbance rejection requirements.

Analyze a communication system and measure a performance in terms of probability of

Classify stability of fixed points and contextualize within the framework of the system

Evaluate systems for stability, causality, and linearity in discrete time

Program a memory management simulation.

Use mathematical software to approximate solutions of biological models

Interpret output from statistical software correctly

Work with the applications of geometric transformations in the sciences

Utilize qualitative methods to analyze linear and non-linear systems of differential equations

Implement a program that uses an array to solve a problem.

Write, compile and execute a program that will implement the Comparable interface.

  • Design a closed-loop system that meets specified transient and steady state error goals.
  • Design a P, PI, and PID controller to meet steady state tracking error requirements.
  • Write a professional report adhering to scholarly standards
  • Summarize the professional report in an oral presentation

Implement an iterative method to solve a problem (e.g. matrix decomposition, solution of a linear system of equations, determining eigenpairs of a matrix)

Analyze a communication system and measure a performance in terms of probability of

  • Analyze a communication system and measure a performance in terms of probability of
  • Identify amplitude modulations such as DSB, SSB, VSB, and QAM.

Program a memory management simulation.

Design a FIR filter with various requirements.

Analyze a communication system and measure a performance in terms of probability of

Recent regional postings for this occupation

View all 9043 postings from the last year →

5 most recent CareerOneStop listings for this occupation. "Live" in Quick Facts counts only postings the scraper re-confirmed in the last 7 days; older real postings still appear here until they age out.

Where to focus your applied learning (7 taskes without course evidence yet)

These O*NET tasks don't have direct course-objective evidence in the Math BS catalog yet. Each is an opportunity to gain hands-on preparation through an applied project, MAA-sponsored partnership, elective, or internship. The "What EWU math students are doing right now" panel above shows examples of exactly this kind of project-driven learning.

More O*NET details for this occupation (skills, knowledge, tools & technology)
Skills (42)
Basic Skills: Active Learning
Basic Skills: Active Listening
Basic Skills: Critical Thinking
Basic Skills: Learning Strategies
Basic Skills: Mathematics
Basic Skills: Monitoring
Basic Skills: Reading Comprehension
Basic Skills: Science
Basic Skills: Speaking
Basic Skills: Writing
+ 32 more on O*NET
Knowledge (4)
Computers and Electronics
Customer and Personal Service
English Language
Mathematics
Tools & technology (30)
Central processing unit CPU processors: Graphics processing unit GPU
Central processing unit CPU processors: Multi-core central processing unit CPU
Computer servers: Application servers
Computer servers: Computer servers
Desktop computers: Desktop computers
Development environment software: A programming language APL
Development environment software: ABC Compiler
Development environment software: AWK
Development environment software: Ada
Development environment software: Adobe ActionScript

O*NET's tools-and-technology list aggregates software encountered across the occupation's many sub-roles, so the list can be broad. Treat it as a directory of what people in this job might use, not a checklist of what every job requires.

Where this data comes from. Occupation descriptions, tasks, skills, and education-incumbents survey come from the U.S. Department of Labor's O*NET 30.2. Washington-state pay and employment projections come from WA Employment Security Department and the BLS Occupational Employment and Wage Statistics. Live job postings come from CareerOneStop, refreshed nightly from a scrape that tracks the original posting date and the date our system last saw each posting live.

How we connect courses to occupations. Course catalog descriptions and program-level learning outcomes are indexed alongside O*NET task statements. Where a course's language aligns with a task an occupation requires, we mark it as evidence of preparation. Faculty review each candidate match and either confirm or veto it; only confirmed matches surface in totals.

← Back to Mathematics