This is a remote position.
Conduct stakeholder interviews and perform a data inventory across Microsoft 365 workloads (SharePoint Online, OneDrive, Teams, Exchange Online, Entra ID/Azure AD).
Define scope, data models, mappings, and success criteria; produce a project plan with milestones, risks, and estimates.
Design the extraction architecture using Microsoft Graph and related services (Graph SDKs, delta queries, subscriptions/webhooks, Graph Data Connect where applicable).
Implement Azure AD app registrations, OAuth 2.0 flows, and least-privilege permissions (delegated vs. application), aligned with Conditional Access and tenant policies.
Build robust pipelines to extract content and metadata (e.g., SharePoint lists and libraries, sites/drives/items, OneDrive, Teams channels and files, mailbox metadata, directory objects, audit and usage reports).
Handle throttling, pagination, retries, delta synchronization, change tracking, and idempotent upserts.
Transform and map data to target schemas; stage data (e.g., files/JSON/CSV/Parquet) and load it into the proprietary data warehouse via APIs, connectors, or batch loads.
Comply with data residency, retention, MIP sensitivity labels, DLP, eDiscovery, and auditing requirements.
Navigate protected endpoints (e.g., Teams message exports) and approval processes; propose compliant alternatives when required.
5+ years building integrations with Microsoft 365, including advanced use of the Microsoft Graph API.
Proven experience delivering data pipelines / ETL from Microsoft 365 workloads:
SharePoint Online and OneDrive (sites, lists, libraries, drives/files, permissions).
Teams (channels, files; familiarity with protected chat/meeting export APIs and compliance boundaries).
Exchange Online (mailbox and message metadata, calendars) and directory objects in Entra ID (Azure AD).
Strong expertise in:
OAuth 2.0, Azure AD app registrations, permissions consent, service principals, and Conditional Access impacts.
Microsoft Graph SDKs and REST (C#/.NET or Python preferred); PowerShell for automation; Graph Explorer and Postman.
Handling Graph constraints: throttling, batching, pagination, delta queries, webhooks/subscriptions.
Data modeling and transformation; SQL; schema evolution; metadata and lineage.
Experience integrating custom/proprietary data warehouses (API-based or batch ingestion), including building connectors or staging layers.
Solid understanding of Microsoft 365 security, compliance, and governance (retention, sensitivity labels, DLP, eDiscovery/audit).
Self-starter able to operate independently in a part-time capacity, with excellent communication and documentation skills.
Experience with Azure services (Functions, Logic Apps, Data Factory, Storage) for orchestration and staging.
Familiarity with Graph Data Connect, SharePoint REST/CSOM, and nuances related to the deprecation of Exchange Web Services.
Experience with CI/CD (GitHub Actions / Azure DevOps), containerization, and Infrastructure as Code (Bicep / Terraform).
Background in performance optimization for large tenants (rate-limit strategies, parallelization, and backoff).