Our team writes software that controls driverless subway trains in real-time. We have deployed driverless train control software in dozens of cities around the world, including London, New York, Hong Kong, Singapore, Toronto and Vancouver.
You will work on code that does real-time supervision of trains, allowing remote control, monitoring and scheduling of train movements in busy urban environments. Our system moves millions of people every single day and must be reliable and rock-solid. We want top programmers who can design software systems for these demanding conditions.
If you have a passion for innovation and are interested in joining a dynamic, fast-paced team, Thales may be the right fit for you.
Key Job Functions
- Understands & follows the company’s processes & procedures for developing mission critical software
- Develops real time systems in C
- Writes requirements, designs, codes, debugs, writes test procedures & tests software code
- Reviews requirements, design documents, code, test procedures & test results
- Analyses & implements correction for defect reports
- Performs engineering testing and analyzes issues from the field
- Solves technical tasks in a timely manner to improve team performance; looks for opportunities & suggests improvements
The successful candidate should possess an Electrical or Computer Engineering degree or equivalent.
- 5+ years of working experience in software development in C/C++
- Command of scripting languages, preferably Python
- Experience with black box and white box testing and continuous integration frameworks
- Familiar with source control tools (git, ClearCase, etc.), static analysis (PC-lint, Coverity, etc.), build system automation
- Excellent analytical skills, able to diagnose issues based on field logs & correlate events to failures
- Strong technical writing & communication skills
- Excellent team collaboration skills, writing & verbal skills
- VectorCAST/C++ or other unit/component test tools
- Embedded development for ARM based microcontrollers or other embedded platforms
- Familiar with Linux, GCC, Eclipse, ARM/Keil tools, TCP/IP, Ethernet, SDLC/HDLC, CAN Bus, RS-232, RS-485, National Instruments products
- Familiar with agile work environments, test-driven development, & continuous integration
- Working knowledge of modern software engineering practices, methods & tools
- Experience developing for safety critical systems (CENELEC, DO-178B/C, etc.)
- Experience with large mission-critical & multi-platform heterogeneous systems
- Comfortable with oscilloscopes, multi-meters, logic analyzers, electrical schematics, lab environments, on-site test & debug