This past week Microsoft held its annual Faculty Summit (ref. 1, ref. 2, ref. 3). This is a conference where faculty members from the top research universities within the United States are invited to attend. (Actually, this year there were many invitiations sent to faculty from my university (SUNY Stony Brook). Many of the invitees attended, more than in any previous year.). The conference focuses on what academia can do to help forge new partnerships with Microsoft and forge ahead in their own research to create new and innovate products or technologies.

I've always been one to state that the relationship with research is a very important one to make since there are indeed many interesting things going on there. My problem, however, has always been that much of this wonderful research stays as just that... and doesn't end up in a product that positively affects the lives of everyday people.

From the perspective of Microsoft, this is a wonderful partnership. Microsoft's definitely on the right track with programs such as their University Relations program (that I was working with for the past 5 years as Student Consultant representing Microsoft @ Stony Brook). From the standpoint of an academic, it should be a wonderful partnership as well. As great as this partnership may be currently, I still think that it could be better. And as surprising as it may be for some out there, I believe that most of the improvments that can be made are on the side of academics (and not Microsoft). Let me explain...

Firstly, some academics must give up their mentality of “Microsoft is evil”. Come on, you have a Ph.D.... Quit being childish. Microsoft OS's run on 90%+ of the world's desktops and ~40% of the world's servers. This is not something you can just duck your head in the sand and pretend will go away as if you were an ostrich. In order for Windows to get better and applications that run on Windows to get better, students at universities and colleges must be taught using the latest technologies. They must be exposed to Windows as a development platform. I'm not saying that teaching UNIX is not important, because it is. It is very important for undergraduates to know what happens inside of an OS. However, teaching students strictly UNIX will not make Windows or Windows applications any better. Heck, at the very least you want to expose students to as many different platforms and technologies out there so that they can be well-rounded. Further, teaching students strictly Java isn't a solution either. I'm sorry, but creating a UI in Java and running the application on Windows with the JRE does not make it a “Windows application”. Students should be being exposed to .NET as much as they are being exposed to Java. Heck, I'm even going to go as far as saying that they should be exposed to C++, if not for any other reason but to understand memory management and pointers better.

Secondly, Engineering Departments at universities and colleges should encourage (and require to a certain extent) their student body to engage outside of class. This engagement should be individual or small teams engagement in some itneresting projects. It's one thing to encourage students to do this, but it's a whole new ball game when the department actually takes notice of what's being done by students. I firmly believe that students will learn as much or more from these independent engagement projects than from the classes that they are taking. At the very least, it will complement what they are learning in classes.

Thirdly, think outside the box when it comes to research. I don't just mean this as a cliche. Seriously. When it comes to research think of cool things that if mentioned today people will think that you're insane but in 5, 10, 15 years down the road will become so commonplace that no one will even stop to think how this came to be. Simple is better. Practical is better too. Some of the best ideas that ever came to fruition were really simple (ie: the “DUH! Why didn't I think of that!” ideas).

So, as I begin a new chapter of my life at Microsoft (and with “production“ of my Photo Album WS), leaving this world of academia behind for a while (well, at least for now) these are just some of my thoughts on how to reach students in a clearer fashion. In effect, making sure that students are being taught in a correct fashion with the right mix of technologies and architectures is crucial. It's important for non-academics to peer inside of how academia is working and provide feedback since they will be hiring students in a few years once they are ready to leave academia.