My passion for computers dates back to when I was twelve years old. At the time, I independently assembled my first computer. Through the process of selecting hardware, I accumulated significant knowledge about what a computer consisted of and how the different components cooperated collaboratively — I was fascinated by this process. Throughout the summer holidays after high school, I took a trip to the California and visited Intel. The human intelligence demonstrated through the transition from a pile of sand to a sophisticated CPU left a deep impression on me. It was that experience that inspired me to focus my undergraduate major in electrical and computer engineering and to pursue a career in computer science.
The first specific field I came into contact with was web development. With approximately three months of hard work, my first personal blog website was completed. I encountered several barriers throughout the development process. One challenge I faced were how to manage the relationship between comments and sub-comments and it puzzled me for a long time. To solve this problem, I turned to my database textbook for assistance and reviewed important theories regarding the different mapping relationships between tables. What’s more, the requirement of improving concurrent processing capabilities compelled me to study operating systems and the Java virtual machine. This experience greatly enhanced my understanding of what I had learned in courses. Additionally, it also equipped me with the most up-to-date programming concepts, such as aspect-oriented-programming and the MVC structure. The sense of achievement I felt through such accomplishments further cultivated my determination to devote myself to computer science in the future. Notably however, frequently getting into trouble made me recognize my lack of knowledge, and that it is necessary for me to expand my knowledge on computer science.
This summer holiday, I was fortunate enough to be admitted by Microsoft as a software engineer intern, where I worked with the MMX team on the development of Microsoft Edge for Android. The first assignment I was tasked with was fixing a bug that caused the most visited websites not to update automatically. Debugging it was a great challenge for me not only because I had no prior experience dealing with such a big project but also because that several design patterns were frequently applied — something I was unaware of. During that period, I dedicated immense time to studying debugging skills and design patterns on a daily basis and I was finally able to work it out. The following task for my internship was to develop performance tests for the browser with Telemetry, an auto perf test framework. As I was new software testing, I spent two weeks reading its source code written in Python and JavaScript to figure out how this framework worked and how I could design my own tests. Finally, the auto perf tests I developed replaced the previous manual testing methods, and thus improved efficiency and accuracy. The experience of composing perf tests made me realize the importance of testing and the vital role it plays in software development. In the last month of internship, I utilized the singleton and observer design pattern to add the feature of selecting download directory to the browser, which would become available on the Microsoft Edge for Android in the near future. The three months that I spent working in Microsoft equipped me with invaluable development and testing skills as well as the necessary knowledge necessary for collaborating in a team. This new experience was the first step for me on the path of becoming a real software engineer.
In the future, I hope to acquire a software engineer position in big companies like Google or Microsoft, focusing on backend service and systems, developing impactful software for people worldwide and devoting the rest of my life to computer science. However, the more I have learned from projects and work, the more I have become aware of the immense knowledge I have yet to acquire along the path of pursuing my dream. This is one of the core reasons why I am determined to further my study at The University of Texas at Austin. I still remember the summer in 2018, when the professor in the department of ECE at UT Austin, Yale Patt, came to Shanghai Jiao Tong University and offered the course, Introduction to Computing Systems. He clearly demonstrated the overall working process of computers with interesting examples and metaphors, and since then, UT Austin has become my dream school. Considering my major, ECE, and my experience as a software developer, I am confident that the MSE in ECE with a concentration in Software Engineering is the most suitable program for me. I am especially interested in the EE382V Systems Programming course in that this course would assist me in gaining a better understanding of computer and software architecture, thus developing software with better performance. It is my heartfelt desire that I may continue my study in this program and become an outstanding software engineer after graduation.. Waral dи,