You are responsible for the optimization and uniformization of all development, build and release processes within Auro Technologies’ R&D Department.
Your targets are:
– monitoring and improving the quality of the source code and released products,
– shortening the time between commit and release and enhance the actual source code development itself. To achieve this, you will need a deep understanding of how build systems work, how your colleagues work and how this can be improved in a non-disruptive manner.
1. Result Areas
- Monitor and control
- Check the status of the build on a daily basis, either correcting problems yourself, or delegating them to the respective developer
- Produce an overview of the source code base and its quality, based on metrics such as code coverage, cyclometric complexity, code reviews, etc.
- Ensure that the time required to complete a build and its tests remain within reasonable limits
- Keep the effort needed to setup a development system reasonable
- Minimize the dependency on external tools required during development and testing
- Reduce the total build time, both on the build server as the build time experienced by developers during development
- Develop and maintain
- Maintain and improve the build system currently in use. This is an advanced system that can build executables, shared libraries and archives for different platforms and language specifications while explicitly restricting the dependencies between different modules.
- Maintain and version-control the build servers and compile farms
- Expand and improve the developer interaction with our source code base such as running unit or end-to-end tests, producing releases etc.
- Quality, improvement and process
- Introduce new tools to improve the quality of the source code, allowing the build servers to detect problems upfront
- Introduce new best practices and processes to improve the quality and uniformity of the source code and its knowledge (e.g. code inspections)
- Improve the ergonomics and efficiency of a development PC
- Document the processes in a concise and clear manner
- Deep understanding of build systems and the compilation and linking process
- Cook, Ninja, CMake
- Experience with different compilers, toolchains and OS’es
- MSVC, GCC, CLang, ADI-CCES, TI-CCS, Crosstool-NG, Android-NDK
- Linux (PC and Raspberry-PI), Windows, macOS, Android, …
- Experience with code and execution analysis tools
- Valgrind, ASAN, perf and gprof, lint, Gcov
- Dashboard and reporting experience
- Experience with Continuous Delivery and build servers
- Jenkins with pipeline architecture
- Knowledge of both C and C++ is required
- Software version control with GIT and submodules
- Good knowledge of scripting and automation, hands-on experience with ruby/rake is a bonus
- Fluent in English
persistent in reworking and continuous improving a process or tool, excellent communication with all roles and profiles in the project, strong visualization skills to better understand and optimize the process, quality-minded and strong cooperation.
You will be part of a team working on the development and deployment of new technologies for OTT (streaming) and Broadcast applications aim to bring the AURO-3D immersive sound and interactive experiences to the user on a myriad of devices such as AVRs, soundbars, TVs, smart speakers, connected cars, mobile devices, etc.
We offer you a position as a consultant (minimum duration 12 months) or a fixed permanent contract within the fascinating world of audio high tech and engineering.
The work location is situated in Mol, Belgium.
We provide a total package with on one hand training, coaching and a close follow up and on the other hand a balanced salary package based on your capabilities and experience. …
Interested? You can send your résumé and covering letter to firstname.lastname@example.org