Interning with YUI

By YUI TeamSeptember 5, 2013

Prior to my arrival, I didn’t know what to expect. This was my first internship, and all I was worried about was not being known as the intern who crashed Yahoo, or broke YUI. At the same time, with JavaScript being my favorite language, I was excited to be interning with a team that developed a major JavaScript framework. My manager, Jenny Donnelly, did an excellent job of helping me settle in to my work environment, then I hit the ground running trying to learn YUI with the YUI 3 Cookbook.

On my first day, PureCSS was just released, and there was a lot of excitement in the community about this new "easy to use" CSS framework. My first task was to help Tilo Mitra develop a new layout for the layouts page on the Pure website. I was amazed how lightweight Pure was, and how easy it was to develop a complex layout that maintains responsiveness.

Soon after working on the layout for Pure, I started fixing bugs for MetroTester, the native WinJS app YUI uses to run tests on Windows 8. YUI had recently hired Clarence Leung, who interned last year, and he helped me get familiar with the Windows 8 JavaScript API, WinJS. It was cool learning that JavaScript could be used to develop native Windows apps for its app store.

Working on Pure and MetroTester was a great way for me to get used to my work environment, submit a few pull requests, and run tests. Leading up to this point, Jenny asked me to come up with a project idea that I would like to work on for the rest of the summer. Being a young developer, my primary goal was to learn the best software engineering practices, specifically for building large-scale JavaScript applications. I started a project called PearlEdit, which was a web page WYSIWYG editor. I learned how to develop an app using the MVC pattern using YUI’s App Framework and ExpressJS.

I realize that after spending my last three months exploring many of YUI's modules, there was no way that I would have made the same amount of progress that I have with building my summer project using vanilla JavaScript. When building large-scale applications, structure is important, and the App Framework allowed me to write a scalable and maintainable application. I refer to YUI as a full "Front-end stack". Users are able to develop modular applications with a uniform stack, without having to mix in various libraries and MVC frameworks.

My time spent with YUI was an invaluable experience that has changed the way I code. I learned a lot from working with an excellent group of engineers, and their ability to answer any question served as a valuable resource. I consider myself fortunate for being able to work with a team that has a history of making many contributions to the JavaScript community. Upon my arrival back to school, I'll be happy to tell my friends why they should use YUI and about an amazing summer with both Yahoo and YUI.