UI Development Intern Experience at Broadcom
My name is Prisha and I had the wonderful opportunity of interning at Broadcom this past summer as a SWE Intern. I worked as an UI developer working with the WatchTower Team.
I’ve been involved in standups with the Dashboard Team for WatchTower while developing my own feature for the 1.2 WatchTower release: ML Insights. This new page, which will be integrated into the WatchTower settings, simplifies the creation of monitoring rules for metrics. It enables machine learning on specific metrics and limits the creation of alerts based on the severity set on the rule. Instead of manually editing a configuration file, users will have a more streamlined and user-friendly interface to manage their metric rules and alerts.
Challenges in UI Development
Initially, I struggled to get started due to my limited experience with React and TypeScript, as well as my confusion with the System we were working with. However, with guidance from my mentor and team, I made significant progress. Following my mentor's advice, I began by working on a test project where I experimented with various components of the system, which I later integrated parts of into my feature. Through this, I was able to finally understand the system and its components.
Team Collaboration and Support
It was my first time being part of a team and participating in an agile environment. It was really nice to have daily standups where I could share my progress, ask questions in the parking lot, and give demos. During the demos I got feedback from my team members about design and certain code practices which helped me better my coding practices. I was even able to give my insight on the demos my co workers presented.
I was able to reach out to many individuals at the company who were patient with me and answered any questions I had. I got multiple walkthroughs on WatchTower and what it does so I was able to understand where my feature would fit in.
Learnings
I've come to appreciate the value of creating an architectural diagram before diving into coding. By outlining how each page and component will be structured, I can plan the implementation more effectively. This approach not only helps me foresee and prevent potential issues but also serves as a valuable reference for future developers working on the feature. An architectural diagram acts as a knowledge transfer, ensuring that anyone who takes over the project has a clear understanding of its design.
Architectural Diagram:
I also gained significant experience with Git and enhanced my skills in writing test cases using Playwright and Jest to ensure comprehensive coverage. I actively participated in creating pull requests on GitHub, which were then reviewed by my team. This process provided me with valuable, constructive feedback and insights into best coding practices.
Throughout my implementation, I encountered numerous coding bugs, but my team was there to support me every step of the way. I learned how to effectively resolve and debug issues using breakpoints and received advice on writing cleaner code and adding comments to simplify debugging. This collaborative environment greatly enhanced my problem-solving skills and coding proficiency.
Overall, I had a wonderful time at Broadcom! I got to form great connections with my co-workers and loved being able to come into the office everyday. It was such a rewarding experience when I was able to implement everything my managers and co-workers taught me. Broadcom has given me technical and soft skills that I will be using in my future career path.
UI Implementation: