Senior Software Engineer- Customer Integration - Brazil
Brazil
· Full-time
About The Position
Foretellix is a world leader in verification of autonomous systems. Our products allow the specification of abstract testing scenarios and execution of them in countless ways against customer autonomous vehicle (AV) software in simulators, to find bugs and validate with a coverage-driven approach.
The Integrations team is responsible for integrating the Foretellix toolchain into customers' development and release processes. The main areas of responsibility are:
- Runtime integration: developing the communication layer that allows the AV software to communicate to the Foretellix scenario execution engine via an RPC API. Debugging and troubleshooting customer- and use-case-specific requirements and edge cases. This is mostly C++ and Python development dealing with communications middleware.
- Systems integration: adapting our software's workstation and datacenter/cloud deployment architecture to the customer's requirements and systems. Docker, Linux services and administration, public and private cloud, Kubernetes experience are a plus.
- Simulator integration: developing the integration layer with AV simulators which are used by customers for their scenario testing. This is also mostly C++ and Python development, and may deal with different platforms, OSs and communication protocols.
What you will do:
- Work closely with the CTO, R&D, and Application Engineering to identify, define and analyze software challenges and design and implement software solutions.
- Work fully hands-on in coding, debugging, testing, and integrating, using object-oriented and aspect-oriented languages, primarily under Linux.
- Work directly with customers to find good software solutions to different issues and integrate with real systems at the vehicle and site levels.
- Design, build and integrate with modern DevOps and cloud infrastructures supporting all testing modes, including SiL, HiL, and vehicle testing.
- Build tools, interfaces, and processes to streamline and automate integration activities.
- Take part in technical meetings with colleagues, partners, and customers; participate in demos for (potential) partners and customers.
- Support other team members and engineers.
- Learn new domains, tools, and languages.
Requirements
- A Senior Software Engineer with at least 5 years of experience in object-oriented software development and programming (OOD-OOP).
- Proficiency in developing significant native Linux software using C++.
- Experience working with multiple programming languages, toolchains, and operating systems.
- Experience working with Docker.
- Experience with cloud technologies, architectures, and operations.
- Experience working closely with customers.
- Experience integrating and troubleshooting software components in distributed systems at the operating system, networking, application, and system levels.
- B.Sc. in Computer Science, Information Systems, or related fields.
- Experienced in software architecture and algorithm development.
- Be communicative and fluent in English, both verbal and in writing.
- Self-learner, highly motivated, self-paced.
Advantages:
- M.Sc. or above in Computer Science or related fields.
- Experience with scalable orchestration technologies, preferably Kubernetes.
- Experience with Python/Java/JavaScript.
- Previous experience in the automotive industry, particularly AV/ADAS.
- Previous experience in any of the following fields:
- Middleware, messaging systems
- Containerization, orchestration, and high-performance computing
- Simulators
- Robotic systems
- DevOps