Dice is the leading career destination for tech experts at every stage of their careers. Our client, Leidos, is seeking the following. Apply via Dice today!
Description
Unleash your potential at Leidos, where we deliver innovative solutions through the efforts of our diverse and talented people who are dedicated to our customer's success. We empower our teams, contribute to our communities, and operate sustainably. Everything we do is built on an investment to do the right thing for our customers, our people, and our community. Our Mission, Vision, and Values guide the way we do business.
Job Overview
This position is part of the Leidos National Security Sector (NSS) engineering aerospace development team. As a
Software Engineerat Leidos, you will be part of a software development team developing, implementing, and testing sensor software solutions for space-based products. This role offers a unique opportunity to impact Leidos' current and future space-based sensor projects using your full stack software programming experience. In this role, working with a team of engineers (electrical, firmware, mechanical, and test) you will develop software applications and routines for our flight hardware.
Primary Responsibilities
The software engineering candidate will be responsible for programming software within a Software Development Lifecycle (SDLC) process, which includes the design, development, implementation, unit testing, troubleshooting, root cause analysis, and debugging of software programs for new design, existing enhancements and new software-intensive systems and sensor-based products. Along with software development, you will write unit tests and support software/hardware in the loop validation systems as part of our continuous integration and deployment (CI/CD) system. Duties include software requirements analysis, developing software applications for targeted hardware platforms, development of software test products for automation, and understanding software development lifecycles for developing software capabilities. As a software engineer, you will:
- Develop application software to meet our mission and program requirements.
- Develop unit tests to perform functional verification of static code as well as develop functional software and hardware in the loop tests to facilitate validation and long-term reliability.
- Updating existing software to add new features and resolve bugs.
- Work with various debuggers on software applications.
- Design, develop and modify software sub-systems, using scientific analysis and comparison to mathematical models that enable prediction and outcome comparison and reporting along with clarity on the edge and corner cases.
- Participate in code and design reviews.
- Modify existing software to correct errors, to adapt to new sensor hardware, or to improve the performance of sensors.
- Assist with developing and executing test procedures for software components.
- Integrate existing sensor-based software into new or modified sensors or operating environments.
- Write and review software and system documentation.
Basic Qualifications
We're looking for Software Engineers possessing the basic software foundational skills such as:
- Bachelor's degree with 2+ years of relevant experience
- Experience with C, C++, Java, and Python.
- Experience with analyst skills and tools such as MATLAB.
- Familiar with modern SecDevOps software development operations and Agile Software techniques.
- Understanding of memory architecture - static vs dynamic memory and their relationship to stack, heap, and cache memory.
- Understand real time architectures, interrupts, ISRs, tasks, and how to apply object-oriented concepts to embedded systems
- Understand various debuggers, and how to use debuggers on software applications.
- Experienced with version control systems such as Git.
- Strong problem-solving and analytical skills.
- Experienced with various IDEs including Microsoft VS Code, or Eclipse.
- Strong written and verbal communication skills.
Preferred Qualifications
- Experience processing images.
- Experienced with embedded design of real-time electrical-mechanical assemblies that include motion, state machines, and real-time feedback.
- Experience with various of embedded communication protocols including I2C, SPI, LVDS, RS485, RS232, Ethernet (100Mbps, 1Gb), etc.
- Understand software programming at the OSI Layer 1 - Physical layer
- Understanding of FPGA and General Purpose Processors (GPP), and Graphical Processor Unit (GPU) development
Original Posting Date:
2024-07-31
While subject to change based on business needs, Leidos reasonably anticipates that this job requisition will remain open for at least 3 days with an anticipated close date of no earlier than 3 days after the original posting date as listed above.
Pay Range:
Pay Range $53,950.00 - $97,525.00
The Leidos pay range for this job level is a general guideline only and not a guarantee of compensation or salary. Additional factors considered in extending an offer include (but are not limited to) responsibilities of the job, education, experience, knowledge, skills, and abilities, as well as internal equity, alignment with market data, applicable bargaining agreement (if any), or other law.