Microsoft’s failure to penetrate higher ed environments

I’m a computer science undergraduate student at the University of Maryland. This is my last semester, so I’ve seen most of what the CS department at UMD has to offer. And I’ve come to one conclusion: Microsoft is not doing well in educational environments, and as a result, most computer science graduates aren’t familiar with Microsoft’s software development programs and will not choose to use them after they graduate and go on to hold jobs if they are offered the choice.

Academic environments at the university level tend to be very Unix-y. University of Maryland is no exception. All of their servers are running Linux, Unix, Solaris or other variants. I’m not aware of any Windows servers that are run by the department (nor the campus-wide OIT servers, for that matter). All of the department’s computer labs are running Linux (some can dual-boot into Windows 2000, but I don’t see it very often), and most of the professors’ personal computers are running Linux as well, except for the professors who are using thin clients connected to a Unix server.

The impact of all of this is that students are never exposed to Microsoft programming products. Yeah, everyone knows Microsoft Word, of course, but nobody is learning tools like Visual C# .NET or other proprietary Microsoft languages and software. All of the programming assignments are done on the Linux/Unix/Solaris servers. You can write your code on a Windows desktop, but if it doesn’t compile and run on the server, you’re hosed. And since many of the languages we deal with aren’t inherently cross-platform (and some aren’t even free, like Allegro Lisp, which I used in two classes), most students end up SSHing into the servers and writing and testing their programs from the command line. So everyone is learning and using command line *nix stuff.

Now compare this to the lack of penetration of Microsoft products. At my job at NIST I was writing programs in Visual C++ .NET and Visual Basic .NET. It took me a little while to get acclimated to all of Microsoft’s proprietary libraries (such as MFC) and IDE because none of it is taught at University of Maryland, at all. There’s one guy in the CS department who I know to be referred to as the go-to guy for Microsoft stuff, but that moniker is actually dripping in irony. He’s a huge Linux zealot, but due to extenuating circumstances (I imagine), he ended up learning and using Microsoft products. But he doesn’t particularly like them, and he’d never choose to teach a class using them rather than all of the *nix infrastructure that the department already has.

I don’t have a lot of other data points, but I suspect it is largely the same across the nation. When I visited Carnegie Mellon I saw that their computer science department was heavily Linux/Unix-biased. If anyone has any other anecdotes, I’d love to hear them. All of the non-computer science department computer labs on campus are Windows and Mac, but they’re just for people who are using computers for non-programming purposes. People who are actually using computers to program computers almost exclusively use Linux. And it doesn’t bode well for Microsoft. Their failure to penetrate higher educational environments is hurting their ability to penetrate into production environments. And it certainly adds a big training cost to their hires of recent graduate, who have to be retrained on the “Microsoft way” of doing things.

3 Responses to “Microsoft’s failure to penetrate higher ed environments”

  1. Alfred Thompson Says:

    Why do you think this is? Why the faculty bias towards *nix and against Microsoft?

  2. Cyde Weys Says:

    I wouldn’t say it is bias necessarily. There’s lots of reasons they gravitate towards *nix. For one, very few of them learned on Microsoft products (this is just a chronological issue). Microsoft products are expensive, and a lot of the teachers wouldn’t push that on their kids. For instance, none of the teachers are going to require anything be done in Microsoft Visual C++ .NET because the students don’t have free access to it. Compare this to gcc, which anyone can download freely, and the department runs on their servers at minimal cost. Microsoft IDEs just don’t work at the same economies of scale.

    It might be in Microsoft’s best interest to make their tools freely available to universities, so that once the students graduate and go into the programming world, they’re ready for Microsoft stuff. But in the mean time, it’s just not an attractive alternative. I do have a bit more I could say on this issue with a little bit more thought, too. Gimme a day or so, I might have another blog post.

  3. arensb Says:

    There are Windows boxen in OIT. I’m not sure what-all they do, but evidently it’s enough to keep the Windows support people busy.

    Beyond that, of course there’s the fact that commercial packages can be expensive, especially when licensed for an entire department or the whole campus.