Little Context: I work on a product that is distributed system with ML and large data processing pipelines, with all the fancy terms and components. But I work on a specific component that in itself is not much more complex than a microservice. I do jump on every opportunity to work on cross-team projects in order to expand my knowledge and to be honest, I understand my company's architect very well. At least, I know what is there. Why is it there, that part I am not confident about?
Since I wasn't one of the first few engineers there, I don't know why it is architected the way it is. I haven't experienced the tradeoff that they had to make to build the system, the way it is now. And this learning I have been craving for some time.
I have been reading all about distributed systems for a year and a half. Read that famous Designing Data-intensive applications book page to page, and a few other popular courses and resources. But I want hands-on experience.
What actions can I take to optimize and practice my learning about building distributed systems?
I acknowledge that this "distributed systems" is a highly overloaded term, but ideally, I want to practice building more complex and end-to-end systems.
In what sense? Do you know what aspect you would like to focus on? For instance, I really love data science and Machine Learning Engineering meaning I need to know about models serving environments, how to hook those up to data pipelines and the like. I've never had what you had professionally so I am slightly jealous, but maybe we can talk about where you want to be?