Sunday, July 15, 2012

Google Summer of Code and the University of Moratuwa

This is the eighth year of operation for Google Summer of Code, Google's highly unusual open source summer internship program for computer science students from around the world.

Google Summer of Code is a global program that offers post-secondary student developers ages 18 and older stipends to write code for various open source software projects. We have worked with open source, free software, and technology-related groups to identify and fund projects over a three month period. Since its inception in 2005, the program has brought together over 6000 successful student participants and over 3000 mentors from over 100 countries worldwide, all for the love of code.

I've been associated with GSoC for six of its eight years, the last four years as mentor, working with the Apache Derby project.

Interestingly, three of the four students I've worked with were undergraduates at a Computer Science school that you've probably never heard of: the University of Moratuwa, in Sri Lanka. Although the university is relatively new, its roots go back more than 100 years, as it was founded as an offshoot of the Government Technical School in Columbo.

I can imagine that it must be rather challenging for students at the University of Moratuwa to interact with other computer scientists around the globe, so the Google Summer of Code program has turned out to be a tremendous resource for the program. The school was once again the top participant in this year's GSoC program, and has placed more students with GSoC than any other institution.

It has been nothing but a pleasure to work with the students of the University of Moratuwa. They have all been hard-working, dedicated, serious students of computer science, eager to get a chance to learn more about the practicalities and issues of real-world software, and hopeful of turning their interest in computer science into a career.

I think that the Google Summer of Code program offers a significant benefit to these students. Often, an academic program in computer science is necessarily limited: the restrictions of time in the classroom make it hard to treat issues in depth, and the conversations are generally theoretical, as is appropriate for the academic setting.

But modern computer science involves tremendous practical challenges as well: engineers must become comfortable working as part of a bigger team, on large, complex, mature code bases, written by others who have since moved on, and may have left little in the way of documentation; successful engineers have to learn how to communicate well, be thorough about their work, attend to details throughout the project, and address all facets of a problem, including such aspects as testing, documentation, and bug-fixing.

The world of open source offers a great opportunity for gaining such experience. Apache Derby, for example, is a 15-year old codebase, worked on by hundreds of engineers over the years, with deep and extensive functionality. Moreover, as a full-featured DBMS implementation, Derby concerns itself deeply with issues of reliability, robustness, and maintainability, which are crucial for real-world projects. Lastly, the Derby community is an open, supportive, and welcoming group, with a great team of programmers who are always happy to discuss and explain the inner workings of Derby.

So, Apache Derby plus Google Summer of Code is a great fit.

Congratulations to the students of the University of Moratuwa for another successful year working with the Google Summer of Code: I hope all the students are benefiting from the program.

I've never had a chance to visit Sri Lanka; hopefully I will, someday. If I do, I will surely take the time to visit the University of Moratuwa and learn more about this institution.

1 comment: