When I use to read Golf Magazine (a long time ago), there was an interesting column called "What's in My Bag?" that profiled a professional player's equipment. It was an interesting read into what they carried and why they chose what club for what purpose.

I am around a lot of developers here and there, and as we all know; we are very particular about the machine (when we can be), the editors or IDE, the add-ins, command line tools, stickers and sometimes even the bag we put all of this in.

Here is a list of the toys and tools that I choose to carry and use.


I have many machines in the computer graveyard in the garage, still not sure why I haven't gotten rid of those?
My main machine for a about a year time was an ASUS 15" Windows Machine and in fact I still have that, which has been updated to Windows 10. But after being asked to develop an iOS application
I nmoved to a Mac and really never found a reason to move back. It's a MacBook Pro (Retina, 15-inch, Early 2013) running OSX El Capitan also running
Windows 10 (Fast Ring) using Parallels 11. To be honest, running Windows 10 is strictly for using Visual Studio 2015
and testing features of the development parity on the Windows platform tooling and not to loose sight of those tools.

Phones, Tablets

Spending many years on the Windows Phone platform, moving from an Lumia 900 to 920 to 1520; moving back to iOS and the iPhone 6 Plus a few years ago
was a choice that was a long time coming. I loved the platform, even wrote many applications on 8.1. However, many mainstream applications, financial
institutions so and so forth not supporting it; going to iOS just made sense.

Even though carrying a "phablet" as my daily phone, I do also have an iPad mini for bedside browsing as well as using this as a "presentation notepad" at conferences
during my talks.

IDE(s), Editors, add-ins

As I mentioned before, on Windows 10 - Visual Studio 2015 is the IDE I use, and also using Visual Studio Code as well when needing something light for JavaScript development.

On OSX, jumping around to many different editors had been a regular occurrence for a few years, but primariliy used Sublime 3. That was until Visual Studio Code was released. This
has now become my primary IDE. It is fast, lightweight, and the extension library is growing daily.

I use the "Insiders" build, as it has the latest features. One of my favorite recent adds is the integrated terminal/shell. Here is a link to the lastest relase notes for the May 2016 release

Some of the add-ins I have:

  • C# - Omnisharp
  • Angular 2 snippets by John Papa
  • npm Script Runner by Eric Gamma
  • NativeScript by Telerik
  • TSLint
  • ESLint

Languages, Frameworks, Platforms and Tools

I'm a Microsoft MVP in the Visual Studio and Development Technologies group, but originally ASP.NET. My day to day is spent supportting teams
that develop in Java, node.js, angular 1.x as well as many other "legacy" languages that keep the lights on.

The frameworks and laguages that I speak, train and develop on primarily

  • ASP.NET Core
  • node.js
  • Angular 2
  • TypeScript
  • Docker

From a platform and tooling perspective, using Azure or Amazon Web Services (AWS) in conjuction with Docker to architect web applications for performance and scalability
has become a great interest of mine over the last year. The use of Docker from the developer to production workflow is a very desirable story for companies to have knowing that
it is in fact the same on all environments.

Command Line Tooling

This is an interesting discussion that I often get into and to be honest I may have had a different opinion prior to getting a Mac and doping node.js development over the last 3 years. Users of
Visual Studio or Eclipse are use to very GUI driven development, but I tell you changing to a text base editor and seeing to control over every build aspect was empowering for me. It is a choice, if you dont want it,
then that's also the great thing; you can still use the GUI dev stuff too. For me, I like to "see" what's going on.

Here are some of the CLI tools I use:

  • angular-cli
  • azure-cli
  • yeoman : generator-aspnet
  • node
    • npm
    • gulp
  • docker
  • nativescript (tns)

Other Tools

One tool I'd like to call out is GenyMotion. It's probably the best Android emulator I have found. It is free, fast, and has just about every image of
a device I would need for an Android device. One nice feature I like is that I can run multiple devices at once when testing or developing an application. Really
great when developing using nativescript.

Wrapping Up

I'd like to hear "What's In Your Bag?", leave a comment on some of these areas and why you choose them.