Skip to content

James Broome

James Broome

Director of Engineering

View full profile

James has spent nearly 20 years delivering high quality software solutions addressing global business problems, with teams and clients across 3 continents. As Director of Engineering at endjin, he leads the team in providing technology strategy, data insights and engineering support to organisations of all sizes - from disruptive B2C start-ups, to global financial institutions. He's responsible for the success of our customer-facing project delivery, as well as the capability and growth of our delivery team.

Insight Discovery (part 4) – Data projects should have a backlog

Insight Discovery (part 4) – Data projects should have a backlog

James Broome

Many data projects fail to deliver the impact they should for a simple reason – they focus on the data. This series of posts explains a different way of thinking that will set up your data & analytics projects for success. Using an iterative, action-oriented, insight discovery process, it demonstrates tools and techniques that will help you to identify, define and prioritize requirements in your own projects so that they deliver maximum value. It also explores the synergy with modern cloud analytics platforms like Azure Synapse, explaining how the process and the architecture actively support each other for fast, impactful delivery.
Insight Discovery (part 3) – Defining Actionable Insights

Insight Discovery (part 3) – Defining Actionable Insights

James Broome

Many data projects fail to deliver the impact they should for a simple reason – they focus on the data. This series of posts explains a different way of thinking that will set up your data & analytics projects for success. Using an iterative, action-oriented, insight discovery process, it demonstrates tools and techniques that will help you to identify, define and prioritize requirements in your own projects so that they deliver maximum value. It also explores the synergy with modern cloud analytics platforms like Azure Synapse, explaining how the process and the architecture actively support each other for fast, impactful delivery.
Insight Discovery (part 2) – successful data projects start by forgetting about the data

Insight Discovery (part 2) – successful data projects start by forgetting about the data

James Broome

Many data projects fail to deliver the impact they should for a simple reason – they focus on the data. This series of posts explains a different way of thinking that will set up your data & analytics projects for success. Using an iterative, action-oriented, insight discovery process, it demonstrates tools and techniques that will help you to identify, define and prioritize requirements in your own projects so that they deliver maximum value. It also explores the synergy with modern cloud analytics platforms like Azure Synapse, explaining how the process and the architecture actively support each other for fast, impactful delivery.

James Dawson

James Dawson

Principal I

View full profile

James is an experienced consultant with a 20+ year history of working across such wide-ranging fields as infrastructure platform design, internet security, application lifecycle management and DevOps consulting - both technical and in a coaching capacity. He enjoys solving problems, particularly those that reduce friction for others or otherwise makes them more effective.

Publishing Scripts to the PowerShell Gallery

Publishing Scripts to the PowerShell Gallery

James Dawson

Publishing individual scripts to the PowerShell Gallery can be an effective way to share pervasive functionality without the overhead of maintaining a full-blown PowerShell module. In this post we'll look at how we can take a function that is already published as part of a module and also make it available as a standalone script, without having to maintain two versions of the code.
Using Azure CLI Authentication within Local Containers

Using Azure CLI Authentication within Local Containers

James Dawson

Have the recent changes to Azure CLI on Windows broken your dev inner loop when working with containerised applications that need access to Azure resources? If so, this post provides a workaround that will unblock you without having to be stuck on an old version of the Azure CLI.
Adventures in Dapr: Episode 3 - Azure Storage Queues

Adventures in Dapr: Episode 3 - Azure Storage Queues

James Dawson

If you're interested in the Distributed Application Runtime (Dapr) and how it can simplify migrating existing workloads to use cloud platform services, then this series might be for you. In this post, we continue modifying the excellent Dapr Traffic Control sample application by swapping the MQTT-based messaging with Azure Storage Queues. We will also look at how you can use the Dapr programming model as an alternative to cloud-provider SDKs.

Ed Freeman

Ed Freeman

Software Engineer I

View full profile

Ed is a Software Engineer helping to deliver projects for clients of all shapes and sizes, providing best of breed technology solutions to industry specific challenges. He focusses primarily on cloud technologies, data analytics and business intelligence, though his Mathematical background has also led to a distinct interest in Data Science, Artificial Intelligence, and other related fields.

He also curates a weekly newsletter, Power BI Weekly, where you can receive all the latest Power BI news, for free.

Ed won the Cloud Apprentice of the Year at the Computing Rising Star Awards 2019.

Sharing access to synchronized Shared Metadata Model objects in Azure Synapse Analytics

Sharing access to synchronized Shared Metadata Model objects in Azure Synapse Analytics

Ed Freeman

The "Shared Metadata Model" is a powerful feature within Synapse Analytics that synchronizes Spark database objects with SQL Serverless. This article describes how to give non-admin users access to these synchronized objects in a least-privileged manner.
What is the Shared Metadata Model in Azure Synapse Analytics, and why should I use it?

What is the Shared Metadata Model in Azure Synapse Analytics, and why should I use it?

Ed Freeman

A lesser known feature of Azure Synapse is the "Shared Metadata Model". Synapse has the capability to automatically synchronize tables created via Synapse Spark with objects you can query via the usual SQL Serverless endpoint, without any additional configuration. This article brings attention to this capability, highlighting the benefits and tradeoffs vs rolling your own SQL Serverless VIEWs.
How to safely reference a nullable activity output in Azure Synapse Pipelines and Azure Data Factory

How to safely reference a nullable activity output in Azure Synapse Pipelines and Azure Data Factory

Ed Freeman

Did you know that there's a null-safe operator in Azure Data Factory's expression syntax? No? Well, now you do. Here's how you can safely reference an activity output that might not always exist.

Elisenda Gascon

Elisenda Gascon

Apprentice Engineer II

View full profile

Elisenda is a mathematics graduate from UCL. During her years at university, Elisenda took a couple of introductory modules in Python and Machine Learning, which led her to take a few online courses on those subjects.

After finishing her mathematics degree, Elisenda's motivation to join endjin was a desire to put her problem solving skills to the test and further develop her understanding of technology. She is currently expanding her knowledge of cloud computing and its various applications, and discovering the fascinating world of Microsoft Azure.

5 tips to pass the PL-300 exam: Microsoft Power BI Data Analyst

5 tips to pass the PL-300 exam: Microsoft Power BI Data Analyst

Elisenda Gascon

I recently passed the PL-300 - Power BI Data Analyst exam. Here are some tips to prepare for it that I found useful!
Service Lifetimes in ASP.NET Core

Service Lifetimes in ASP.NET Core

Elisenda Gascon

There are three lifetimes available with the Microsoft Dependency Injection container: transient, singleton, and scoped. In this post, we explain their different behaviours and the importance of being aware of the lifetimes of the dependencies in our applications.
Implementing dependency injection in ASP.NET Core

Implementing dependency injection in ASP.NET Core

Elisenda Gascon

In this post, we will be showing how to implement dependency injection in an ASP.NET Core application.

Jessica Hill

Jessica Hill

Apprentice Engineer II

View full profile

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 joined endjin's 2021 apprenticeship cohort, which had over 200 applicants.

Performance Optimisation Tools for Power BI

Performance Optimisation Tools for Power BI

Jessica Hill

Performance tuning is an important aspect of Power BI report development. This blog post highlights useful analyzer tools you can utilise to optimise the performance of your Power BI reports.
Context Transition in DAX

Context Transition in DAX

Jessica Hill

This blog post explores how the CALCULATE function in DAX performs context transition.
CALCULATE in DAX

CALCULATE in DAX

Jessica Hill

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

Liam Mooney

Liam Mooney

Apprentice Engineer II

View full profile

Liam studied an MSci in Physics at University College London, which included modules on Statistical Data Analysis, High Performance Computing, Practical Physics and Computing. This led to his dissertation exploring the use of machine learning techniques for analysing LHC particle collision data.

During his studies Liam did a number of data engineering internships to better understand what a career in technology might look like. This eventually led him to join endjin's 2021 apprenticeship cohort, which had over 200 applicants.

Continuous Integration with GitHub Actions

Continuous Integration with GitHub Actions

Liam Mooney

This post gives an overview of Continuous Integrations and shows how you can implement it with GitHub Actions, with an accompanying example Python project
Automating Excel in the Cloud with Office Scripts and Power Automate

Automating Excel in the Cloud with Office Scripts and Power Automate

Liam Mooney

Office Scripts and Power Automate provide the ability to automate manual processes involving Excel in the cloud. This post provides and overview and walks through an example.
Understanding the Stack and Heap in C#

Understanding the Stack and Heap in C#

Liam Mooney

The stack and heap are central components of memory management in C# programs. This post aims to introduce the topic, with a number of worked examples.

Howard van Rooijen

Howard van Rooijen

Co-Founder

View full profile

Howard spent 10 years as a technology consultant helping some of the UK's best known organisations work smarter, before founding endjin in 2010. He's a Microsoft ScaleUp Mentor, and a Microsoft Azure MVP, and helps small teams achieve big things using data, AI and Microsoft Azure.

How to Monetize APIs with Azure API Management

How to Monetize APIs with Azure API Management

Howard van Rooijen

Monetizing your APIs is a complex challenge; creating your business, revenue, & pricing model, then translating into a technical implementation requires significant investment. Working with the Azure API Management team we provide guidance, videos and code to help accelerate your journey.
How to use SQL Notebooks to access Azure Synapse SQL Pools & SQL on demand

How to use SQL Notebooks to access Azure Synapse SQL Pools & SQL on demand

Howard van Rooijen

Wishing Azure Synapse Analytics had support for SQL notebooks? Fear not, it's easy to take advantage rich interactive notebooks for SQL Pools and SQL on Demand.
How can I contribute to the Azure CNAB Quickstarts Library?

How can I contribute to the Azure CNAB Quickstarts Library?

Howard van Rooijen

The Azure CNAB Quickstart Templates we've created are only half the story. Much of the work we've done over the last few months involved the authoring, contribution and DevOps pipelines required to support an open source project. The project is inspired by the original Azure Quickstart Templates - which over the last 5 years has grown to over 850 templates. In this post we're going to explain how you can author CNAB templates and contribute them.

Paul Waller

Paul Waller

Designer

View full profile

Paul has over 20 years of creative experience in design, and delivering user and customer experiences across 3D, print, and digital disciplines. As endjin’s designer, Paul enables customers and the team to visualise abstract concepts. Whether it’s UX, or dashboards for financial and retail services, television props for the Great British Menu, illustrations and animations for promotion and marketing campaigns, or logos and iconography for design systems, Paul is responsible for making concepts look and feel great, in a way our customers can understand.

How to enable data teams with the design assets required for impactful data storytelling in Power BI

How to enable data teams with the design assets required for impactful data storytelling in Power BI

Paul Waller

In this post we will talk through how to expand on a data team's creative skillset, without access to specialist photo editing software such as Photoshop or Illustrator.
How to Create Custom Buttons in Power BI

How to Create Custom Buttons in Power BI

Paul Waller

In this post we will talk through a step-by-step guide for how to design and build custom buttons in Power BI. We'll start with the basic foundations of shape and form, to applying icons, states, and actions with the view to extending your brand collateral across your report design and UI.
Visualising Technical Content - How we Design our Blog Headers

Visualising Technical Content - How we Design our Blog Headers

Paul Waller

In this post we will be talking about our graphic process from conception to finalisation. We will look at Icons, Pictograms, Ideogram, and how we utilise this form of design to illustrate abstract technical concepts within our blog header graphics.

2021 Internship Cohort

Thea Bautista

Thea Bautista

Intern

View full profile

Thanks to a volunteering placement which opened her eyes to the capabilities of technological innovation, Thea studies Biomedical Engineering at King's College London.

Here, she found her love for code through her programming modules and entertains her tech interests in her spare time through online courses and coding-driven projects.

Wanting to learn more about work-life in a tech company and the ins-and-outs of how businesses are run, she joined endjin's 2021 intern cohort.

From start to finish: my internship at endjin

From start to finish: my internship at endjin

Thea Bautista

Thea studies Biomedical Engineering at King's College London, in this post she summarises her 6 week internship at endjin.

Nehemiah Campbell

Nehemiah Campbell

Intern

View full profile

Nehemiah is a graduate from the University of Bristol, gaining a 1st Class Masters of Science in Mathematics with Statistics. During his summer internship, Nehemiah worked with Python to pre-process, gather insights from data and developed a machine learning model. He has an interest in automating processes to solve daily inefficiencies and building robust solutions.

Nehemiah worked at endjin between 2021-2022.

Month one at endjin

Month one at endjin

Nehemiah Campbell

In this post, Nehemiah reflects on his first month at endjin as an apprentice engineer.

Charlotte Gayton

Charlotte Gayton

Intern

View full profile

Charlotte is a Summer Data/Software Engineer Intern. She is going into her second year of Computer Science at the University of York.

Charlotte has a particular interest in business and has been involved in two enterprise projects at school and university. Her current enterprise is based around creating a product to help manage a work-life balance.

During her internship at endjin, Charlotte worked on the Data Strategy project in which she really enjoyed using Power BI and working with data.

Charlotte's Internship Blog

Charlotte's Internship Blog

Charlotte Gayton

Charlotte is going into her second year of Computer Science at the University of York. In this post she describes her summer internship.

Klaudia Guz

Klaudia Guz

Intern

View full profile

Klaudia is an intern and an Electronic Engineering student at University of Southampton.

During her degree she learned about electronic devices and computer architecture which sparked her interest in technology. This led Klaudia to apply for the internship at endjin and she's hoping to join again next year as an apprentice.

My internship experience

My internship experience

Klaudia Guz

Klaudia studies Electronic Engineering at University of Southampton, and reflects on her two month internship.

Amy Shaw

Amy Shaw

Intern

View full profile

Amy is currently a student at the University of Reading studying Biomedical Engineering.

She loves all things tech and hopes to work as a Software Engineer post-graduation. She loves the problem solving aspects of programming and feeling like she's constantly learning new things.

Outside of academics and work, Amy is passionate about art and enjoys painting in her spare time. She also enjoys languages and is learning Spanish in addition to her native languages English and Khmer.

Amy's summer as an intern endjineer

Amy's summer as an intern endjineer

Amy Shaw

Amy is studying Biomedical Engineering University of Reading, and reflects on her two month summer internship at endjin learning C# and Python, and working on a data science project.

Alumni - gone, but not forgotten!