Statement of Objectives
 

Main Page
Blog

Projects

Social Networks
Objectives
Biography
Open-Sourced Code
For Recruiters
Contact Info
Schedule

This is the Statement of Objectives that I have submitted in support of my application to MIT's PhD program in Computer Science. It reflects what I hope to accomplish over the next few years.

 

I am MIT's prodigal son. I came to MIT driven by my passion for coding and my desire to build great software, and propelled by the momentum of successes in International Olympiads and in an ACM programming competition. Two years later, I was jaded. It seemed that great software requires legions of developers manipulating bloated code bases in repetitive ways. I turned to management, so I would lead the legions that would build great software. Later, I read Paul Graham's essays, picked up Ruby on Rails, and regained the belief that I can build great software by myself or, even better, with a few friends. No legions required. Now, I want to share this rediscovered joy with others, and hopefully reduce the migration of smart hackers to management, consulting, and finance.

The Stata Center is the perfect headquarters for my goals, as it is the home of many luminaries who are defining our future in technology. I want to be inspired by them, and learn from them how to design large-scale systems, programming languages, and user interfaces. I will also take advantage of the opportunity of being a teaching assistant for undergraduate MIT classes, in order to understand how passionate students build software, and draw inspiration from fresh approaches to programming. Most importantly, I plan to funnel the newly gained inspiration and knowledge into research that will advance software development, and make it more enjoyable.

My current and previous research experience is in line with my goals. I spent most of my undergraduate career building frameworks that pushed the limits of Palm's OS and Microsoft's Compact .net Framework. My work has simplified the development of social educational games on mobile devices. Currently, I am designing a chip and platform that will improve application security, in collaboration with MIT's Trusted Computing Group, under Prof. Srinivas Devadas. The driving goal behind the chip is making secure designs easier to implement than designs with broken security. This is clearly not the case today, as shown by the security flaws found in all the software we use. In the Web 2.0 era, where security issues pervade across all branches of software development, my work has the potential to make every developer's life easier.

I identify myself with MIT's motto of Mens et Manus and truly believe in the Institute's culture of openness, as demonstrated by the methods I used in my research. The secure chip architecture was built to solve real problems in the software industry. Throughout the design process, I maintained a working prototype of the chip, which ensured the practicality of my approach. I aggressively open-sourced the infrastructure code that I wrote during my research, including a smart card extension for the Ruby programming language. After my thesis was submitted, I published the prototype software under the MIT license so other researchers can learn from it, and build on top of it. My code has received outside contributions, which are the hallmark of a viable and successful open-source project. I have also published my research findings in the Lecture Notes in Computer Science for the CARDIS 2008 conference. Last but not least, I blog about the petty technical problems I encounter, and publish solutions, so researchers with similar interests don't have to duplicate the grunt work.

I believe I can make a significant improvement to software development. I have the drive and skills to research beyond the current state in software development, as well as a passion for sharing ideas and influencing others. Throughout my participation in MIT's Undergraduate Research Opportunity Program, I have been the technical lead for 9 MIT students who learned and used my frameworks. While completing the Master of Engineering program, I have supervised 2 students' Advanced Undergraduate Projects, which exposed the students to my research. During my Masters year, I was a teaching assistant in a foundational Computer Science course, where I used unconventional teaching methods, including offering help via Instant Messenging, and making recitation material relevant to undergraduate life (for example, designing algorithms to use Facebook efficiently). In return, my students allowed me to help them become better programmers, and I gained a better perspective on the acquisition of software development skills.

I hope that my application shows that I am deeply motivated to advance the state of software development, as well as capable to create the new architectures, paradigms, and models that will lead the way to happier programming. I hope to gain access to the best people in my field, and have the freedom to explore past the conventions of software development, without the pressure of quarterly targets. In return, I will deliver awesomeness!