Software Engineer
Role details
Job location
Tech stack
Job description
This role is for a highly skilled Software Engineer who designs, develops, and deploys software for data processing and signal processing systems. You will work across the full software development lifecycle, from architecture and implementation through testing, analysis, and deployment, primarily using C, C++, and Python in Linux environments. You will contribute to robust, high-performance systems that support advanced communication and signal processing applications., * Design, implement, test, and deploy software for data and signal processing systems, ensuring performance, reliability, and maintainability.
- Develop and maintain system interfaces for control, status reporting, and monitoring of complex software and hardware components.
- Perform detailed software analysis, including debugging, troubleshooting, and performance optimization across the full stack.
- Manage software configurations, baselines, and version control to ensure traceability and integrity of releases.
- Collaborate closely with cross-functional engineering teams to integrate software with other system components and subsystems.
- Contribute to architectural decisions, including selection of technologies, design patterns, and interface definitions.
- Create and maintain clear technical documentation for designs, interfaces, algorithms, and test procedures.
- Support software testing activities, including unit, integration, and system-level testing, and resolve issues identified during verification., You will work in a technical engineering environment focused on data and signal processing solutions, using C, C++, Python, and Matlab on Linux-based systems. The role involves close collaboration with other engineers to integrate software components into larger systems, manage configurations and baselines, and support rigorous testing and analysis. Work is primarily performed in an office or lab setting equipped with modern development tools, version control systems, and computing resources suitable for high-performance software and signal processing tasks.
Requirements
- 5 or more years of professional software engineering experience.
- Strong proficiency in C and C++ for high-performance, production-quality software development.
- Hands-on experience with Python for scripting, tooling, or application development.
- Experience developing and running software in Linux environments.
- Demonstrated experience with software testing and debugging complex systems.
- Understanding of client-server architectures and distributed software systems.
- Knowledge of signal processing algorithms and techniques.
- Experience with signal processing or data processing systems, including implementation and optimization.
- Ability to perform software analysis and performance optimization.
- Experience with configuration management and version control tools., * Bachelor's degree in Electrical Engineering, Computer Science, or a related technical field.
- Experience with Matlab for algorithm development, data analysis, or signal processing.
- Familiarity with GNSS technologies such as GPS and Galileo.
- Understanding of analog and digital modulation techniques and communication systems.
- Experience with database management in support of data or signal processing applications.
- Background in software testing methodologies and structured debugging practices.
- Ability to collaborate effectively in cross-functional engineering teams and contribute to technical documentation., CommunicationData AnalysisLife SciencesDebuggingVersion ControlSoftware EngineeringPython (Programming Language)ScriptingReliabilityComputer ScienceMechanical EngineeringLinuxTroubleshooting (Problem Solving)AlgorithmsSoftware Development Life CycleToolingAlgorithm DesignManufacturing EngineeringElectrical EngineeringTraceabilityDatabase ManagementProgramming ToolsTechnical DocumentationSoftware Design PatternsC++ (Programming Language)MATLABSoftware TestingConfiguration ManagementSoftware AnalysisC (Programming Language)Technical EngineeringData ProcessingVisionarySignal ProcessingData Processing Systems
Benefits & conditions
This is a Permanent position based out of Fairfax, VA. Pay and Benefits
The pay range for this position is $85000.00 - $130000.00/yr.
25% 401K Contribution, 25% IBA (likely pays for all insurance premiums) 8 weeks of PTO 100% tuition & books reimbursement (also certifications) Workplace Type