I have been interested in mobile development for several years now. I have dipped my toes into the waters of mobile development here and there. Recently, I have completed my Xamarin certification exam; so now I am legit. I would just like to highlight a bit of that journey.

In the Beginning

My interest for mobile development started after I bought my first smartphone, the Motorola DROID. Does the LG Voyager count?? Anyway, once I bought my DROID, I was in love. Besides having access to a whole app ecosystem finally, I could also create apps for my phone. So with stars in my eyes and the sky as the limit, I started digging into Android development. Android apps would require that I say hello again to my old friend Java, which I had not touched since college. Given I had been working with C# for the last few years, switching back to Java would require a bit of a mental shift especially since I would need to learn Android concepts. The end all, be all was that I read a few books, did some tutorials but honestly, I couldn’t see myself getting into doing Java development for creating Android applications. With C# being my daily driver, I just didn’t manage to utilize Java for Android development on the side.

At one point I had the opportunity/challenge of creating an iPhone POC that consumed a colleague’s dashboard and data for reporting. At the time that meant having to use Objective-C to do iOS development. Learning Objective-C was a significant shift from C# for me, not to mention once again learning all of the intricacies of another mobile platform. My foray into iOS development did result in a working POC and giving me experience.

A few years went by before I started looking back into mobile development. In that time, I did work on web applications that required a responsive mobile experience. Those were engaging projects, but it wasn’t the same as developing native mobile applications. I couldn’t stay away forever though as personal and professional needs brought mobile development back on center stage for me. I had dabbled with several different options.

Ionic Logo

Given how my focus had substantially shifted to more web-based technologies, one of the options I looked at was the Ionic framework. The Ionic framework is a mobile SDK that leverages Angular and Apache Cordova to create native and progressive web apps.

 

NativeScript logoAnother open source framework that I looked into was NativeScript. Unlike Ionic, NativeScript is not a web technology that utilizes a web view to run a mobile app. NativeScript is a runtime that uses JavaScript virtual machines to execute commands that directly access native mobile platform APIs. The last technology I would like to mention is the Xamarin platform, which by the title of the article lets you know I might have looked at for it a little bit in detail. So let’s talk a bit more about Xamarin.

Welcome to Xamarin University

xamarin university logo

Xamarin is a cross-platform development tool that uses C# to create native Android, iOS, and Windows applications. Xamarin can deliver native experiences for three main reasons:

  • Xamarin apps are built with standard, native user interface controls.
  • Xamarin apps have access to the full spectrum of functionality exposed by the underlying platform and device.
  • Xamarin apps leverage platform-specific hardware acceleration, and are compiled for native performance.

Xamarin does not only focus on the development aspect of mobile applications. Xamarin provides a suite of products for the entire lifecycle of a mobile app which includes testing, distribution, and education. The education product Xamarin offers is called Xamarin University. Xamarin University is a subscription based service that provides training on mobile app development using Xamarin of course. The subscription makes available an entire catalog of classes, live instruction, office hours and certification. The Xamarin Certified Mobile Developer badge can be achieved by demonstrating expertise in mobile development with Xamarin. A set of required classes needs to be completed to activate the option to take the certification exam. At this point, this is where my story begins, starting Xamarin University with the end goal being the achievement of a Xamarin Certified Mobile Developer badge.

Classes are in session

Xamarin Univerity offers over 70+ classes in their growing catalog, not to mention guest lectures and lightning talks. The classes available range from your expected getting started and fundamentals of Xamarin, to integrating additional services like Azure as well as how to publish an app. Currently, there are 20 classes requiring attendance before the certification exam is made available.

xamarin certification

Real instructors teach each one of these classes from around the world. Because of the global audience that is being catered to, class times shift, and there is even the ability to request a date and time for a class. Additional convenience can be found in the form of self-guided classes. These are classes that can be taken at any time and completion counts towards required classes. I started off with the self-guided classes as most of those classes focused on introductory content. Finishing the self-guided classes first allowed me to quickly complete half of the required classes and reserved the mandatory instructor lead classes for last. The instructor lead classes go over the same content you would see in the self-guided classes but with the huge benefit of being able to ask questions during the classes. Each of the instructors made sure to answer every question asked, and also, they would provide extra details and resources to the attendees. After completing the required classes, I received an email letting me know I was eligible to take the Xamarin certification exam.

Exam time

The only thing that stood between me and the exam was a period of study. Before starting the process of studying, I took an assessment test that Xamarin offers. The assessment test is used to help determine a developer’s knowledge. If an 80% is scored, a developer can bypass several of the required classes. I used the assessment test as a means of experiencing a lite version of the certification exam. I used the results of the assessment test to focus on areas I had difficulties.

To help with studying, Xamarin provides a study guide. This study guide breaks down the different areas of focus that the exam will cover. And let me tell you, the study guide includes a lot of material but so does the exam. To help ensure that I covered all the focus areas in the study guide, I reviewed the lecture slides for Android, iOS, and Xamarin.Forms. That is a lot of slides, to say the least, but this exam covers a lot of material.

Finally, after studying and studying, I was ready to take the Xamarin certification exam. The exam is a beastly 150 questions of multiple choice, true/false, and select all that apply. Test takers are given 3 hours to complete all the questions and can use any resources they have available. A passing score is 80% or higher. Test takers have three attempts to obtain a passing score. When it came time for me to take the test, as soon as I hit “start” it was on.  I ended up using the entire time allocated, most of my time was spent reviewing my answers and fact checking anything.  The result of taking all the classes, studying all the material, and double checking exam questions was a passing score.  Now I am a Xamarin Certified Mobile Developer. Huzzah!

Outie

I have created the table below to put into context the time frame for my certification completion.  This is a rough outline so give or take a few days.

Start End
Self-study classes 2017/04/10 2017/04/19
Instructor lead classes 2017/04/20 2017/04/28
Study 2017/05/01 2017/05/07
Exam 2017/05/07

With the completion of my Xamarin certification, what’s next? Obviously, more Xamarin and thinking about the renewal process for my certification. Xamarin certification renewal involves:

  • Have an active Xamarin University subscription on your certification anniversary date
  • Complete any new or updated core certification classes
  • Complete six classes in the current year that you haven’t previously attended

But I have a year, that is like 10 years in developer time so I am good for a while.