1

Computer Software Engineering Jobs in California

Bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering, Computer Science, or a related technical field required; Master's degree preferred. * 10 or more years of ...

Bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering, Computer Science, or a related technical field required; Master's degree preferred. * 10 or more years of ...

Bachelor's degree in Computer Engineering, Software Engineering, Electrical Engineering, Computer Science, or a related technical field required; Master's degree preferred. * 10 or more years of ...

Bachelor's degree in Computer Science, Software Engineering, Information Systems, or a related field, or equivalent practical experience. * 7+ years of progressive software engineering experience ...

New

Manager, Software Engineering

Burbank, CA · On-site

$127K - $175K/yr

Bachelor's degree in Computer Science, Software Engineering, Information Systems, or a related field, or equivalent practical experience. * 7+ years of progressive software engineering experience ...

Leader, Software Engineering

San Jose, CA · On-site

$214K - $309K/yr

... Computer Science, Computer Engineering or related technical field and 12+ years of software engineering experience or Master's degree and 10+ years. • 4+ years of management experience leading ...

Leader, Software Engineering

San Jose, CA · On-site

$214K - $309K/yr

Bachelors degree in Computer Science, Computer Engineering or related technical field and 12+ years of software engineering experience or Master's degree and 10+ years. 4+ years of management ...

The ideal candidate will possess: * BS, MS, or PhD in Computer Science, Computer Engineering, Software Engineering, Electrical Engineering, Biomedical Engineering, or related discipline. * 10+ years ...

Showing results 21-40

Computer Software Engineering information

See California salary details

$62.7K

$145.6K

$202.8K

How much do computer software engineering jobs pay per year?

As of Sep 8, 2026, the average yearly pay for computer software engineering in California is $145,592.00, according to ZipRecruiter salary data. Most workers in this role earn between $118,400.00 and $170,700.00 per year, depending on experience, location, and employer.

What is computer software engineering?

Computer software engineering is a branch of engineering focused on designing, developing, testing, and maintaining software applications and systems. Software engineers use programming languages, engineering principles, and problem-solving skills to create software that meets user needs. They often work on everything from mobile apps to large-scale enterprise systems, collaborating with other engineers, designers, and stakeholders. The field requires continuous learning due to rapidly evolving technologies and methodologies.

What are the key skills and qualifications needed to thrive as a computer software engineer?

To thrive as a Computer Software Engineer, you need strong programming skills, problem-solving abilities, and a solid foundation in computer science, typically supported by a relevant degree. Familiarity with development tools, integrated development environments (IDEs), version control systems like Git, and sometimes certifications in specific languages or frameworks are important. Excellent teamwork, communication, and adaptability help engineers collaborate effectively and respond to evolving project needs. These skills ensure the successful design, implementation, and maintenance of reliable, efficient software solutions.

What are some common challenges computer software engineers face when working on large-scale projects?

Computer software engineers working on large-scale projects often encounter challenges such as coordinating with cross-functional teams, managing complex codebases, and ensuring consistent documentation. Navigating these challenges requires strong communication skills, effective use of version control systems, and familiarity with agile methodologies. Additionally, engineers must balance meeting project deadlines with maintaining code quality and adapting to evolving requirements, making time management and adaptability crucial skills in this role.

What is the difference between Computer Software Engineering vs Computer Software Development?

AspectComputer Software EngineeringComputer Software Development
CredentialsBachelor's in Software Engineering, Computer Science, or related field; certifications like Certified Software Development Professional (CSDP)Bachelor's in Computer Science, Software Engineering, or related; certifications less common
Work EnvironmentDesigning, analyzing, and managing software projects; often involved in system architectureWriting, testing, and debugging code; focused on creating software applications
Employer & Industry UsageUsed by tech companies, consulting firms, and large organizations for complex projectsCommon across startups, tech firms, and software companies for product development

While both roles involve software creation, Computer Software Engineering emphasizes designing and managing software systems, whereas Computer Software Development focuses on coding and implementing software solutions. Understanding these differences helps in choosing the right career path or job search focus.

What are computer software engineering jobs?

Computer software engineering jobs involve designing, developing, testing, and maintaining software applications and systems. These roles typically require knowledge of programming languages, software development methodologies, and tools like version control systems. Professionals in this field often work in teams, follow coding standards, and may hold certifications such as Certified Software Development Professional (CSDP).

What do computer software engineers do?

Computer software engineers design, develop, test, and maintain software applications and systems. They use programming languages, development tools, and software engineering principles to create solutions that meet user needs and technical specifications.

What cities in California are hiring for Computer Software Engineering jobs?

Cities in California with the most Computer Software Engineering job openings:

Infographic showing various Computer Software Engineering job openings in California as of August 2026, with employment types broken down into 1% As Needed, 78% Full Time, 16% Part Time, 4% Contract, and 1% Nights. Highlights an 73% Physical, 2% Hybrid, and 25% Remote job distribution, with an average salary of $145,592 per year, or $70 per hour.

Director, Software Engineering

Iridex Corporation

San Jose, CA

$230K - $240K/yr

Full-time

Posted 6 days ago


Job description

Iridex Corporation is a global medical technology company dedicated to advancing the treatment of glaucoma and retinal diseases through innovative laser-based solutions. Since 1989, our products have been used by ophthalmologists around the world to help preserve and improve vision.

We are looking for an experienced hands-on Software Engineering leader to head our R&D team and manage  our software activities.

At Iridex, you’ll have the opportunity to contribute to meaningful work that supports physicians and patients worldwide while being part of a company that values collaboration, innovation, and continuous improvement.

PURPOSE OF JOB:

The Director, Software Engineering is the senior software engineering leader responsible for the technical direction, architecture, development, and lifecycle management of software and firmware supporting Iridex's ophthalmic medical devices.

This role serves as the organization's principal software engineering authority while providing direct leadership and management to three Principal Engineers. The Director balances hands-on technical leadership with people management, project prioritization, and cross-functional collaboration to ensure software solutions are reliable, maintainable, scalable, and aligned with product and business objectives.

The position works closely with Engineering, Quality, Regulatory, Manufacturing, Technical Service, and other functions within a regulated medical-device environment.

MAJOR DUTIES AND RESPONSIBILITIES:

Technical Leadership

  • Serve as the senior technical authority for software and embedded systems across Iridex products.
  • Establish software architecture, engineering standards, development practices, and technical direction.
  • Lead complex software and firmware development, troubleshooting, integration, and sustaining engineering activities.
  • Provide technical oversight of new product development and existing product platforms, including legacy systems.
  • Review and approve software architecture, designs, code, testing strategies, and technical solutions.
  • Identify and address technical risks, system-level issues, and opportunities to improve software reliability, maintainability, and development efficiency.
  • Ensure software engineering activities support applicable quality, regulatory, cybersecurity, and product requirements.
  • Provide hands-on technical expertise when required to resolve complex or high-priority issues.

People & Team Leadership

  • Directly manage and develop three Principal Software Engineers.
  • Establish team priorities, allocate resources, and balance competing technical and business requirements.
  • Set clear performance expectations and provide regular coaching, feedback, and development opportunities.
  • Foster a culture of accountability, collaboration, technical excellence, and continuous improvement.
  • Build and maintain software engineering capabilities, processes, and technical talent to support current and future product needs.

Cross-Functional Leadership

  • Partner with Product Development, Quality, Regulatory, Manufacturing, Technical Service, Sales, and other functions to resolve technical issues and deliver product objectives.
  • Translate complex technical issues, risks, and recommendations into clear communication for technical and non-technical stakeholders.
  • Provide technical input to engineering leadership and senior management on product strategy, priorities, risks, and resource requirements.
  • Support regulatory submissions, verification and validation, cybersecurity, field issues, manufacturing activities, and other product lifecycle requirements as needed.

 Engineering Operations

  • Establish and maintain effective software development processes, tools, repositories, build environments, and documentation practices.
  • Drive consistent software development, testing, code review, configuration management, and change-control practices.
  • Ensure appropriate technical documentation and engineering records are maintained.
  • Identify opportunities to improve development efficiency, product quality, and engineering infrastructure.

QUALIFICATIONS:

Education & Experience

  • Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering, or a related technical discipline.
  • 10+ years of progressive software and/or embedded systems engineering experience, with demonstrated technical leadership.
  • Experience leading software engineering teams and managing senior-level technical professionals.
  • Strong experience developing and troubleshooting embedded software and working at the hardware/software interface.
  • Experience working in a regulated environment; medical-device experience strongly preferred.

Technical Skills

  • Advanced proficiency in C and C++.
  • Strong experience with embedded systems, including ARM and/or TI C2000 processors.
  • Experience with bare-metal embedded development and Linux and/or Windows environments.
  • Strong understanding of software architecture, development methodologies, testing, debugging, and configuration management.
  • Experience troubleshooting complex software, firmware, hardware, and system-level issues.
  • Familiarity with embedded cybersecurity and software development practices applicable to medical devices.

Leadership & Communication

  • Demonstrated ability to lead through influence and make sound technical decisions.
  • Strong people-management, coaching, and team-development skills.
  • Excellent written and verbal communication skills.
  • Ability to communicate effectively with engineers, executives, regulatory professionals, manufacturing personnel, and other stakeholders.
  • Strong analytical, problem-solving, prioritization, and decision-making skills.
  • Ability to operate effectively in a dynamic environment with changing technical, regulatory, manufacturing, and business priorities.

Medical Device / Regulatory Experience

  • Working knowledge of FDA requirements and medical-device quality systems strongly preferred.
  • Familiarity with FDA 21 CFR 820 and ISO 13485 is desirable.
  • Experience supporting software verification/validation, regulatory submissions, cybersecurity, or product certification is a plus.

KEY SUCCESS FACTORS

The successful candidate will:

  • Serve as the principal software engineering authority for Iridex.
  • Provide strong technical direction while remaining sufficiently hands-on to solve complex problems.
  • Build and lead a high-performing team of Principal Software Engineers.
  • Establish scalable, disciplined, and sustainable software engineering practices.
  • Successfully balance new product development, sustaining engineering, legacy systems, and urgent technical issues.
  • Partner effectively across Engineering, Quality, Regulatory, Manufacturing, Technical Service, and other functions.
  • Develop people while maintaining a high standard of technical excellence and accountability.
  • Anticipate technical risks and proactively recommend solutions.
  • Align software engineering priorities with product, customer, and business objectives.