For a large number of you, your daytime work doesn’t give you the opportunity to work with the latest and greatest technologies (some, of course, do have this privilege, but not most…). Further, usually the training courses that you go on, given that they are paid for by your employer, apply to the technologies that you use at work – again, not the latest and the greatest. But at the same time, you, as a developer, have a need for the new – a) because you’re curious, you’re a developer after all, and b) because you know that in order to ensure you have all of the opportunities possible in the future, you need to stay marketable.
Ok, now that I’ve setup the discussion, I can finally get to the bottom line – how does one take new technologies, build experience with them, and show readiness for primetime opportunities?
Turn your future into a hobby.
Here’s my approach:
You need real experiences
I believe that you can study from books, classes, etc. as much as you want, you won’t know anything until you have real experience. The process of taking something that you read or heard and implementing it to produce something real is what actually shows that you’ve learned something. But I’m going to take this one step further. To me, you get real experience when you go beyond what is defined for you (like a hands-on lab). You want real experience with a new technology? Take an idea and build it. Not someone else’s ideas that you’re reproducing/executing. Your idea. Building your own stuff will take you outside the defined parameters/scenarios. It will allow you to see exceptions as they happen and give you an opportunity to find out what needs to be done to resolve them – real world, “on the job” learning. It will give you an idea of what works and what doesn't. So on, and so forth. Besides, its fun! Don’t think of this as training (that’s what you do when your boss pays of it ). Think of it as a hobby. That way, when you want to tune in to watch virtual camps or other online events or when you want to attend an offline event somewhere, you don’t have to justify it to anyone. You’re going because it’s your hobby. (see here for a full list of developer events happening online and across Canada)
Show what you’ve made
Architects and builders use images in portfolios to show what they’ve made. Developers, in the past, have relied on words that describe apps on resumes. Today, the modern resume for a Developer is their store page on the various app platforms they develop on. You want to show someone that you know how to build Windows Store apps? Publish apps to the Windows Store (and then to Developer Movement for some material rewards). Send whoever to your profile on Windows Store and the rest will happen by itself. Your apps will get downloaded, played around with, and an opinion will form. That’s how you show someone you know how to build. Same holds true for Windows Phone and the Windows Phone Store.
Seal the deal
The key to realize by the time you’ve gotten yourself this far is that by building, testing, debugging, and publishing apps, you’ve not only a) actually built something from scratch, or perhaps a few somethings even, b) gained real world experience doing it, c) received rewards from Developer Movement, you could easily have gotten yourself to the point where you’d be ready to write a certification exam to seal the deal on the experience that you’ve gained. With the new Microsoft certifications, each of the exams are aligned the new technologies that developers are exploring while building Windows Store Apps, Phone Apps, Web Apps, and ALM. Meaning that you can do individual exams as you gain experience with each technology. I know, for me, when I look at a full certification, it doesn’t motivate me at all because there’s a lot of stuff that you have to know to get a full certification. But you know what? Single exams are good too, testing specific areas of the technologies. Look at the individual exams and match your real experience to those. Eventually, as you continue to work on your real experience, you’ll be able to cover each of the exams. The good news is that individual exams add up to a full certification, right? So, there. Focus on each one and the certification will eventually come.
Side Note: Recommended Experience
When you read through the various certifications on the Microsoft Learning site, they all recommend experience. Well now you’ve gotten that experience. Don’t be put off by the number of years that are recommended, etc. It’s not about the quantity of experience you have but the quality. If you took the time to build some really cool apps that explored various different concepts, you’ll have the experience that you need. Just make sure to review the skills domains that are going to be tested. Missing something on the list? Go back to an existing app and see where you can implement or build another one!
Side Note: Match the Certification to Your Real Experience
Some folks like to start by selecting a certification and then working towards it. I’m not saying that that’s a wrong approach, but if you’re following the recipe above, you’re getting your certification as a consequence, or as a result, of your learning new skills and building and publishing apps. Therefore the certification that you choose should be reflective of those technologies. For example, if you built Windows Store apps, look into the MCSD: Windows Store Apps certification. If you’re working with Windows Phone, check out the Windows Phone certifications. If you’re working with Windows Azure and/or Web apps, check out the MCSD: Web Applications certifications.
To wrap all of this up into a nice executable set of instructions (I was going to say “wrap this up with a pretty bow on top”, but wasn’t geeky enough for my liking):
About Developer Movement
Developer Movement is Canada’s app building rewards program. As you build Windows Store and/or Windows Phone apps, backed by Windows Azure services, you earn points that you can use towards rewards such as gizmos and gadgets, home theatre systems, laptops, and others. You can also earn additional points by complete Windows Azure hands-on labs and participating in Developer Movement challenges such as this one. If you’re not already a member of the Developer Movement, join today! (You actually start earning reward points simply by signing up.)