Data steward profile#
This notebook can be downloaded as 2026-04-09.ipynb
This semester, spring 2026, I started a CAS in Data Stewardship.
One of the most striking things is realizing that Data Stewardship is a very broad field. I don’t know anyone who is a data steward, but I know a lot of people who do data stewardship and/or already have a lot of skills in that area. that it is very unlikely that one person can have all the skills and knowledge required to take on all the responsibilities of data stewardship. However, data stewardship can be seen as a collaborative effort, where different people with different skills and knowledge can work together to ensure that data is properly managed and used.
It is therefore important to identify the skills and knowledge that are most relevant for the specific context in which you, as a data steward, will be working. Based on the Data steward skills and abilities grid [1] & the Definition and profile of data professions [2], you can quickly identify the following skills that you already have, and that you will need to further develop. You might not be able to master all of these skills, but having a good understanding of them will help you to better collaborate with other data stewards ! This script helps you visualize your data steward profile based your relevant skills, knowledge and experience as a data steward.
import pandas as pd
import plotly.graph_objects as go
from IPython.display import display, HTML
# Categories
categories = [
'Plan & design',
'Collect & capture',
'Collaborate & analyse',
'Manage, store & secure',
'Archive & share',
'Promote for reuse'
]
# Data
df = pd.DataFrame({
'Data Manager': [4, 3, 3, 4, 4, 4],
'Data Librarian': [4, 2, 1, 3, 4, 4],
'Data Scientist': [0, 5, 5, 0, 0, 0],
'Data Curator': [0, 4, 2, 4, 2, 0],
'Data Archivist': [0, 0, 0, 4, 5, 4],
'Me': [1, 4, 5, 4, 2, 1]
}, index=categories)
# Close the loop for radar chart
categories_closed = categories + [categories[0]]
colors = {
'Data Manager': 'rgb(178, 34, 52)',
'Data Librarian': 'rgb(46, 125, 50)',
'Data Scientist': 'rgb(230, 81, 0)',
'Data Curator': 'rgb(66, 133, 244)',
'Data Archivist': 'rgb(251, 192, 45)',
'Me': 'rgb(0, 150, 136)'
}
# Small radial shifts to see overlapping lines
shifts = {
'Data Manager': -0.10,
'Data Librarian': -0.05,
'Data Scientist': 0.0,
'Data Curator': 0.05,
'Data Archivist': 0.10,
'Me': 0.0
}
fig = go.Figure()
# Add traces with fills and shifts
for job in df.columns:
# Get values and close the loop
values = list(df[job]) + [df[job].iloc[0]]
# Apply small shift to see overlaps
shift = shifts[job]
shifted_values = [v + shift if v > 0 else v for v in values]
# Make "Me" line thicker and fill more prominent
line_width = 4 if job == 'Me' else 2.5
fill_opacity = 0.3 if job == 'Me' else 0
fig.add_trace(go.Scatterpolar(
r=shifted_values,
theta=categories_closed,
fill='toself',
fillcolor=colors[job].replace('rgb', 'rgba').replace(')', f', {fill_opacity})'),
line=dict(color=colors[job], width=line_width),
name=job
))
fig.update_layout(
polar=dict(
radialaxis=dict(
visible=True,
range=[0, 5.5],
tickfont=dict(size=14, color='black'),
gridcolor='rgb(80, 80, 80)',
showgrid=True,
showline=True,
showticklabels=True,
tick0=0,
dtick=1
),
angularaxis=dict(
rotation=90,
direction="clockwise",
tickfont=dict(size=16, family="Arial, sans-serif", color='black'),
gridcolor='rgb(80, 80, 80)',
showgrid=True
),
bgcolor='white'
),
showlegend=True,
legend=dict(
font=dict(size=16, family="Arial, sans-serif", color='black'),
orientation="v",
yanchor="middle",
y=0.5,
xanchor="left",
x=1.05
),
width=1000,
height=800,
font=dict(size=14, family="Arial, sans-serif", color='black'),
paper_bgcolor='white',
plot_bgcolor='white'
)
display(HTML(fig.to_html()))
Given my engineering background, my current data steward profile looks like a combination of a Data curator and Data scientist, with a strong focus on data collection and analysis. I’m lacking a lot of background and practical experience in data governance that I hope to acquire during this CAS.