A few months ago, I was nominated for the Microsoft MVP Award in AI and just a few weeks ago, I received an email from the MVP Award Team. The email went onto the say that my nomination had made its way through Microsoft who granted me the MVP Award in Artificial Intelligence!!!
A few people have asked me what the award is about or how I got it so thought I’d share some insight in this write up.
I’ve also added in some “crumb-trails” in the form of developer tips throughout this article. Keep an eye out for those if you’re unsure of the sorts of activities which Microsoft look at when considering an MVP nomination.
First, for anyone that hasn’t heard of the MVP Award, here is an overview:
|The Microsoft MVP Award is an annual award that recognizes exceptional technology community leaders worldwide who actively share their high quality, real world expertise with users and Microsoft. All of us at Microsoft recognize and appreciate Jamie’s extraordinary contributions and want to take this opportunity to share our appreciation with you.
With just over 2,000 awardees worldwide, Microsoft MVPs represent a highly select group of experts. MVPs share a deep commitment to community and a willingness to help others. They represent the diversity of today’s technical communities.
To recognize the contributions they make, MVPs from around the world have the opportunity to meet Microsoft executives, network with peers, and position themselves as technical community leaders. This is accomplished through speaking engagements, one on one customer event participation and technical content development. MVPs also receive early access to technology through a variety of programs offered by Microsoft, which keeps them on the cutting edge of the software and hardware industry.
Thoughts on the journey. What sparked the interest in AI?
The MVP Award takes into consideration the last 12 months Community Activities. That said, it seems like one major milestone that forms part of bigger journey.
A research project back in 2013 is what took me down the AI route. The output of that was a custom API I could point to Twitter that would perform sentiment analysis. Despite being able to run at about 70-80% accuracy the API and supporting data model still had issues such as:
- processing specific datasets
- maintaining and managing training data
- Processing natural language (POS tagging helped me, to a point)
- code maintenance and error handling
It was during this time I noticed Azure Cognitive Services was gaining traction and my interests in those APIs started to grow.
As I experimented with them, some of the great things I found about Azure Cognitive Services were:
- easily provisioned with a few clicks from the Azure Portal
- standardised documentation and developer guides (quick to learn!)
- code samples were included for various languages
- didn’t need to source much of my own training data
- could try them for free
All of this lowered the barrier to entry in terms of integrating additional machine learning functionality with my API. So, I decided to swap out components in my custom API with the Azure Cognitive Services Text Analytics API.
I was doing all of this in my spare time so had to find quicker ways to do things. Introducing Azure Cognitive Services was the right decision and freed up time to work on other things like:
- creating a web application to render data my APIs data
- fixing existing bugs
- have some downtime!
Here you can see a screenshot of the data processed by the Text Analytics API which determines the sentiment of Twitter data in the web application:
I spent a few years getting deep into the Twitter APIs and had no idea at the time where it would lead. Other companies such as Amazon, Facebook and Microsoft have their own developer initiatives or programmes on the go that you can get involved with. Look online and see what’s out there!
Some other tips:
- write a series of tutorials that explain what you’ve learned
- create a NuGet Package to make developers lives easier
- form a user group around a piece of tech that you’re interested in
Getting a handle on tech that you don’t typically use in your 9-5 broadens will broaden your skillset and can spark of other ideas. For example, getting well versed in the Twitter APIs and blending those with various Azure Cognitive Services got me thinking about other possibilities such as introducing image recognition.
As the Azure Cognitive Services ecosystem started to grow, I started to experiment further with other APIs that were available. Some of these included, but were not limited to:
- image classification
- text classification
- natural language processing
- facial recognition
I started to share content on my blog and also submitted content to other developer blogs such as Code Matters.
Samples of some developer tutorials I wrote for Code Matters. (Image source: Code Matters)
Documenting experiments and writing developer tutorials led onto being asked to speak at events and deliver webinars. People from the tech community started to connect with me on LinkedIn and Twitter and before I knew it, my Twitter, LinkedIn and blog analytics were increasing.
If you’re a developer who’s thinking of starting a blog or getting into speaking/webinars but have some (understandable) reservations, I have one bit of advice – just get started!
Things will never be perfect and might not be for everyone (and that’s fine), just create something and ship it. You can always refine things as you go.
Books such as Linchpin, Purple Cow and This is Marketing by Seth Godin are good reads to help overcome this.
I only started this blog to help reinforce concepts I had been learning and to make sure I understand the tech that I’m using or scratch an itch / idea. Incidentally, these are the types of things that are considered for an MVP nomination.
I was contacted by a book publisher on LinkedIn and asked if I’d be interested in writing a book. They sent over a contract and asked me to outline the content for a book centred around “ASP.NET Core 3.0 Projects”.
|This comprehensive guide will teach you how to build a modern full-stack application in practice using Asp.Net Core 3.0. ASP.NET Core 3.0 Projects will cover the full set of technologies that you need to know to build an end to end web application and become a full stack web developer.
You will learn how to build web apps, APIs, Microservices and Real-time communication between server and client. In the later part, you will learn to build full-stack applications with ASp.Net.
Throughout the projects you will learn to tackle all the problems that can be encountered in the application development lifecycle such as UI and the technical design, testing, production, deployment, monitoring, optimizing and securing. It will serve as a one-stop guide for developers to build any type of large or small web projects.
By the end of the book, you will be confident and be able to build robust and fast web applications from scratch.
I was bit surprised by this. I took everything into account and unfortunately couldn’t’ commit the time required to work on the book.
As awareness of what you do increases, you’ll be presented with opportunities. It’s tempting to say YES to everything! With only so many hours in the day you must be selective or run the risk of spreading yourself too thin or burning out!
Nomination and the Process
By this point I had started to look over what I’d been doing and found I had quite a few community contributions. I wondered if what I’d been doing was enough to be considered for the MVP Award.
I was nominated by a Microsoft employee (thank-you!) and had to wait a few months for the final decision to be made.
The MVP nomination process has changed. Historically you could nominate yourself but now the nomination must come from a Microsoft employee or another MVP.
The process involves supplying the previous 12 months community activities and a bit of a waiting game whilst your nomination is processed.
I’ve covered some of the community activities throughout this article, my main community activities were:
- blogs and tutorials
- sharing code on GitHub
- submissions for developer initiatives such as Twitter #Promote
Finally, I should say that becoming an MVP shouldn’t be the end-goal. It’s like the icing on the cake and recognition for what you already enjoy doing.
The main point of this blog was for me to get a handle on new tech I was experimenting with, firming up thoughts and ideas for new projects. The thinking is, if I can write it down, then I understand it.
A by-product of putting it all down in the blog has been growing site analytics, increased reach on platforms like Twitter and LinkedIn. I could never have predicted that, let alone being awarded with the Microsoft MVP in AI.
Thanks for reading and sharing my content. Let me know if there are any topics you’d like to see covered, have any more questions or want to work on something together.