Software Engineer

Actalent
Huntsville, AL, United States
1 day ago
Apply on www.careercircle.com
Prepare application

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Experience required
8 years minimum
Compensation
$74,880 - $124,800
Working hours
Regular working hours

Tech stack

Java (Programming Language) 3d Models Microsoft Windows Adobe InDesign Automation of Tests Unit Testing Bash Shell Unix C++ (Programming Language) Capability Maturity Model Integration Compilers Continuous Integration
+21 more
Software Debugging Software Design Patterns Linux Eclipse (Software) Embedded Software Integrated Development Environments Junit Python (Programming Language) Linux System Administration Microsoft Office Object-Oriented Software Development Software Architecture Software Engineering Software Requirements Analysis Software Systems Solaris (Operating System) Subsystems Systems Integration UML Utility Software Scripting

Job description

Utility Software, Operating Systems Embedded Software Eclipse (Software) Systems Integration Time Off Management Software Engineering Engineering Practices Object-Oriented Design Technical Documentation Software Design Patterns Bash (Scripting Language) Engineering Documentation Unified Modeling Language Engineering Design Process C++ (Programming Language) Solaris (Operating System) Java (Programming Language) Critical Design Review (CDR) Python (Programming Language) Continuous Improvement Process Object-Oriented Programming (OOP) Integrated Development Environments Capability Maturity Model Integration, The Software Engineer designs, develops, troubleshoots, and analyzes software programs for computer-based systems in a complex, mission-focused environment. Working under general supervision, this role performs system modeling, simulation, and analysis, and contributes to the design and development of compilers, assemblers, utility programs, and operating systems. The engineer also provides input for documentation of new and existing software, ensuring solutions are robust, maintainable, and aligned with established engineering processes., * Design, develop, and maintain software for computer-based systems, focusing on reliability, performance, and scalability.

  • Perform system modeling, simulation, and analysis to support design decisions and validate system behavior.
  • Design and develop low-level software components such as compilers, assemblers, utility programs, and operating systems as needed.
  • Implement software designs, including detailed design, coding, unit testing, and integration of subsystems into larger system architectures.
  • Lead and participate in subsystem and system integration activities, ensuring that software components interface correctly and perform as intended.
  • Conduct software requirements reviews to confirm feasibility, completeness, and testability of requirements.
  • Participate in preliminary and critical design reviews, presenting technical solutions and addressing feedback from stakeholders.
  • Support integration readiness reviews and software acceptance reviews, preparing documentation and evidence to demonstrate compliance with requirements.
  • Develop and maintain scripts and automation tools in UNIX, Solaris, Linux, and Windows environments to support build, test, and deployment activities.
  • Contribute inputs for technical documentation, including design descriptions, user guides, and maintenance documentation for new and existing programs.
  • Apply object-oriented design principles and design patterns to create modular, extensible, and insulated software architectures that support plugins and future enhancements.
  • Utilize Integrated Development Environments (IDEs) such as Eclipse and related tools to develop, debug, and maintain software solutions.
  • Use UML syntax to model software components, interactions, and architectures, ensuring clear communication of design intent.
  • Apply xUnit-based frameworks, including JUnit and CppUnitLite, to implement and maintain automated unit and integration tests.
  • Follow established CMMI Level 5 life cycle processes and procedures, ensuring adherence to rigorous engineering, documentation, and quality standards.
  • Collaborate with cross-functional teams in a defense-focused environment to support long-term programs and mission-critical systems.
  • Contribute to continuous improvement of development practices, including automation, maintenance processes, and CI/CD where applicable.

Requirements

Unix Linux CI/CD Junit Syntax Debugging Scripting Visionary Compilers Xunit.net Leadership Automation Innovation Subsystems Reliability Testability Simulations Unit Testing Communication Detail Oriented Test Automation Problem Solving Software Design Microsoft Office, Embedded Systems, * Strong proficiency in C++ or Java programming within a Linux operating system environment.

  • Extensive experience in software design, design implementation, subsystem and system integration, and testing.
  • Experience participating in formal engineering reviews, including software requirements reviews, preliminary design reviews, critical design reviews, integration readiness reviews, and software acceptance reviews.
  • Hands-on experience with integrated development environments (IDEs) such as Eclipse in Linux and other operating environments.
  • Experience with embedded software development and object-oriented programming techniques.
  • Proficiency in object-oriented design and development, including the use of design patterns to implement software insulation techniques and plugin-based architectures.
  • Approximately 8+ years of experience developing software with C++.
  • Experience working in Windows, Solaris, and Linux environments for development and testing.
  • Experience developing scripts for Solaris and other UNIX variants.
  • Strong skills with MS Office for documentation, communication, and reporting.
  • Familiarity with UML syntax and its practical use in modeling software systems.
  • Familiarity with xUnit testing frameworks, particularly JUnit and CppUnitLite.
  • Experience working within CMMI Level 5 life cycle processes and procedures.

Additional Skills & Qualifications

  • Experience with Python and Bash scripting is a plus.
  • Exposure to or experience with CI/CD practices and tools is beneficial.
  • Experience with maintenance and automation activities in software environments.
  • Background working in UNIX environments beyond Solaris and Linux.
  • Comfort working with embedded programming concepts and tools.
  • Ability to work effectively in a long-term, structured program environment supporting government defense initiatives.
  • Strong analytical and problem-solving skills, with attention to detail in design, implementation, and testing.
  • Effective communication skills for participating in reviews, documenting designs, and collaborating with multidisciplinary teams., Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors.

About the company

Actalent is a global leader in engineering and sciences services and talent solutions. We help visionary companies advance their engineering and science initiatives through access to specialized experts who drive scale, innovation and speed to market. With a network of almost 20,000 consultants and 5,000 clients across the U.S., Canada, Asia and Europe, Actalent serves many of the Fortune 500. We are proud to be an Engineering News-Record (ENR) Top 500 Design Firm for our engineering design services and a ClearlyRated Best of Staffing® winner for both client and talent service.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.careercircle.com
Prepare application

Good distractions

Loading talks and stories from around this role…