Career Profile
Certified Azure Solutions Architect with over 15 years of experience in consulting, requirements engineering, solution design and development of workloads spanning multiple technologies.
Experience
- Business requirements analysis and project requirements capture, solution design with focus on competitive cost, high reliability and Zero Trust approach
- Workloads connecting legacy applications with Azure, SharePoint Online and Exchange Online, spanning across different technologies such as Azure (APIM, Azure Functions and Logic Apps, Service Bus, Application Insights), Power Platform (Canvas Apps, Power Automate with Excel Script integration, data insights using Excel and Power Query or Power BI)
- Project plan prioritization in the context of solution migration to the Microsoft cloud
- Deployment using CI/CD automation, e.g. Infrastructure as Code using Bicep templates and adapted rushstack.io change management process, secured using pipeline’s Workload Identity; MS Teams integration with Azure DevOps
- Solution development using .NET, TypeScript and React (SPFx solutions, Power Platform components)
- Contributions to the PnP community, multiple blog posts covering development and security topics
- Developed a Power Platform Assessment tool, guiding users through questions, providing information about Power Platform capabilities and recommendations. At the end of assessment, generates summary document with the solution design recommendations and rationale.
- Developed a Power Platform License Calculator, designed to assist decision-makers in selecting the most cost-efficient licensing approach based on the number of Premium solutions and planned usage patterns. Application published in Microsoft Adoption | Sample Solution Gallery.
- Proactively engaged with Microsoft to explore preferential licensing options under the OCRE framework. Recognizing the potential impact, advocated for the use of this pricing model, contributed to optimizing costs and promoting the adoption of both Power Platform and Azure services.
- Identified a potential risk related to 3rd party SPFx solutions, proactively engaged with impacted IT teams to provide risk assessment, present a sample solution demonstrating vector of attack, and recommended mitigation strategies. Resources published on GitHub, personal and community blogs.
- Business requirements analysis, technical design of SharePoint on-premise solutions, development and configuration, system integration
- SharePoint Service Owner
- Planning SharePoint solutions: functional specification, design, scalability
- Gathering business requirements, solution design, architecture design and governance
- Microsoft SharePoint Server administration, configuration, customization, development (C# .NET, JavaScript, REST), testing, deployment
- Project and operational management
- IT training and coaching
- Planning SharePoint solutions: functional specification, design, scalability
- Gathering business requirements, SharePoint-based solution design, architecture, development, testing, deployment
- IT training and coaching
Certifications
Demonstrates subject matter expertise in designing cloud and hybrid solutions that run on Azure, including compute, network, storage, and security.
Delivering Microsoft DevOps solutions that provide continuous security, integration, testing, delivery, deployment, monitoring, and feedback. Design and implementation of flow of work, collaboration, communication, source control, and automation.
Demonstrates the ability to solve business problems by creating canvas apps with Microsoft Power Platform. Application development, writing PowerFx formulas such, and creating, reading, updating, and deleting data using Power Platfrom connectors.
Demonstrates a fundamental level of Scrum mastery, including the concepts of applying Scrum, and proven an understanding of Scrum as described in the Scrum Guide.
Demonstrates the ability to build model-driven apps by using Microsoft Power Apps. Data modeling concepts in Microsoft Dataverse.
Demonstrates the ability to automate business processes by using Microsoft Power Automate. Creating flows, using triggers and actions, and working with connectors.
Demonstrates the ability to build an intelligent document processing solution by using Azure AI Document Intelligence. Creating a project, training a model, and extracting data from documents.
Projects
- Delivered a Power Platform model-driven application to streamline the approval process for external cloud services
- Led business requirements gathering, designed the solution architecture, and configured the Dataverse database to support business workflows
- Implemented application logic using TypeScript client scripts and developed multiple custom PCF (PowerApps Component Framework) components for enhanced user experience
- Built and executed unit tests to ensure reliability and maintainability of custom components and business logic
- Published blog posts sharing lessons learned, and contributed samples to the community repositories
- Designed solution architecture across both Azure and SharePoint platforms, ensuring alignment with business requirements and cloud best practices
- Implemented integration between SharePoint Online list data and Exchange Online shared mailboxes to automate calendar event management
- Designed and developed a SharePoint Framework (SPFx) user interface and Azure Function to create and update events in shared Exchange calendars
- Architected and implemented a secure authentication and permissions model for the integration, ensuring compliance with organizational policies
- Presented a proof of concept to the Exchange team, secured security sign-off
- Published blog posts sharing lessons learned, and contributed samples to the community repositories
- Designed solution architecture across both Azure and SharePoint platforms, ensuring alignment with business requirements and cloud best practices
- Delivered an Azure-based integration between the legacy Online Information System (OIS) and a SharePoint Online solution to streamline examination planning process
- Designed and implemented integration architecture using Azure API Management, Service Bus, and Azure Functions for secure and scalable data exchange
- Azure resources deployed using Bicep templates and Azure DevOps CI/CD pipelines, ensuring repeatable and maintainable infrastructure-as-code practices
- Implemented custom change management workflow for Azure templates using Rushstack.io
- Developed a SharePoint Framework (SPFx) front end to support reconciliation and management of integrated data changes
- Published blog posts sharing lessons learned, and contributed samples to the community repositories
- Delivered a SharePoint Online solution for the exam lifecycle, orchestrated with a change management system via RushStack.io
- Led migration from SharePoint On-Premises to SharePoint Online using ShareGate PowerShell and self-hosted Azure DevOps agents, including data transformations
- Diagnosed and resolved ShareGate migration issues by collaborating with vendor support; implemented workaround migrations to meet deadlines, later re-automated post-fix
- Developed and published a PowerShell script to export/import SharePoint list customizations and report configuration differences (using ImportExcel), contributing new samples to the community repository
- Delivered a POC integrating Online Examinations systems with Microsoft Cloud (Azure, Microsoft 365) to modernize examination planning process
- Led business analysis to correct initial requirements through customer interviews, securing stakeholder buy-in
- Built a SPFx solution, migrated sample data to SharePoint Online, and developed legacy system synchronization with Azure CI/CD pipelines
- Automated workflows between SharePoint and Exchange Online using Power Platform (Power Automate, Excel Scripts)
- Analyzed usage data to estimate costs, implemented Azure dashboards for solution monitoring
- Published blog posts sharing lessons learned and undocumented approaches (e.g., cloud integration, SPO migration)
Blog posts and Open Source Contributions
Contributed to multiple community projects and samples, e.g. Microsoft Adoption | Sample Solution Gallery, PnP Core SDK | Samples.
Power BI solution that provides cost estimations for modernized solutions.
The solution is designed to help organizations optimize their Power Platform licensing costs by providing insights into usage patterns and recommending the most cost-effective licensing options.
It analyzes historical usage data , differentiates between active and rarely active users, and provides suggestions and cost estimates for the licenses needed for each type of user.
Technologies: Power BI, SharePoint Online, Power Query.
Power Platform Canvas App assists decision-makers in selecting the most cost-efficient licensing approach based on number of Premium solutions and planned usage patterns. Offers visual representation of different license costs, provides suggestions for the most cost effective approach, and allows defining custom license prices in case of Volume Licensing.
Technologies: Power Apps, Canvas App, Power Fx.
Guides users through a sequence of questions, providing information about Power Platform capabilities and recommendations. At the end of assessment, generates summary document with the solution design recommendations and rationale.
Technologies: Power Apps, Canvas App, Power Fx, Dataverse for Teams, Power Automate.
Internal tool, publication pending.
A set of Power Apps components that provide multilingual support. The components are designed to be used in Model-driven Power Apps and can be easily integrated into existing applications.
Technologies: React and TypeScript, PCF, Model-driven Power Apps.
Featured in: PCF Gallery.
This repository contains a set of Power Automate workflow providing various basic functionality useful when implementing Power Platform solutions:
- Get SharePoint information from Data Source Environment Variables
- Get Team Channel Library info from MS Teams context
- Get Localized choice values for Dataverse record
- Get SharePoint information for Dataverse record
- Xpath transformations - cheatsheet
Described in the Power Automate - Utils Series.
Reusable client script that may be used by custom buttons in Business Process Flow to easily move between stages and blocking the default buttons.
Technologies: Typescript, Model-driven Apps, Business Process Flow, Dataverse DevTools.
Most SharePoint solutions provide predefined dashboard, meaning that every change in the data displayed requires code changes. The two Web Parts included in this sample allow connecting to Application Insights and Cost Management API and defining the query and the display format right from the User Interface. Both Web Parts come with predefined queries to get you started.
Technologies: SharePoint Online, SPFx, TypeScript, Azure Application Insights, Azure Cost Management, KUSTO queries.
Part of a 'SharePoint solutions as a spyware' blog series, exploring risks of custom SharePoint extensions, and ways to mitigate them.
It consists of:
- External API calls tracking with Application Insights: This Application Customizer, when deployed tenant wide, tracks all external calls generated by SharePoint pages, and records them in Application Insights. This provides tenant administrators with an easy way to monitor suspicious calls and detect threats early.
- Get API Permissions for SPFx solutions: This PowerShell script allows tenant administrators to review API permissions requested by SPFx solutions. It gathers data for all Share
- Grant Managed Identity permissions to audit and cleanup SPFx App Principal permissions: PowerShell script used to grant System-Managed Identity used by automation (Azure Runbook, Azure Functions) API permissions and access to SPO site necessary to audit API permissions requested and assigned to SharePoint Extensions.
- Remove unused API Permissions assigned to SPFx App Principal: PowerShell script automatically removing all API permissions assigned to the "SharePoint Online Client Extensibility Web Application Principal", but not explicitly requested by any SharePoint extensions installed in the tenant.
- Extortion Pack: SharePoint Webparts evaluating available resources and API Permissions and providing users with visual overview of their information (documents, emails, etc) that can be potentially stolen.
Described in the SharePoint solutions as a spyware blog series.
This sample simplifies implementation of Azure Functions, by providing easy to set-up code that authenticates with app registration's client id and secret when debugging locally, and Managed Identity when the code executes in Azure.
Technologies: Azure Functions, PnP Core SDK, AC#, .NET
Described in the Azure Functions + PnP.Core + Managed = 💙 blog post.
After undocumented change in Azure DevOps pipeline caused issues in all newly created pipelines that required access to commit history, she successfully analyzed the problem, found the root cause and provided a solution. Proactively engaged with Microsoft to provide feedback and request a documentation update.
When 'Workload Identity Federation' was announced in Azure DevOps pipeline, she quickly realized that this is a game changer for security and CI/CD. This identity type allows to authenticate Azure DevOps pipeline with Azure resources without the need to store any secrets in the pipeline, just like in the case of Managed Identity for Azure resources. This post series describes how to set up Azure DevOps pipeline with Workload Identity Federation, and how to use it to authenticate with Microsoft Cloud resources.
When Azure DevOps pipeline started failing randomly with the error 'The term 'Install-Module' is not recognized ...', she evaluated the configuration of Microsoft-hosted agent and found that the issue was caused by a change in the PowerShell library used to install modules. Although unable to fix the root case, she provided a workaround and documented the issue in her blog post. This post was later provided by one of the readers to the Microsoft support team who wasn't able to find the cause or the solution.
Unlike traditional code solutions, technology for deploying of Azure resources (e.g. Bicep) does not provide a built-in change management process. This post series describes implementing change management process for IaC projects, using rushstack.io change management process. It provides a step-by-step guide on how to set up the pipeline, including the necessary configuration files and scripts. The post also includes examples of how to use the pipeline to manage changes in your infrastructure as code projects.
A summary of posts aggregated by technology, including Azure DevOps, Azure Functions, Power Platform, SharePoint Framework, and more. The posts provide insights into best practices, tips and tricks, and real-world examples of how to use these technologies effectively.