Software Engineer - Engineering Process

Munich
Software Engineering – Engineering Process
Full-time
We are AID GmbH: 
AID-Autonomous Intelligent Driving is bringing together the world’s top software, roboticists and AI talent to ignite a human centered revolution in autonomous driving. By understanding the human challenges as well as the engineering ones, the technology we are testing today on the streets of Munich will become the backbone of a universal self-driving system – capable of improving life in urban environments for billions of people. With the agility of a start-up and the support of Audi (VW Group), AID is free to craft an autonomous world that works for everyone – from manufacturers to passengers to city planners to pedestrians. For us, the future isn’t about merely making vehicles more autonomous, it’s about making people more autonomous.

The Engineering Process team is creating a world class Engineering System in which up to a thousand engineers can collaborate safely and effectively on a single code base. This means creating a system that is scalable, intuitive and highly automated. We want the Engineering System to be self-service, to empower engineers to do the changes they need without unnecessary red-tape. We want a system that makes it easy to do the right thing, and conversely prevents people from breaking stuff. To succeed we are building a pipeline that builds, runs tests and simulations and deploys to real cars, automatically, every day, many times per day.

As a Software Engineer in our Engineering Process Tools team, you will work on projects critical to our needs with opportunities across a range of teams and projects as both you and our fast-paced business grow and evolve. We need our engineers to be versatile and enthusiastic so they can take on new problems across the full product stack as we continue to push technology forward. Consequently, we're looking for people who bring fresh ideas from all areas, including information retrieval, real-time systems, distributed computing, cloud system design, networking and data storage, security, artificial intelligence and more.

Responsibilities:

    • Design and implement our massively scalable cloud-based build cluster
    • Maintain and monitor our hybrid cloud consisting of AWS GPU instances and on-premises specialized hardware
    • Implement monitoring system for the distributed build that allows extracting various KPI:s and identifying bottlenecks
    • Optimize and extend our bazel build system with new toolchains, new programming languages and frameworks
    • Implement tooling for code quality and conformance into our developer’s desktops and into the CI/CD pipeline
    • Provide guidance to our developer community on compilers and optimizations
    • Act as mentors for the organization, developing and enforcing best practices in code style and safe programming.
    • Incorporate containerization solutions such as Docker and Kubernetes
    • Integrate functional safety and security concepts
    • Design and build the linkage between all test infrastructure including SIL, HIL and hybrid systems and make these systems available on each developer’s desktop
    • Develop the work processes that allow the Engineers to work effectively and safely on the code base

Requirements:

    • BA/BS (preferred: M.Sc) degree in Computer Science or similar technical degree, or equivalent practical experience
    • Experience with C++ and general purpose programming languages including but not limited to: Java, Python or Go with an interest and ability to learn other languages as needed
    • A passion for structured code and making software engineering in general a breeze at AID
    • Experience of using version control, build and test integration solutions, in particular Bitbucket and Bazel
    • Experience working with Orchestration of MicroServices with tools such as Kubernetes or Docker Swarm etc.
    • Knowledge of modern DevOps practices and tools would be beneficial
    • Experience working with two or more from the following: realtime systems, cloud application development, Unix/Linux environments, embedded development, distributed and parallel systems, machine learning, information retrieval, networking, developing large software systems, and/or security software development.
    • Ability to speak and write in English fluently and idiomatically
Life at AID GmbH: 
Our state-of-the-art offices are in the heart of beautiful Munich. We’re an agile, creative and dynamic start-up with people, innovation and teamwork at the core of our values. We reward our employees with excellent salary and benefits packages including, on-site language courses, mobile phone, subsidized lunches in the company bistro, subsidized gym membership, social events, BBQ’s and much more.
 
We value diversity and as an equal opportunities employer we encourage applications from all suitably qualified individuals. AID is a multicultural organization with employees from over 40 different countries, as such we provide visa and relocation support to all new employees. As an organization our primary business language is English, so where possible please provide a copy of your resume in English.
 
What are you waiting for? Help us to build the future.