Congratulations on leaving Microsoft. Unless you have bills to pay, you won’t regret it. I left at the end of 2004, and have since studied a vast and amazing — but still flawed — world of computing out there.
For example, I discovered that we should already have cars that (optionally) drive us around and computers that talk to us. And that Linux on the desktop is powerful and rich but failing because of several strategic mistakes. Google claims to be a friend of Linux and free software, but most of their interesting AI code is locked up. Programming should be a part of basic math literacy for every child. The biotechnology world is proprietary like Microsoft, which is stunting progress in new medicines and safer devices.
The most important lesson is that the free software world outside Microsoft is much bigger and richer. No matter what aspect of technology you want to work on, there are codebases and communities out there. Even the large companies who write proprietary software like Amazon, Apple, Facebook, and Twitter use free software as their base. So you first find out what you want to work on, and then you find the existing codebases and communities to join. In some cases, the are multiple, so you need to decide which best meets your needs.
The good news is that there are already millions of smart people working on any aspect of technology you’d like to work on. That is important because now that you have left Microsoft, you greatly lose the ability to control your own destiny using their technology.
When I first left Microsoft, I took on a consulting job helping a team build a website which used Microsoft Passport as the authentication mechanism. However, as I ran into problems, even Google wasn’t able to help because the knowledge and ability I needed to fix my problems was locked up behind the Microsoft firewalls. Fixing a problem in proprietary software can sometimes feel like performing witchcraft — you have to try lots of random incantations because you can’t know what is really going on. In the free software world, the code, buglists, specs, discussions, etc. are public, and anyone is welcome to contribute. A warning though, it can be like herding cats.
I read you have a Microsoft Surface. I recommend getting another machine and installing Mint-Debian Linux. You’ve probably heard of Ubuntu, but Debian is the 1000-person team that provides the rock Ubuntu builds upon. Mint is a very popular re-spin that adds mp3 playback and other features that have patent risks and can’t be part of the free Debian system. The Windows app store is a Potemkin village compared to what Linux offers. I remember you have a Unix background, I recommend refreshing your knowledge of the command line and reading some new books. I felt like a stranger in a strange land for the first couple of months, but it became perfectly comfortable to me, and has numerous advantages such that now I am as interested in using Windows as I am in using DOS.
I don’t recommend you bother with Apple. They have a proprietary walled garden even smaller than Microsoft’s. If you find a problem with Apple’s technology, your best option is to wait. If you find a problem anywhere in the free software world, you can file a bug, talk to a person, (usually) find a workaround, write some code, hire someone — or wait.
The other nice thing about this global community is that you don’t have to go anywhere to join. You can write code in your pajamas from Seattle and send it to Linus Torvalds in Portland who works from home in his. The Linux kernel alone has 3,000 programmers, scattered all over the earth, some of whom live in countries that are officially at war with each other.
Enjoy your new-found freedom. I have written a book about much of this you can read for free. It contains many things I didn’t know until I left. There are many news sites to learn about what is going on in Linux. I personally use LinuxHomePage, but every community has blog aggregators.
Leave a Reply