My Colorado Journey
Back to pathway map
Information Technology

Lead Software Developer or Architect

Design and develop solutions to complex applications problems, system administration issues, or network concerns. Perform systems management and integration functions.

Annual openings

761

BLS median wage

$139,580

Typical education

Bachelor's degree, though this is often waived with the right work experience.

10-year growth

+12%

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 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.

Work experience

Two to five years as a Computer Programmer or significant experience in a related occupation.

Work-based learning

Programmers come from a variety of different backgrounds, including directly from education and training programs that focus on coding and development skills. Employers agree that the strongest candidates bring a combination of technical skills and an understanding of broader business functions of IT, including customer-facing sides of the business. For example, some employers describe hiring developers from IT service roles such as IT Support, Help Desk, or other customer-facing roles that involve implementation of IT. In addition, several businesses identified quality assurance as a pathway into development and integration. Database administrators or data analysts can also successfully move into development roles.

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

  • While specific roles vary across companies, employers agree that there are a set of common required competencies for developers. These include: An understanding of how to program and test software including being able to program in one or more languages. Look at job postings in your region to identify the hot programming language such as Java, JavaScript or C#. An ability to integrate different data sources and the ability to use data storage and retrieval mechanisms such as SQL An understanding of the software development life cycle Critical thinking An ability to work independently and devise solutions, problem solving Employers noted that while there are many developers in the workforce, it is uncommon to find those who embody what they described as the “developer mentality”. These are typically very logical people who see all parts of a problem and create smaller, sub-goals to solve a problem. These people tend to enjoy detail-oriented tasks.

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.

Automation exposure

Low exposure

Tasks here lean on judgement and people skills that are hard to automate.

A typical day

  1. Communicate with staff or clients to understand specific system requirements.
  2. Investigate system component suitability for specified purposes, and make recommendations regarding component use.
  3. Provide customers or installation teams guidelines for implementing secure systems.
  4. Direct the installation of operating systems, network or application software, or computer or network hardware.
  5. Monitor system operation to detect potential problems.
  6. Identify system data, hardware, or software components required to meet user needs.