I gave a talk in 2013 at WordCamp Denver called Breaking Up with *AMP about using Vagrant as a development environment. The presentation was received well, but for me I was more excited about the following day. Sunday of WordCamp Denver was designated a hack day, and in short order, it was decided that the main focus of the day would be core contribution.
Many participants were struggling getting up and running with the toolset required to work with WordPress core code. So we made the decision to get everyone going by having them spin up an instance of VVV. This worked fantastically because all of the tools needed to contribute back to core were packed in the virtual environment.
It worked great for everyone in the room—except for one person. He was on Windows.
During my talk I had provided resources for Windows users to try and help get them going. I knew it was possible, I had fellow employees that were running VVV on Windows. Now faced with the prospect of actually helping someone get going with VVV on Windows, however, I had no idea where to begin.
You see, I have been operating on Mac OS for a very long time. I started working with Mac OS back in the OS 9 days, and really haven’t used anything else since. Trying to help out our friendly WordCamp Denver attendee with his Windows box was a total mystery. I didn’t like the feeling of not being able to help. I knew that VVV worked on Windows in theory, but I didn’t have any practical knowledge I could lean on to help.
I wish I could say WordCamp Denver is the one and only time I had something like that happen to me, but I can’t. I work with people every day who are on a Windows platform and need help getting some of their tools running. I have to sheepishly shrug and point them in the direction of a fellow colleague who uses Windows.
Furthermore, I have developed all manner of websites and software that is Windows compatible in theory. I used virtual machines and emulators to check things in a Windows environment, but I never actually used Windows. For the Node software I wrote, I had to beg and borrow friends’ time for testing to make sure that things actually worked the way that I thought they would. That, unfortunately, was often not the case. Things can behave very differently in a Windows environment. Once released, I’m sometimes hesitant to change things because I don’t want to break compatibility. It’s not a great place to be as a software engineer.
It’s now time to change that.
Recently a Microsoft Surface Pro 3 showed up at my doorstep (Yay!). I’ve been ramping up with some help from my friend, Eric Mann, trying to understand the crazy world that is development and tooling on Windows. I’ll continue chronicling my journey, in a large way so that I can remember what I’ve gone through to get this machine set up.
Theoretically isn’t good enough anymore. I want to know that what I have built works for everyone. I will become a dual platform engineer.
Get a Windows machine, install a copy of Windows through BootCamp, or just read the coming articles as I set up mine. It’s time for more of us to learn outside of our comfort zone.