So, you develop Windows 8 Store Apps? Awesome - you are already a step ahead of other developers on Microsoft stack and dabbling into the latest in development paradigms. If you’re on the XAML/C# stack, you’re already dealing with latest language advancements in C# 5.0, framework features in .NET 4.5, asynchronous programming, security, application life-cycle & data management. May be you are even using or considering leveraging cloud infrastructure for your App’s backend. To top it all, you have mastery over the Modern UI design principles to make your App feel at home in Windows 8.
All the above skills needed to be a successful Windows 8 App developer necessitate a broad knowledge base, along with grasp of architectural patterns to keep your codebase clean. Now, if you are already doing all of that, kudos to you! Apart from having your Apps shine in the Windows 8 Store or impressive LOB Apps for Enterprises, there is another way to “let them know that you know” – yup, Certifications. Additionally certification tests validate your knowledge & give you confidence in your abilities on a development platform.
For Windows Store App developers, an MCSD certification takes two routes – HTML/CSS/Jscript or C#/XAML; you can see the details of each track in pyramid form as below from the Microsoft Learning Site:
For those of us inclined towards C#, the MCSD path includes the C# Fundamentals test in 70-483 and then two tests focused on developing Windows Store Apps. Test 70-484 [Essentials of Developing Windows Store Apps Using C#] is the one of them and is the first obstacle towards establishing your certification klout for Windows 8 App development. I recently cleared this test & can share a few tips for my fellow developers. So, here goes my top 21 list:
- First, the 70-484 test demands some hands-on Windows 8 App development experience; it is going to be really hard to clear this test if you haven’t ever developed for Windows 8 and depending only upon theoretical knowledge. So, to have the best shot at clearing the test – write more Windows 8 App code.
- You are going to need patience during the test. Many of us have taken dozens of MSFT certification tests like this one & we may be used to wrapping up the test quick and walking away. Could have just been me; but I had to use the entire time allotted for this test. The questions will make you think hard; so pace yourself. You may or may not get a couple of Case Studies – I got two. These are essentially made up of quite a bit of requirements/business case/code samples on which several questions are based on – again read well & be patient.
- There are no shortcuts to having a holistic view of the entire Windows 8 development stack. You will be quizzed on issues that one needs to tackle in a real Windows 8 App – things like data strategies, cloud support, code reuse & architectural patterns.
- Start by understanding the exact skills measured in the 70-484 test, detailed at the exam page @ http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-484.
- Know Modern UI design principles & App layout/navigation/UX patterns. Start @ http://msdn.microsoft.com/library/windows/apps/hh779072/.
- If you had any doubts about MSFT endorsing the MVVM pattern, it should end with this test. Know how you would need to structure the internals of a full-scale Windows 8 App using the MVVM principles. You should not be quizzed on the use of specific toolkits; but rather on the principles of Separation of Concern through the use of MVVM – know what each layer does & how to use commands/mocking. Laurent Bugnion wrote this wonderful MSDN article on the use of MVVM pattern in Windows Store Apps – you may find it @ http://msdn.microsoft.com/en-us/magazine/jj651572.aspx.
- Know the App Lifecycle and how your App cycles through the executions states or which events to tap into for data hydration/dehydration. Start here @ http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh464925.aspx.
- You will need to know Contracts, especially Search, Share & Settings. And this need to be thorough detailed knowledge on how to use Panes, offer Search suggestions, handling DataPackages for both Share source & target, invoking Settings commands etc. Start here @ http://msdn.microsoft.com/en-us/library/windows/apps/hh464906(v=VS.85).aspx.
- Know your Pickers – Contacts & File Open/Save ones. How to invoke, add filters & work with returned data.
- Know your Controls for appropriate use – specially AppBars, GridViews, FlipViews, Semantic Zoom & Buttons. For a comprehensive list of controls & their usage, start learning from http://msdn.microsoft.com/en-US/library/windows/apps/xaml/hh465351.
- You need grasp over XAML fundamentals – know exactly how to use Dependency Properties, Solid & Gradient brushes, StaticResource & inherited styling usage and ItemTemplates/DataTemplates. And don’t forget localization/globalization.
- Surely you would expect a few questions on Data Binding right? Yeah, you may get some – so knowing the fundamentals help. Knowledge of ObservableCollection<T>, DataTemplates & binding visual tree to collections will help. You might also be quizzed on some advanced topics of binding UI to grouped collections through the use of CollectionViewSource.
- Tiles, Badges & Toasts – you need to know this stuff inside out, since you may get nit-picky questions. While you do not need to memorize any templates, you need to know exactly how to update Tiles/Badges or send Toasts through various means – local, scheduled, periodic & Push notifications. A good place to start is @ http://msdn.microsoft.com/en-us/library/windows/apps/Hh779725.aspx.
- Know your data strategy & limitations of each. You may asked questions on when to appropriately use local/roaming storage vs going to cloud services like Azure. Lot of details spelled out @ http://msdn.microsoft.com/en-US/library/windows/apps/xaml/br229562.
- Do you know your authentication? Yup – Web vs Windows. Do not be surprised if you get an OAuth 2 question or consumption of web services or implementations details of WCF/REST. Start learning about the network stack @ http://msdn.microsoft.com/en-US/library/windows/apps/xaml/br229573.
- Know the Store or Line-of-Business deployment options for Windows 8 Apps. You may be asked questions on Store certificates & App manifest declarations.
- Know how to use a Windows 8 device sensor & you’ll see that other sensors follow the same pattern to read inputs. Know the Async-Await C# pattern to handle Tasks asynchronously.
- Now that you know what to cover broadly and have some Windows 8 App development experience under your belt, time to brush up on some resources for study before you take the test. For the broadest possible knowledge, start at the Windows portal @ http://msdn.microsoft.com/library/windows/apps/. This is a lot of information though – so pick a comfortable couch, a tablet & focus on areas on weakness.
- Jeff Blankenburg & Clark Sell wrote a brilliant 31 day article series on Windows 8 development. Start @ http://31daysofwindows8.com/ and focus on Jeff’s XAML stack articles.
- There are now tons of articles on Windows 8 development online – read up. Also, trolling StackOverflow for Windows Store App related questions helps fish out issues other developers are seeing.
- Grab a Windows 8 eBook and use it for casual reading over the holidays on your favored reader. Shameless plug for a great SilverlightShow Christmas Bundle including 6 eBooks; get it @ http://www.silverlightshow.net/ebooks/xmas_bundle_12.aspx.
That’s it! Code a lot, study up & go for the certification test with confidence. Be patient & concentrate hard during the test – also pace yourself for finishing on time. Prometric sometimes has a Second Shot offer that gives you cushion to take the test free of cost a second time, in case you fail @ first try. Check https://www.prometric.com/Microsoft for details on any such offers and also for scheduling a test nearest to you.
Thanks for reading & Best of luck!
About Author
Samidip Basu (@samidip) is a technologist, author, speaker and MSFT Mobility Solutions Lead for Sogeti USA working out of Columbus OH. With a strong developer background in Microsoft technology stack, he now spends much of his time evangelizing Windows 8/Windows Phone platforms & cloud-supported mobile solutions in general. He passionately helps run The Windows Developer User Group (http://thewindowsdeveloperusergroup.com/), labors in M3 Conf (http://m3conf.com/) organization and can be found with at-least a couple of hobbyist projects at any time. His spare times call for travel and culinary adventures with the wife. Find out more at http://samidipbasu.com.