Update skills and credentials content
My Gatsby Deployment pipeline / build-and-deploy (push) Successful in 3m32s
My Gatsby Deployment pipeline / build-and-deploy (push) Successful in 3m32s
Remove SAP BODS from the stack (and from the Swisscom summary line). Split the single credentials line into Education and Certifications, add the Udacity nanodegrees and IBM AI Engineering, and note the Tongji University (Shanghai) master's thesis for international context. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+38
-13
@@ -19,7 +19,7 @@ const ROLES = [
|
||||
location: 'Bern, CH',
|
||||
title: 'Staff Data, Analytics & AI Engineer',
|
||||
description:
|
||||
'ETL and streaming pipelines in Python, Kafka and SAP BODS feeding a Teradata warehouse, while migrating the legacy stack onto AWS (Glue, Redshift, Lambda, Step Functions, Airflow).',
|
||||
'ETL and streaming pipelines in Python and Kafka feeding a Teradata warehouse, while migrating the legacy stack onto AWS (Glue, Redshift, Lambda, Step Functions, Airflow).',
|
||||
live: true,
|
||||
},
|
||||
{
|
||||
@@ -58,10 +58,26 @@ const ROLES = [
|
||||
|
||||
const STACK = [
|
||||
{ label: 'Languages', items: ['Python', 'SQL', 'Java', 'C#', 'TypeScript', 'C++'] },
|
||||
{ label: 'Data & Pipelines', items: ['ETL / ELT', 'Kafka', 'Airflow', 'SAP BODS', 'Teradata', 'Hadoop / Impala'] },
|
||||
{ label: 'Data & Pipelines', items: ['ETL / ELT', 'Kafka', 'Airflow', 'Teradata', 'Hadoop / Impala'] },
|
||||
{ label: 'Cloud & Infra', items: ['AWS', 'Docker', 'Kubernetes', 'Ansible', 'CI/CD'] },
|
||||
{ label: 'ML & Observability', items: ['PyTorch', 'scikit-learn', 'ELK', 'Grafana', 'Prometheus'] },
|
||||
{ label: 'Credentials', items: ['M.Eng., UniBw München', 'AWS Solutions Architect – Associate', 'iSAQB CPSA-F'] },
|
||||
]
|
||||
|
||||
const CREDENTIALS = [
|
||||
{
|
||||
label: 'Education',
|
||||
items: ['M.Eng., UniBw München', 'Master’s thesis at Tongji University, Shanghai'],
|
||||
},
|
||||
{
|
||||
label: 'Certifications',
|
||||
items: [
|
||||
'AWS Solutions Architect – Associate',
|
||||
'Data Engineering with AWS (Udacity)',
|
||||
'IBM AI Engineering (Coursera)',
|
||||
'AI for Trading (Udacity)',
|
||||
'iSAQB CPSA-F',
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
const Tags = ({ items }) =>
|
||||
@@ -72,6 +88,19 @@ const Tags = ({ items }) =>
|
||||
</React.Fragment>
|
||||
))
|
||||
|
||||
const StackGroups = ({ groups }) => (
|
||||
<div className="stack">
|
||||
{groups.map((group) => (
|
||||
<div className="group" key={group.label}>
|
||||
<p className="group__label">{group.label}</p>
|
||||
<p className="group__tags">
|
||||
<Tags items={group.items} />
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)
|
||||
|
||||
const IndexPage = () => (
|
||||
<Layout>
|
||||
<Helmet>
|
||||
@@ -157,16 +186,12 @@ const IndexPage = () => (
|
||||
|
||||
<section className="section">
|
||||
<h2 className="section__label">Stack</h2>
|
||||
<div className="stack">
|
||||
{STACK.map((group) => (
|
||||
<div className="group" key={group.label}>
|
||||
<p className="group__label">{group.label}</p>
|
||||
<p className="group__tags">
|
||||
<Tags items={group.items} />
|
||||
</p>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
<StackGroups groups={STACK} />
|
||||
</section>
|
||||
|
||||
<section className="section">
|
||||
<h2 className="section__label">Credentials</h2>
|
||||
<StackGroups groups={CREDENTIALS} />
|
||||
</section>
|
||||
|
||||
<section className="section">
|
||||
|
||||
Reference in New Issue
Block a user