Skip to content
Jessica Hill - Software Engineer I

Jessica is a Software Engineer at endjin, having joined through the 2021 Software Engineering Apprenticeship Scheme.

Meet Jessica

Jessica comes from a Biosciences background, having gained a 1st Class Bachelor of Science in Biology from The University of Manchester.

During the lockdown Jessica used the opportunity to explore her interest in technology by taking two Code First Girls online courses; Introduction to Web Development and Python Programming. This led Jessica to look for job opportunities in the technology sector and she joined endjin's 2021 apprenticeship cohort, which had over 200 applicants.

Since joining endjin, Jessica has developed deep expertise in Power BI, DAX, and the Azure data platform. She is a Microsoft Certified Power BI Data Analyst Associate (PL-300) and works across data engineering and analytics projects using technologies such as Microsoft Fabric, Azure Synapse Analytics, Azure Databricks, and Power BI.

Jessica has written extensively about her areas of expertise, with blog posts covering topics from DAX deep dives and Power BI performance optimisation to Azure notebooks and C# pattern matching.

Top Features of Notebooks in Microsoft Fabric

Top Features of Notebooks in Microsoft Fabric

Jessica Hill

Discover the top key features of notebooks in Microsoft Fabric.
Encoding categorical data for Power BI: Using label encoded data vs one-hot encoded data in Power BI

Encoding categorical data for Power BI: Using label encoded data vs one-hot encoded data in Power BI

Jessica Hill

Understand why label encoding is the preferred technique for encoding categorical data for analysis in Power BI over one-hot encoding.
Encoding categorical data for Power BI: Label encoding vs one-hot encoding - which encoding technique to use?

Encoding categorical data for Power BI: Label encoding vs one-hot encoding - which encoding technique to use?

Jessica Hill

One-hot encoding and label encoding are two methods used to encode categorical data. Understand the specific advantages and disadvantages of these techniques.
Why Power BI developers should care about the Tabular Model Definition Language (TMDL)

Why Power BI developers should care about the Tabular Model Definition Language (TMDL)

Jessica Hill

Power BI's adoption of TMDL improves the readability of the semantic model, enables version control and enhances collaboration and efficiency for developers.
Why Power BI developers should care about the Power BI enhanced report format (PBIR)

Why Power BI developers should care about the Power BI enhanced report format (PBIR)

Jessica Hill

Power BI's new PBIR format enhances collaboration, version control, and efficiency for developers. Learn key benefits and future implications.
Why Power BI developers should care about Power BI projects (PBIP)

Why Power BI developers should care about Power BI projects (PBIP)

Jessica Hill

Power BI Projects are a game changer for teams building reports; offering a source-control friendly format, CI/CD support, and the ability to edit in a code editor.
How to access multi-select choice column choice labels from Azure Synapse Link for Dataverse with PySpark or SQL

How to access multi-select choice column choice labels from Azure Synapse Link for Dataverse with PySpark or SQL

Jessica Hill

Learn how to access multi-select choice column choice labels from Azure Synapse Link for Dataverse using PySpark or SQL.
How to access choice labels from Azure Synapse Link for Dataverse with SQL

How to access choice labels from Azure Synapse Link for Dataverse with SQL

Jessica Hill

Learn how to access the choice labels from Azure Synapse Link for Dataverse using T-SQL through SQL Serverless and by using Spark SQL in a Synapse Notebook.
How to access choice labels from Azure Synapse Link for Dataverse with PySpark

How to access choice labels from Azure Synapse Link for Dataverse with PySpark

Jessica Hill

Learn how to access the choice labels from Azure Synapse Link for Dataverse using PySpark.
Notebooks in Azure Databricks

Notebooks in Azure Databricks

Jessica Hill

Azure Databricks Notebooks combine live code in Python, SQL, Scala, or R with visualisations and markdown. Here's how to set them up, attach clusters, manage libraries, and integrate them into ADF/Synapse pipelines.
Notebooks in Azure Synapse Analytics

Notebooks in Azure Synapse Analytics

Jessica Hill

Discover the use of Synapse Notebooks in Azure Synapse Analytics for data analysis, cleaning, visualization, and machine learning.
My first year as an apprentice software engineer at endjin

My first year as an apprentice software engineer at endjin

Jessica Hill

Jessica joined endjin as part of the Software Engineering Apprenticeship 2021 cohort. In this post, Jessica reflects on her first year.
An Overview of the Corvus.Extensions Library

An Overview of the Corvus.Extensions Library

Jessica Hill

Corvus.Extensions is an open source repository that provides a collection of useful helper extension methods to .NET types. This post provides a spotlight on the repository.
EVALUATEANDLOG in DAX

EVALUATEANDLOG in DAX

Jessica Hill

DAX has never had real debugging capability until EVALUATEANDLOG. This hidden function prints intermediate values from any DAX expression, letting you see exactly how your measures are evaluated.
Performance Optimisation Tools for Power BI

Performance Optimisation Tools for Power BI

Jessica Hill

Optimise Power BI report performance with analyzer tools. Discover essential techniques for efficient report development in this blog post.
Context Transition in DAX

Context Transition in DAX

Jessica Hill

CALCULATE can silently transform a row context into a filter context, changing how SUM and other aggregations behave. Understanding context transition prevents unexpected results in calculated columns and measures.
CALCULATE in DAX

CALCULATE in DAX

Jessica Hill

This blog post explores one of the most powerful functions in DAX - CALCULATE.
RELATED and RELATEDTABLE in DAX

RELATED and RELATEDTABLE in DAX

Jessica Hill

This blog post explores two common functions in DAX - RELATED and RELATEDTABLE.
How to dynamically switch between measures in Power BI visuals with Field Parameters

How to dynamically switch between measures in Power BI visuals with Field Parameters

Jessica Hill

Power BI's Field Parameters feature lets users toggle between measures in a single visual with no advanced modelling. Here's how to set it up, plus a DAX-based workaround for when you need more control.
Table Functions in DAX: DISTINCT

Table Functions in DAX: DISTINCT

Jessica Hill

This blog post explores one of the most common table functions in DAX - DISTINCT.
Table Functions in DAX: FILTER and ALL

Table Functions in DAX: FILTER and ALL

Jessica Hill

This blog post explores two of the most common table functions in DAX - FILTER and ALL.
My first six months as an apprentice software engineer at endjin

My first six months as an apprentice software engineer at endjin

Jessica Hill

Jessica joined endjin as part of the Software Engineering Apprenticeship 2021 cohort. In this post, Jessica reflects on her first 6 months.
Measures vs Calculated Columns in DAX and Power BI

Measures vs Calculated Columns in DAX and Power BI

Jessica Hill

Explore DAX & Power BI differences between measures & calculated columns, and learn when to use each in this informative blog post.
Pattern Matching in C#

Pattern Matching in C#

Jessica Hill

Explore how pattern matching in C# has evolved, and how to use is expressions, switch statements and switch expressions.
Flow control in C#

Flow control in C#

Jessica Hill

if, switch, for, foreach, while, do: C# offers several ways to branch and loop through code. Here's how each one works, including pattern matching and how foreach uses IEnumerable under the hood.
My first month as an apprentice software engineer at endjin

My first month as an apprentice software engineer at endjin

Jessica Hill

As a Biology graduate, Jessica wasn't sure what to expect from a software engineering apprenticeship. Here's what the first month actually looked like; from shadowing client calls to writing C# and BDD Specs.