I've never been vocal on here who I work for (or what I do exactly on my job) and I want to keep it that way in the future (although I don't hide it). Nevertheless my time at Aptiv is coming to an end. I started there in 2018 as a student and became a full-time employee in 2023 as a DevOps engineer. I'm looking back at more than seven years with the company and I want to take a moment to reflect on my journey.
The Greenhorn
Let's turn the clocks back to 2018. I just switched universities, was in a fresh relationship and was looking for a job. I applied for a working student position at Aptiv and for the first time in my life I had to go through a "real" job interview at a big tech company (Aptiv at the time had ~250k employees). I joined a couple of weeks later and was thrown into the deep end learning automotive software development processes. I was a greenhorn, but had a couple of good mentors around who gave me a lot of freedom to "just get stuff done" but at the same time introduced me to concepts I never heard of before lika ASIL, ISO 26262 and ASPICE.
Back then we were just 2.5 developers maintaining the CI system for a big project (I'm not naming OEMs here, but you'd know it and on our side alone there were hundreds of developers involved). Over time our team grew and at peak times we were 10 developers for the CI/CD system alone.
Why do you need 10 people for a CI/CD system?
Because you don't have a CI/CD system yet. I won't spoil too much here, but CI was project specific so you could have one project that used a whole test fleet based on a virtualized cluster running a distributed Jenkins setup, while another project had the one magic desktop the build had to pass on to be called "release ready". Back when I joined we had two tower PCs with Jenkins installed and three pipelines that executed some basic build and analysis tools. One of my first tasks was to actually rebuild a VBA macro in Perl (the only time I ever touched and hopefully will ever touch Perl). After that we switched to Python and NodeJS for tooling. And there were a lot of tools to develop.
During my time at Aptiv I've seen, evaluated and architected multiple CI/CD setups ranging from a single open source repo to globally scaled, cross-project architectures. Let's just say, automotive CI is a lot different from what you'd see when developing a web or native app or a cloud service. To give you a sense of scale: One standard pipeline we had, that was basically just calling a bunch of tools with a oneliner command to build, analyze, test and report on changes ran into the "method code too large" error in Jenkins every now and then. These pipelines also took ages to complete (full clean build with reports could take up to 12 hours while normal buidls took ~2 hours).
To manage these systems and especially to optimize them, you need a full team and this is also the situation why I believe that DevOps is a real role, but you should only apply it in big projects.
I also did stupid stuff
One of our interfaces with the customer was an artifact storage (in our case JFrog Artifactory) where they uploaded stuff on their end and we provided releases. These had to be syncronized between companies.
That was the first time I actually had to deploy a "server" within the company and while it was hacky, NGINX is a hell of a thing and with a little auth setup we were running fine. There might've been a time where I accidentally deleted the whole artifact storage and had to restore it by downloading everything from the customer because we didn't have a working backup, but hey, chances to learn something the hard way are rare these days, right?
Touching new stuff
Everything up to here was already new to me, but it got kind of crazy when my boss had one of his "you can do this" moments and e.g. asked me to set up a Kubernetes cluster (with another student) or build a whole server cluster with a storage node and hypervisor setup or the time we "just learned" Ansible because the number of machines just weren't manageable by hand anymore. Every time it was a new challenge and looking back there were a lot of things I would do differently now, but overall it worked out great and enabled us as a team to deliver one of the best CI/CD systems in the company (as rated by an external team).
Becoming Full Time
In 2023 the project was ramping down, some of the team had left the company and some had moved internally. This meant there was no option for me to join the team I've been working with for the last five years full time after finishing my degree. Luckily my first boss had moved internally and remembered me (or to be more precise we were still kind of working together and he was waiting for me to finish my degree). He offered me a position in his team as a DevOps engineer, now working on a global level within Aptiv and I gladly accepted.
Things changed quite a bit. I no longer had to fight with physical testbenches or hyper-fitted solutions to one project, but instead handled cloud services and configurations that could block thousands of users if something went wrong. At the same time I got the opportunity to join a team expanding Aptiv's usage of next gen build systems like Bazel that enable globally scaled remote caching and allow to use a whole suite of new tools in a reproducible way.
After doing a couple of things on the side like supporting the introduction of GenAI tools at Aptiv, consulting the global DevSecOps team on how to improve their global CI/CD architecture or being involved in rolling out WindRiver Studio Developer within Aptiv, my direct boss and I were able to finally build a whole team around the whole build system stuff, adapting it to the needs of the automotive supplier industry.
Building all of this and being a member of a globally scaled team was a great experience and it taught me not only how to build and maintain such systems, but also how to work with and lead a team.
Why am I leaving?
Aptiv has been a great place to work for me and I'm grateful for all the opportunities I had. Nevertheless, there were things I didn't like. During my time there, Aptiv closed my original office and moved me to a new location 100km away. This means driving to the office takes me about 3 to 4 hours round trip. At the same time I'm working in a position where all of my colleagues are at least one country away and still a fully remote position was not an option. This was a big factor in my decision to leave. Home office was not the only thing I missed, but I won't go into details here. Aside from that, I actually received an offer by a company where some of my old colleagues moved to and they offered me a position that is fully remote.
Moving On
So I'm moving on. I'm switching industries from automotive to payment processing and I'm looking forward to the new challenges ahead. I will also officially be a product owner for the first time in my career.
I want to thank everyone I had the pleasure of working with during my time at Aptiv. I learned a lot and I'm grateful for all the experiences I made. I will miss you all, but I'm looking forward to staying in touch and maybe even working together again in the future.
Shoutout to the CI-Joes - I still miss the old times and to the ARB team - you rock and I hope you will continue to expand on the great stuff we achieved together.
To me moving on means so much more than "just another entry to my CV". I'm sad to leave the old behind, but I'm also excited for the new adventures ahead.
For legal reasons: Everything I wrote here is my personal experience. Every detail mentioned about my previous employer is based on publicly available information.