Friday, 26 September 2014

Wanna be a cowboy? or maybe a Windows Platform Developer?

As presented on the Canadian Developer Connection Blog

On Being a Professional

Ok, I really am asking if you want to be a professional developer for the Windows Platform?  I'm not a cowboy, never been a cowboy, never will be a cowboy and can't help you there, but I am definitely a professional developer for the Windows Platform.  What is a professional developer for the Windows Platform?  I guess the definition is somewhat subjective but as for me:

"A professional Windows Platform developer is anybody who creates Windows or Windows Phone Apps with the intent to create income."

Historically becoming a professional anything is not easy.  If you are a professional in the trades it would cost you a lot of money to purchase your tools of the trade and you would likely apprentice for years before being on your own.  Even becoming a professional developer once took years in university then looking for job in a traditional data processing department.  Now there are other paths available to developers and in the field of Microsoft's Windows Platform and there is an enormous amount of support to the new developer walking the path to professionalism. 

I have hired developers at all levels from entry to senior and like anything else, there are a number of things you can do to prepare.  Here's a couple of things I look at when looking at a resume.

Foundation

Let me begin this section by saying that having a solid university or college computer science degree will never hurt you.  I fall back on my training all the time in the way that I structure my work. 

That being said, many developers, myself included, begin long before they are ready for post-secondary school.  As a high school student I had very limited access to computer technology (I'm old I guess).  That is no longer a problem for today's students.  Access to computers and technology is easy for those interested.  More importantly access to education is mostly free too.  Microsoft, itself, works hard to deliver high quality educational material to anybody interested and they do it for free.  If you are starting out, this is where you can start.  Training is available for every level from beginner to advanced.

Microsoft Virtual Academy (MVA) can provide you with all the training you need for the Windows Platforms of Windows and Windows Phone from C# to XAML to HTML5.  You can find free training for the Windows Platform at these links: Windows Store Apps and Windows Phone Development.

MVA also provides training for almost any other Microsoft related technology which covers an amazing span of knowledge.  The courses range from very technical deep dives to end user education and it's delivered by experts in all the fields.

Experience

Beyond education, one of the biggest hurdles for new developers is the "experience" part of their resume.  Clearly, as a new developer, this has been the hardest piece to build.  In past developers have had to volunteer their time or participate in a co-op program at their school or any number of other activities at the whim of other people.  This is no longer the case.  Now you can begin building experience on your own timetable using your own ideas. 

As an employer, if I can see examples of the prospective employees work it pulls a lot of weight with me.  One of the ways you can do that is build an app or two for the Windows or Windows Phone Store.  The task isn't as daunting as you might believe.  Microsoft, once again, comes to the rescue by providing all the tools you need and leverages the learning you have done already. 

For example, if you are currently a student preparing to enter the work place, you can join the Microsoft Student Developer Program.  This site will point you to more training set for your skill level along with other tools to help you get jump started.  You can download all the dev tools you will need at the Windows Dev site then go to DreamSpark to register for a store account so you can publish your masterpieces.  Then, on your resume just point people like me at your brilliant work and wow us with your real world experience.

Networking

In today's world, the last thing I need to talk about (and strangely enough it IS the last thing) is networking.  Many jobs out there are filled because somebody knew somebody.  A personal reference holds a lot of weight with me when I'm hiring.  I would suggest you find a local user group or developer group covering the topics you are interested in.  There are Windows Phone and .Net development groups all over the world and there is probably one in your home town.

I would look on LinkedIn or Meetup.com to find the one you're interested in.  Microsoft has a list of User Groups in Canada too!  For example Toronto has a Toronto Modern App Development Group and in Vancouver, BC it's the Vancouver Windows Phone Developer Group and groups like this are all around you.  They usually have other developers that either do what you want to do professionally or new developers just like you, or even potential employers (we like to learn still too).  You will often get a chance to meet very knowledgeable experts like Microsoft MVPs and experts from within Microsoft too. 

Time to Apply

In the end, ultimately, just let people know you are out there and looking but at the same time don't sit around waiting.  Learn new stuff, try new things, create an app or other examples of your work and who knows, you might be the one hiring me in a few years!  Heck, during your journey you may end up publishing a hot app that makes you a professional developer without even being hired!