So who has heard of the saying "You should program yourself out of a job"? Well that may be a good saying, I would say you should program yourself INTO another job. You may ask what exactly does that mean. I will give you a for instance.

My current job has me working on the Integration Team using BizTalk 2010. So where could I go if I only know BizTalk and nothing else with no knowledge of SQL Server, PowerShell, TFS, Windows Server or any other IT related knowledge? Probably not very far. If I can make a SQL query better, automate a build process using PowerShell and TFS, or create a Dev environment by myself I am showing upper management and fellow team members that I have skills and am worth keeping around. So now you ask how do you obtain quality skills and knowledge. Great question! 

My first recommendation is books. Yes the good old paperback or e-book in you like. Not only do they give you a good starting point but they are great reference when you forget something. You set it down beside you and code away. I personally love to use Amazon to get books. I actually have all my books in electronic format so I can carry them with me everywhere. 

My favorite is videos series from websites and this is the one I will detail the most. The first website is Channel9.

Channel9: this website is nothing but Microsoft goodness from webisodes to full series on technologies and methodologies. Yes Channel9 is proprietary but it proves my point. Channel9 reaches out to other people that are talented at teaching and getting topics out to the public. For instance there is a gentleman from LearnVisualStudio named Bob Tabor. He was contacted by Microsoft to create beginner series for programming topics. He has created outstanding C#, Java, HTML5, Windows Phone 8 and Windows Store App series. Channel9 also covers conferences and events held around the world. Some of those videos can give you insight and an advantage on a project.

Microsoft Virtual Academy: this is another Microsoft driven sight but yet another outstanding one. Hear you can enroll and earn points for modules that are completed. If you don't want to keep track that's great just use the content. There is a lot of Jump Start and Deep Dive content for everything from Visual Studio to SQL Server to Azure to Windows Server and more.

PluralSight: this is another awesome training sight. It is a paid site but provides a very advanced learning area. Another nice thing is that it is not solely devoted to Microsoft technologies. I have used this sight to brush up on Agile programming methods and SCRUM. You do have to pay for this sight at $29/mo for just the content and $49/mo for the content and content files. But if your serious about learning and advancing this is a great tool. If the money sounds a little intimidating they offer a trial period and it gives you 200 minutes of free content. That is certainly enough to go through a good bit of one series or try out a few.

Go to events! What could be more exciting than being in a room full of nerds or "IT" people talking about nerd stuff. TechEd, VisualStudio Live, Build. These are great events to go to and have your brain pumped with knowledge. Plus you can travel and see the world. 

This one may not be appealing to everyone but it worked for me. Go back to school. I worked as an electrician for four years out of high school before I became a programmer. I finally decided I needed a change and I just did it. If you have an Associates, go get your B.S. If you have your B.S, go get your Masters. If you have your Masters, get your Doctorate. If you have your Doctorate, holy cow that's amazing. Check and see if your company will pay for the schooling or at least help pay for it. Never hurts to ask or try.

My last recommendation is ask your fellow peers. Get the knowledge from other sources but then ask intelligent questions to your peers. Discussion is a great way to solve problems and come up with new good problems. Someone with 10 years of experience can tell you that yes the idea in the book is great BUT when doing that way in this situation this will happen. 

I hope these ideas give you a door way into a new job or at least better your current position. Remember that if you stay still you will fall behind. 


Windows Azure PowerShell Setup

As probably many of you know PowerShell is a very powerful tool for any programmer or IT administrator. Here is my scenario and basically what this post is about. Currently at my job we are testing using BizTalk Services in Windows Azure. Our problem is that we have to create all the necessary services and databases, which takes time, and then bring them back down as to make sure we do not incur any charges for them. This takes precious time and just gets monotonous after awhile.

The solution to this is PowerShell. With PowerShell and the Azure module we can pretty much script all of the common tasks of standing up VMs, ACSs, databases, virtual networks and services. So all we have to do before sitting down to test is double click a script file and away we go. The first part of this is simply setting up PowerShell to use the Azure module and getting your Publish Settings file into PowerShell the correct way. Some blogs will go through this but skip a major step. Now I will assume you have some idea of what PowerShell is and how to at least open it. Let's begin!

1. First we need to download Microsoft's Web Platform Installer. This is a great tool for getting tools to develop Microsoft Products and other products. The download is at

2. After the Web Platform is installed you should be shown a screen similar to the following










3. In the top right hand corner search for Windows Azure PowerShell and add it to your downloads. Then click Install at the bottom right.

4. The installer will walk you through installation.

5. The installation not only includes the cmdlets but also a Windows Azure PowerShell program. This is nice because all the Azure cmdlets are loaded for you.

6. Now issue the command get-azurepublishsettingsfile. This will open up your browser and take you to a site to download your Azure subscription Publish Settings file. Log in with your Live ID and you will be prompted to download the file. I recommend saving it somewhere you will be able to find it later.

7. Next issue the command import-azurepublishsettingsfile -publishsettingsfile <fileLocation>. The file location is a string and will need to be in quotes. This will import all the setting for you subscription.

8. To test your settings issue the command get-azuresubscription. The output is pictured below.

 9. In the above picture, the most import thing to check is the IsDefault setting towards the bottom of the output. Here is the one thing most blogs forget to have you check. If this is not set to true your commands will fail. The importing of your publish settings file should take care of this but when I first started with Azure PowerShell for some unknown reason this did not happen. It caused me a lot of headache until a co-worker pointed it out.

10. To set a subscription to default issue the command set-azuresubscription -subscriptionname <subscriptionname>. The subscriptionname argument is a string and should be quotes.

11. Issue the get-azuresubscription command again to make sure the subscription you want is the default.

Ok well this covers the Azure subscription setup. As soon as I have the whole script working for my project I will be sure to write about it. I hope you are successful with this and this opens new doors to your developing. Thanks!