Hi,

One sec...

Enter

Architected .NET middleware application to automate processes for a health foundation to coalesce three different APIs – Survey Monkey, Dynamics CRM, SharePoint.Features

Problem

Our company was midway through a CRM integration for one of the largest health foundations when they hit an impasse. One department was reluctant to adopt the CRM because they felt it wasn’t useful. The project’s success was contingent on every department using the CRM seeing as the ultimate goal was to provide data visibility across the organization.

If they don’t join, it’ll thwart the whole project’s effort to democratize our data. Foundation CTO

The Advocacy department’s primary responsibility was surveying the foundation’s user base for outreach feedback. During discovery I learned their workflow had many manual steps that were ripe for automation and they were using 3rd party reporting and document sharing tools to compensate for a unified system.

Impact

Advocacy department: Unnecessary time spent distributing, collecting and sharing the results of surveys.
Health foundation: Inability to make business decisions due to limited insight into the Advocacy department’s throughput and user base.

Solution

To replace their existing manual data collection methods, I built a custom middleware application that would leverage webhooks in their survey software (Survey Monkey) to monitor for submissions and run this workflow:

  1. Create/update contacts in the CRM based on survey responses
  2. Create relevant meta entities and relationships in CRM
  3. Generate a PDF document of their results and associate with contact
  4. Create SharePoint folders to store generated PDFs
  5. Notify the Advocacy department of contact changes

To handle high survey throughput we utilized concurrent processing to process responses 5x faster. I additionally made a custom dashboard for them to monitor survey activity and contact changes to provide full visibility and reporting on their user base.

Sprinkle of Salesmanship

I suggested we don’t just build this middleware as a standalone service; I proposed a larger engagement to allow this service to be abstracted to allow any kind of sync with an external system. The Advocacy department’s automation would be the first of many. Our COO was delighted by this suggestion because it meant a larger proposal.

Results


Complexities

Some departments were hesitant to join the CRM due to data privacy; I had to carefully implement policies to ensure all contacts were shared but not all data was visible for each contact.

Ensuring we understood the Advocacy department’s goals and workflows so the CRM brought them benefit otherwise their reluctance would thwart the CTO’s efforts to democratize the foundation’s data. I had to really flex my consulting and onboarding skills to unify all departments to sharing data and using one system.

As featured in the Mind Over Machines company blog

Prior to 70-535: Architecting Microsoft Azure Solutions, I’d never taken a Microsoft Certification exam, nor did I have much experience with Azure. I was definitely out of my wheelhouse. Then I had a senior architect, who works in Azure daily, tell me it took him three tries to pass. Not the most encouraging pep talk.So how did an admitted Azure novice pass on the first go-around? I think it’s because the exam is looking for a wide and general understanding of Azure solutions, rather than a deep knowledge about or ability to implement those solutions.Because this exam can fool the seasoned developer and pass the novice, I’ve outlined my study strategy and flagged some pitfalls to watch out for when attempting to conquer 70-535.

Here is a link to a comprehensive list of items to focus on.

How to study

Since the exam requires breadth over depth, I would get a textbook and start creating flashcards of all the concepts.  If you’re unfamiliar with something, open up the Azure Portal and follow a tutorial online.  Microservices and Azure Service Fabric were particularly new for me hence I built a few Hello World APIs in Visual Studio and deployed them using the given tools until I understood the concepts.

Beyond knowing what the technology does, it’s equally important to know what it does NOT do.  Many Azure tools offer similar services hence it’s key to know which solution is best in a given scenario.  Therefore, knowing Queue Storage is a cost-effective queue tool isn’t enough.  You need to know it doesn’t store data following the first in first out (FIFO) rule and has a 64kb limit.  You don’t need to open the Azure Portal and tinker with it if you understand its purpose.

This exam is trying to pass those who can walk into a client meeting and recommend the proper Azure solution, regardless of if they can actually implement it.

They’ll ask you to demonstrate your understanding by prompting a client scenario where they want a queue tool to store Tweets and it doesn’t matter the message order.  The other option they may give is Azure Service Bus, which does offer FIFO and messages > 64kb, but it would be overkill for storing Tweets especially when order doesn’t matter and even worse if price is a factor.

How they quiz you

Unfortunately, most prep material gives you simple questions like “How many update domains do you get by default in an availability set?” whereas the actual exam gives you verbose real-world scenarios.  Some questions feel like a page long narrative:

Contoso currently has 3 applications  on-premise that listen for triggers based on X while continually sending data to Y, and they would like to migrate them to Azure.  However, their databases need to remain on-premise and their applications need to go to the cloud because of blah blah blah.  The businesses users have this giant list of expectations while the developers want yadda yadda yadda.

After reading a bunch of fluff they ask you an ambiguous question like, “Would Events Hub be an appropriate solution for Contoso?”.  You would have to know the Events Hub is for receiving data and not sending it, therefore the ideal solution is the IoT Hub.  

Thankfully since I used flashcards and knew the purposes and limitations of each technology, it was easy to eliminate certain answer choices.

How NOT to study

I never took the exam’s predecessor 70-534 but some tutorials like ACloud Guru seemed to cut corners on their 535 material by taking their existing 534 material and appending 535 items.  The focus of 534 seemed to be infrastructure related, which I did not see on the exam.  Concepts like setting up VMs, networks, load balancers, gateways, or availability sets had at best one question.  All my efforts into understanding these concepts did not help me.  If you’re pressed for time, I’d focus on studying the purpose and limitation of each Azure service as indicated in the Word doc and not stress the networking concepts.  I hear 70-532 requires implementational understanding of these infrastructure solutions so your efforts will be rewarded eventually.

Go for it!

It took me 3 weeks of daily cramming to feel prepared for an exam in a technology I rarely work in, so you can definitely pass it.  I’d suggest the replay option so if you bomb the first time, you get a second chance. My score was 734 (minimal passing is 700), which I consider a triumph because the closer you get to a perfect score, the more you’ve failed in other ways – such as saving your free time 😉

Collaborated on a .NET Core application to assist an investment company in showcasing their members.

Features:

  • Utilized Razor views and JQuery Datatables for user interaction
  • Implemented ‘Repository Pattern’ architecture
  • Utilized Entity Framework Core as ORM
  • Maintained deployment cycle leveraging Visual Studio with Azure deployment tools
  • Maintained ongoing updates and service requests