Overview
Skills
Job Details
We are seeking to fill the Software Engineer role for an innovative rail engineering solutions provider and systems integrator company.
The ideal candidate is a San Diego resident with 10+ years of embedded software experience in C/C++ and Assembler, strong skills in multithreaded programming, and familiarity with real-time operating systems like VxWorks or ThreadX. Experience in 3D geometry, matrix calculations, and LIDAR point clouds is a plus.
Essential Job Functions/Responsibilities:
The Software Engineer plays a critical role in designing, developing, and maintaining software solutions that are reliable, efficient, and aligned with industry-specific requirements. This role requires technical expertise, project management skills, domain knowledge, collaboration abilities, and a commitment to delivering high-quality software solutions that contribute to the efficiency and safety of transportation systems.
- Lead the design and architecture of software systems and applications that meet the requirements of rail and public transportation projects.
- Write high-quality, efficient, and maintainable code using appropriate programming languages and frameworks.
- Develop and implement robust testing strategies, including unit testing, integration testing, and system testing, to ensure software reliability and functionality.
- Collaborate with stakeholders to define project scope, goals, and deliverables.
- Estimate project timelines and deliver software solutions within agreed-upon deadlines.
- Work in Agile development environments, participating in sprint planning, daily stand-ups, and retrospectives.
- Provide technical guidance and mentorship to junior engineers and team members.
- Conduct and participate in code reviews to maintain code quality and ensure adherence to best practices.
- Lead troubleshooting efforts and provide solutions to technical challenges and issues as they arise.
- Develop a deep understanding of the rail and public transportation industry, including operational workflows, safety regulations, and specific technological requirements.
- Design software applications that address the unique needs of transportation systems.
- Work closely with engineering teams, product management, quality assurance, and stakeholders to ensure alignment on project goals and requirements.
- Create and maintain technical documentation, including specifications, architecture diagrams, and user manuals.
- Ensure software quality through rigorous testing and adherence to coding standards and best practices.
- Ensure software solutions comply with industry regulations, safety standards, and cybersecurity requirements relevant to the rail and transportation sector.
- Stay updated with emerging technologies, tools, and methodologies relevant to software development in transportation.
- Propose and implement innovative solutions and enhancements to improve software performance, scalability, and user experience.
- Provide ongoing support and maintenance for deployed software systems, including bug fixes, updates, and enhancements.
- Collaborate with customer support teams to troubleshoot issues reported by clients and ensure timely resolutions.
- Implement and maintain robust security measures to protect software systems and data integrity, considering the sensitive nature of transportation-related information.
- Ensure compliance with data privacy regulations and best practices in handling sensitive data.
General skills (must have):
- A bachelor s degree in a relevant field, such as Computer Science, Software Engineering, or a related field, is required. Master s in Computer Science, Software Engineering
- 10+ years experience in embedded software a plus, written in Assembler, C and/or C++ 10+ years of experience
- Knowledge of how to code multiple threads spread over multiple cores to improve performance
- Some experience in software Verification and Validation activities (definition of test cases, etc.)
- Travel will be required as needed by the company to the Boston and New York areas.
General skills (nice to have):
- Knowledge related to a safety-approved operating system is a plus (VxWorks, ThreadX, etc.)
- Working mathematics knowledge related to 3D geometry, matrix calculations, and vector algebra (with focus on LIDAR point clouds)