1

Computer Software Engineering Jobs in Alabama (NOW HIRING)

Senior Software Engineer

Huntsville, AL · On-site

$120K - $159K/yr

Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering, or related technical discipline * 8+ years of software engineering experience supporting ...

Software Engineer 3

Huntsville, AL · On-site

$164K - $230K/yr

S. in Computer Science, Computer/Software Engineering, or a related STEM field * 5+ years of relevant software development experience * Strong proficiency in TypeScript/JavaScript and Node.js * ...

S. in Computer Science, Computer/Software Engineering, or a related STEM field * 5+ years of relevant software development experience * Strong proficiency in TypeScript/JavaScript and Node.js * ...

Software Engineer 3

Huntsville, AL · On-site

$164K - $230K/yr

S. in Computer Science, Computer/Software Engineering, or a related STEM field * 5+ years of relevant software development experience * Strong proficiency in TypeScript/JavaScript and Node.js * ...

Software Engineer IV

Birmingham, AL · On-site

$75 - $80/hr

Bachelor's degree in Computer Science, Computer Engineering, or a related field. * Minimum of 7 years of professional software engineering experience. Required Skills & Competencies * Strong ...

next page

Showing results 1-20

Computer Software Engineering information

See Alabama salary details

$57.6K

$133.7K

$186.3K

How much do computer software engineering jobs pay per year?

As of Jul 9, 2026, the average yearly pay for computer software engineering in Alabama is $133,714.00, according to ZipRecruiter salary data. Most workers in this role earn between $108,800.00 and $156,800.00 per year, depending on experience, location, and employer.

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 does a computer software engineer do?

A computer software engineer designs, develops, tests, and maintains software applications and systems. They use programming languages like Java, C++, or Python and often collaborate with teams to create efficient, reliable software solutions for various industries.

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 programming skills in languages like Java, C++, or Python, and often involve collaboration within development teams using tools such as version control systems. Professionals in this field may work in various industries, including technology, finance, healthcare, and more, often requiring a bachelor's degree in computer science or related fields.

Can you make $500,000 as a software engineer?

Software engineers can earn $500,000 or more annually, primarily through senior roles, specialized skills, or working at large tech companies and startups with equity options. High compensation often requires extensive experience, advanced technical skills, and sometimes leadership responsibilities or performance bonuses.

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 kind of jobs can a software engineer do?

A software engineer can work in roles such as application developer, systems engineer, embedded systems engineer, or quality assurance engineer. They design, develop, test, and maintain software across various industries, often using programming languages like Java, Python, or C++, and may work in teams or independently depending on the project.

What are the key skills and qualifications needed to thrive as a Computer Software Engineer, and why are they important?

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 popular job titles related to Computer Software Engineering jobs in Alabama? For Computer Software Engineering jobs in Alabama, the most frequently searched job titles are:
What cities in Alabama are hiring for Computer Software Engineering jobs? Cities in Alabama with the most Computer Software Engineering job openings:
Infographic showing various Computer Software Engineering job openings in Alabama as of July 2026, with employment types broken down into 1% As Needed, 75% Full Time, 18% Part Time, and 6% Contract. Highlights an 82% Physical, 1% Hybrid, and 17% Remote job distribution, with an average salary of $133,714 per year, or $64.3 per hour.

Senior Software Engineer

EO Solutions Corp

Huntsville, AL • On-site

$120K - $159K/yr

Full-time

Re-posted 14 days ago


Job description

Position Title: Senior Software Engineer

Location: Huntsville, Alabama

Job Type: Full Time

About EO Solutions 
EO Solutions is a rapidly growing aerospace and defense company focused on advancing capabilities in Space Domain Awareness and Directed Energy Systems. Our teams work across Hawaii, Nevada, Alabama, and remote locations to solve critical national security challenges with innovative, mission-focused technologies. 

Position Overview

EO Solutions is seeking a highly skilled Senior Software Engineer to support the architecture, development, integration, and testing of advanced communication, controls, and safety software for complex High Energy Laser (HEL) weapon systems. This position requires a versatile software engineer capable of working across the full software stack, from embedded controls and real-time hardware interfaces to operator interfaces and mission-level graphical user interfaces (GUIs). The ideal candidate will possess strong software engineering fundamentals, experience with safety-critical systems, and the ability to rapidly develop and assess high-quality software solutions in a fast-paced defense environment. The successful candidate will also be comfortable leveraging modern AI-assisted software development tools while maintaining the technical judgment necessary to evaluate code quality, performance, security, safety, and maintainability.

Key Responsibilities

  • Lead the development of advanced communication, controls, and safety software for High Energy Laser weapon systems

  • Design, develop, integrate, and test software across embedded, middleware, backend, and GUI application layers

  • Design, develop, test, and validate software and interfaces specifications

  • Develop embedded controls software for real-time hardware interaction and system control

  • Design and implement operator interfaces, mission displays, and visualization tools

  • Develop software architectures supporting modularity, scalability, maintainability, and mission reliability

  • Integrate software with sensors, tracking systems, beam control systems, and weapon subsystems

  • Support real-time communications, hardware interfaces, and distributed system architectures

  • Participate in system integration, hardware/software integration, and field testing activities

  • Conduct software verification, validation, debugging, and performance optimization

  • Perform software safety analyses and participate in software safety reviews for mission-critical systems

  • Ensure software compliance with Government Information Assurance (IA), cybersecurity, and system sanitization requirements for operation on classified and tactical Command and Control (C2) networks

  • Utilize AI-assisted development tools to improve productivity while critically evaluating generated code for correctness, efficiency, security, and maintainability

  • Develop and maintain software documentation, interface definitions, test procedures, and technical data packages

  • Collaborate closely with systems, electrical, optical, and controls engineering teams

  • Support Agile development activities, design reviews, and technical interchange meetings

  • Mentor junior software engineers and contribute to internal software engineering best practices

  • Support proposal development and advanced technology initiatives related to Directed Energy Systems

  • Support software deployment and accreditation activities within classified and secure operational environments

  • Develop and maintain software architectures that support secure communications, data handling, and operational security requirements

  • Participate in cybersecurity assessments, vulnerability mitigation efforts, and Authority to Operate (ATO) support activities

  • Support software sanitization, media handling, and cross-domain security requirements for government systems

Required Qualifications

  • Bachelor’s degree in Computer Science, Software Engineering, Computer Engineering, Electrical Engineering, or related technical discipline

  • 8+ years of software engineering experience supporting complex technical systems

  • Strong experience developing software in C++ and C.

  • Experience developing both GUI applications and embedded real-time software

  • Experience supporting hardware/software integration and controls software development

  • Experience designing distributed or modular software architectures

  • Experience with multithreaded and real-time software systems

  • Experience conducting software safety reviews and supporting safety-critical systems

  • Familiarity with software development lifecycle processes, testing methodologies, and configuration management

  • Experience integrating software with hardware devices, sensors, or weapon system components

  • Familiarity with Linux and/or embedded operating systems

  • Ability to evaluate software quality, maintainability, security, and performance

  • Experience using modern AI-assisted software development tools and workflows

  • Experience supporting software systems operating on government Command and Control (C2) networks and classified environments

  • Familiarity with Government Information Assurance (IA) and cybersecurity requirements for weapon systems

  • Experience implementing or supporting system sanitization and secure data handling procedures

  • Understanding of secure software development practices and cybersecurity compliance requirements

  • Familiarity with RMF (Risk Management Framework), STIGs, and secure deployment processes for weapon systems

  • Experience supporting software accreditation, security reviews, or Authority to Operate (ATO) activities

  • Strong debugging, troubleshooting, and analytical problem-solving skills

  • Strong written and verbal communication skills

  • Ability to work effectively in fast-paced multidisciplinary engineering teams

  • Ability to obtain and maintain a U.S. security clearance

Preferred Qualifications

  • Master’s degree in Electrical Engineering or related discipline

  • Active Secret or Top Secret clearance

  • Experience supporting Directed Energy, aerospace, defense, or military systems

  • Familiarity with VHDL or Verilog development for FPGA systems

  • Experience with embedded C/C++ firmware development with STM32, Zypher, and FreeRTOS

  • Experience with Python, Rust, and/or other high level languages

  • Experience with Docker containers

  • Experience with ruggedized electronics and environmental qualification testing

  • Experience with cable and harness design for aerospace or defense systems

  • Familiarity with MOSA, SOSA, or open systems architectures

  • Experience operating within SIPRNet, JWICS, or other classified government network environments

  • Familiarity with DoD cybersecurity policies and classified system handling procedures

  • Experience supporting secure tactical communications or weapon system software deployments

  • Experience supporting prototyping and low-rate production environments

Desired Attributes

  • Strong problem-solving and analytical skills

  • Self-motivated with the ability to work independently

  • Ability to balance technical detail with program execution priorities

  • Passion for mentoring and developing junior engineers

  • Mission-focused mindset with a commitment to engineering excellence