From 2011 to 2015, I worked alongside a partner of mine, Bret, on a product called Winsitter. We worked in a distributed environment. Most days were within our own homes, while other days might have been a coffee shop or diner.
Our development environments were distributed as well. I am primarily a Windows developer. My livelihood has been building ASP.NET applications. Visual Studio and Windows are my tools!
Bret, on the other hand, was all Macbook and OSX.
This factored a bit into our decision to choose node.js as our development platform for the services powering Winsitter. Node was (and still is) a true cross-platform environment. This allowed us to build the same system across Windows and OSX, and then we deployed our systems to Linux. It ALL worked. We didn’t worry about something working in my environment, but not working in Linux.
Fast forward to late 2015, the .NET community was introduced to the early concept of .NET Core. Imagine you could write C# or F#, languages you were already used to, but that code could run the same way on Windows, Linux, and OSX? That’s a radical departure from what we’ve been used to over the past 15 years.
Being cross platform is more than a marketing gimmick. This allows new segments of the industry to try .NET as a technology – where they had been previously limited due to not using Windows.
Since .NET Core is decoupled from Visual Studio, the ramp up time for new developers is significantly reduced. All .NET languages are fair game at hackathons and code schools, typical places where Windows and Visual Studio cannot be found.
Our deployment strategies are radically changing as well. Look at container systems, such as Docker. In a Windows-based .NET, this strategy is difficult and unproven. The majority of systems deploying via Docker are Linux-based.
I wonder if .NET Core had been around in the early days of Winsitter, would we have switched our stack up? As the primary developer for the backend systems, I probably would have!
Last year, I posed an interesting question to myself: “What would it look like to be an ASP.NET Developer without ever touching Windows?” No IIS. No Visual Studio. Just a terminal window and an editor.
What I ended up with was a course called, ASP.NET Without Windows, that I’ve partnered with Penton to deliver. The course explores this entire concept from its core concepts (no pun intended). In the course I walk though configuring a system to use .NET Core and outline what makes .NET Core different from the .NET Framework. We’ll scaffold out several sample projects, and include guides for unit testing and deployment strategies.
It’s a 3-part course that runs, complete, on a single day: Wednesday, May 10th at 11am, 1pm, 3pm EST. I hope you’ll join me to expand your developer skills and take a bigger look at how development is changing.
Register here: ASP.NET Development Without Windows.
Kevin Griffin is an author, teacher, mentor, and consultant focusing in software development. He is the author of the Twilio Blueprint (http://twilioblueprint.com). As the owner of Swift Kick, a software training and services company, Kevin specializes in helping businesses push their technology stacks into the 21st century. You can often find Kevin speaking at conferences and user groups across the country or blogging at http://kevgriffin.com.