Contributing to G-Research OSS projects as an MLH Fellow is a transformative experience for me since it allows me to contribute to ground-breaking G-Research projects.
G-Research is Europe’s leading quantitative finance research firm. We hire the brightest minds in the world to tackle some of the biggest questions in finance. We pair this expertise with machine learning, big data, and some of the most advanced technology available to predict movements in financial markets.
G-Research | Leading Quantitative Research and Technology Firm
I have the privilege of being involved in G-Research‘s open-source division projects. This division focuses on researching and implementing open source solutions that are relevant to G-Research’s work. But their efforts extend beyond G-Research itself, as they actively contribute to the improvement of the F#, C#, and .NET Core ecosystems, benefiting not only G-Research’s engineering teams but the broader developer community as well. In line with this, I have the opportunity to work on an exciting project called DotNetPerfMonitor.
DotnetPerfMonitor is an automated system for monitoring the performance of various components in the .NET ecosystem, including NuGet, F# compiler, C# compiler, and MSBuild. It builds upon the foundation of the NuGet Performance Monitor and expands its functionality to encompass a broader range of tools and technologies.
Being involved in the DotNetPerfMonitor project, I had the privilege of receiving invaluable support and guidance from two key individuals: Marcin Krystianc, the dedicated maintainer of DotNetPerfMonitor, and Damir Temir, our esteemed Pod leader (POD 23.SUM.B.1). Marcin’s expertise and deep understanding of the project were important in helping me understand it properly, providing valuable insights and suggestions that pushed my contributions forward. Damir’s leadership and mentorship were incredibly helpful, as he provided guidance, led discussions, and ensured my daily progress was aligned with the project’s objectives.
MLH Fellowship – Office Hours
To ensure effective collaboration and progress on the DotNetPerfMonitor project, we established a communication channel through weekly office hours with Damir and Marcin. These office hours served as dedicated time to discuss the project’s progression, address any challenges encountered, and plan for the next set of tasks. During these sessions, we engage in meaningful discussions that allow for knowledge sharing, problem-solving, and alignment on project goals.
Open Source Contributions
Throughout my time working on the DotNetPerfMonitor project under the guidance of Marcin Krystianc and Damir Temir, I had the privilege of making significant contributions to the project.
One of my key contributions was designing the performance monitor dashboard and implementing a data visualization feature that provided clear and intuitive graphical representations of performance metrics.
In collaboration with Marcin, I optimized the codebase’s quality for the DotNetPerfMonitor project. We implemented code linters and established CI/CD workflows using GitHub Actions to ensure that the code adhered to best practices and maintained a high standard of quality.
We also collaborated on setting up many CI/CD workflows for the DotNetPerfMonitor project. One remarkable workflow was the one responsible for the deployment of the performance dashboard to GitHub Pages via GitHub Actions. This allowed us to automate the process of deployment.
Leveraging Github Actions capabilities, we automated the process of running benchmark tests by scheduling a cron job to trigger three times daily. The results obtained from these tests were then added to our database file, which was automatically committed to the repository. Thanks to the Auto-Commit feature. This ensured that the latest performance data was readily available for analysis and visualization.
By actively participating in code reviews, providing feedback on pull requests, and engaging in discussions with Marcin, I consistently sought opportunities to improve the project’s functionality.
It was immensely satisfying to see my contributions accepted and merged into the main branch. These contributions made a noticeable difference in the project and had a real impact. One remarkable result was the sharp rise in GitHub repository activity. Additionally, the user-friendly interface and insightful visualizations of the performance dashboard won praise from reviewers. These successes confirmed the importance of my contributions and served as proof of Damir’s quality leadership and Marcin’s incredible guidance.
Contributing to DotNetPerfMonitor has been a truly life-changing experience for me. It has allowed me to immerse myself in a project that aligns with my passion for open source and collaboration. The knowledge gained and the skills sharpened have had a profound impact on my personal and professional growth.
As the MLH Fellowship 23 SUM nears its end, I am filled with a renewed sense of determination and commitment to give my best until the very end. I am ready to continue making more meaningful contributions, leveraging my skills, and collaborating closely with Marcin to further enhance DotNetPerfMonitor. I personally love the project, and contributing to it has really solidified my passion for open source. I am grateful for this opportunity and excited to see where the remaining days of the MLH Fellowship will lead us.