Software Perception Engineer
Role details
Job location
Tech stack
Job description
Software Testing Test Engineering Apache Subversion Industry Standards Software Solutions Systems Engineering Systems Integration System Requirements Integration Testing Product Engineering Software Development Computer Engineering Architectural Design Design Specifications Software Architecture Industrial Automation Electrical Engineering Artificial Intelligence Technical Documentation Configuration Management C (Programming Language) Engineering Design Process C++ (Programming Language) Real-Time Operating Systems Git (Version Control System) Python (Programming Language) Continuous Improvement Process Hardware Verification Language Software Development Life Cycle Troubleshooting (Problem Solving), We are seeking a highly experienced Senior Software Engineer with deep expertise in C programming to support the development of next-generation Onboard and Wayside rail signaling products. This individual will be responsible for designing, developing, testing, and maintaining embedded and real-time software solutions used in safety-critical transportation applications. The ideal candidate will bring a strong background in software development for embedded systems, real-time operating environments, and mission-critical products. This role requires close collaboration with systems, hardware, verification, and product engineering teams throughout the full software development lifecycle., * Design, develop, and maintain high-quality software applications primarily using C in embedded and real-time environments.
- Contribute to the architecture, design, implementation, and verification of onboard and wayside rail signaling products.
- Develop software that meets safety, reliability, maintainability, and performance requirements.
- Analyze system requirements and translate them into software design specifications.
- Perform software integration, debugging, troubleshooting, and root-cause analysis.
- Participate in code reviews and ensure adherence to coding standards and best practices.
- Collaborate with systems, hardware, verification, and test engineering teams to ensure successful product delivery.
- Support software verification activities, including unit testing, integration testing, and system validation.
- Contribute to technical risk assessments and resolution of complex engineering issues.
- Assist in product enhancements, feature development, and lifecycle sustainment activities.
- Create and maintain technical documentation, including design specifications, test procedures, and release documentation.
- Support continuous improvement initiatives related to development processes, quality, and automation.
Requirements
Debugging Scripting Visionary Leadership Innovation Code Review Reliability Test Design Unit Testing Communication Risk Analysis Version Control Problem Solving Software Design Maintainability Computer Science, * Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, or a related technical discipline.
- 10-15+ years of professional software development experience.
- Expert-level proficiency in C programming.
- Strong experience developing software for embedded systems and/or real-time applications.
- Experience working within the full software development lifecycle (requirements, design, implementation, testing, deployment, and maintenance).
- Strong understanding of software architecture and design principles.
- Experience debugging complex software and system-level issues.
- Familiarity with version control and configuration management tools (Git, SVN, or similar).
- Experience with software testing methodologies, including unit and integration testing.
- Strong analytical, problem-solving, and communication skills.
- Ability to work effectively in a multidisciplinary engineering environment., * Experience developing safety-critical or high-reliability systems.
- Experience in rail signaling, transportation, aerospace, defense, industrial automation, or similar regulated industries.
- Knowledge of real-time operating systems (RTOS).
- Experience with Linux-based embedded systems.
- Familiarity with C++, Python, or scripting languages.
- Understanding of networking and communication protocols.
- Experience with model-based development or systems engineering methodologies.
- Familiarity with industry standards related to safety-critical software development.
- Experience supporting SIL-based or highly regulated product environments., CMake OpenCV Sensors Planning Teamwork Research Robotics Debugging Visionary SonarQube Leadership Innovation Algorithms TensorFlow Googletest Mathematics Reliability Artifactory Coordinating Azure DevOps Communication Deep Learning Sensor Fusion Linear Algebra Problem Solving Data Processing Computer Vision Customer Service Computer Science Machine Learning Object Detection Agile Methodology Docker (Software) Autonomous System Safety Procedures Project Management Workflow Management Amazon Web Services Software Development Artificial Intelligence Robot Operating Systems Engineering Design Process Agile Software Development C++ (Programming Language) Verification And Validation Hardware Platform Interface Git (Version Control System) Amazon Elastic Compute Cloud Python (Programming Language) Continuous Improvement Process PyTorch (Machine Learning Library) Light Detection And Ranging (LiDAR)
Benefits & conditions
The position offers a hybrid work schedule, allowing flexibility between remote and office work. The office environment includes cubicles and requires collaborative work with various engineering teams. The role involves using technologies suitable for developing safety-critical transportation applications. Job Type & Location
This is a Contract to Hire position based out of Pittsburgh, PA. Pay and Benefits
The pay range for this position is $70.00 - $82.00/hr.
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following: * Medical, dental & vision * Critical Illness, Accident, and Hospital * 401(k) Retirement Plan - Pre-tax and Roth post-tax contributions available * Life Insurance (Voluntary Life & AD&D for the employee and dependents) * Short and long-term disability * Health Spending Account (HSA) * Transportation benefits * Employee Assistance Program * Time Off/Leave (PTO, Vacation or Sick Leave) Workplace Type