318 lines
11 KiB
HTML
318 lines
11 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="description" content="Veit Heller—Technologist at Large">
|
||
<meta name="author" content="Veit Heller">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link rel="canonical" href="https://veitheller.de/">
|
||
<meta property="og:type" content="website">
|
||
<meta property="og:url" content="https://veitheller.de/">
|
||
<meta property="og:title" content="Veit Heller—Technologist at Large">
|
||
<meta property="og:description" content="Veit Heller—Technologist at Large. Independent consultant for software architecture, security, and network automation based in Erlangen, Germany.">
|
||
<meta property="og:locale" content="en_US">
|
||
<meta name="twitter:card" content="summary">
|
||
<meta name="twitter:title" content="Veit Heller—Technologist at Large">
|
||
<meta name="twitter:description" content="Independent consultant for software architecture, security, and network automation based in Erlangen, Germany.">
|
||
<link rel="icon" href="data:;base64,iVBORw0KGgo=">
|
||
<script defer data-domain="veitheller.de" src="https://plausible.io/js/script.tagged-events.outbound-links.js"></script>
|
||
<style>
|
||
@font-face {
|
||
font-family: 'charterregular';
|
||
src: url('charter_regular-webfont.woff') format('woff');
|
||
font-weight: normal;
|
||
font-style: normal;
|
||
font-display: swap;
|
||
}
|
||
html {
|
||
box-sizing: border-box;
|
||
}
|
||
*, *:before, *:after {
|
||
box-sizing: inherit;
|
||
}
|
||
body {
|
||
font-family: 'charterregular', Georgia, serif;
|
||
font-size: 18px;
|
||
width: 100vw;
|
||
height: 100vh;
|
||
margin: 0;
|
||
background-color: #fafaf7;
|
||
}
|
||
.main {
|
||
max-width: 800px;
|
||
padding: 2em;
|
||
margin: auto;
|
||
padding-top: 1em;
|
||
}
|
||
.main h1 {
|
||
font-size: 28px;
|
||
font-weight: 400;
|
||
}
|
||
.main h1 i {
|
||
color: #444;
|
||
}
|
||
.main summary {
|
||
font-size: 22px;
|
||
font-weight: 400;
|
||
cursor: pointer;
|
||
}
|
||
.main a {
|
||
color: #000;
|
||
text-decoration: none;
|
||
border-bottom: 2px solid #d6dde3;
|
||
}
|
||
.main ul {
|
||
margin-top: 0.1em;
|
||
list-style: none;
|
||
padding: 0;
|
||
margin: 0 0 0.9rem;
|
||
}
|
||
.main ul li {
|
||
position: relative;
|
||
padding-left: 1.1rem;
|
||
margin-bottom: 0.35rem;
|
||
}
|
||
.main ul li::before {
|
||
content: "·";
|
||
position: absolute;
|
||
left: 0.3rem;
|
||
top: -0.05em;
|
||
color: #444;
|
||
}
|
||
.broken-up {
|
||
display: flex;
|
||
width: 100%;
|
||
padding: 0;
|
||
}
|
||
.broken-up li {
|
||
padding-right: 1em;
|
||
}
|
||
.broken-up li::before {
|
||
content: none !important;
|
||
margin: none !important;
|
||
}
|
||
.definition {
|
||
border-left: 3px solid lightgrey;
|
||
padding-left: 0.5em;
|
||
margin-left: 0.5em;
|
||
}
|
||
.definition .summary {
|
||
font-size: 20px;
|
||
text-align: left;
|
||
}
|
||
.definition .summary .word {
|
||
font-size: 20px;
|
||
border-bottom: 2px dotted lightgrey;
|
||
}
|
||
.definition .pronounciation {
|
||
font-size: 18px;
|
||
margin-left: 1em;
|
||
color: #444;
|
||
display: inline-block;
|
||
}
|
||
.definition .pos {
|
||
font-style: italic;
|
||
color: #444;
|
||
}
|
||
.definition .addendum {
|
||
font-size: 16px;
|
||
color: #444;
|
||
}
|
||
.definition .description {
|
||
text-align: justify;
|
||
}
|
||
.legal {
|
||
margin-top: 2.5em;
|
||
padding-top: 1em;
|
||
border-top: 1px solid #d6dde3;
|
||
font-size: 14px;
|
||
color: #444;
|
||
}
|
||
.legal a {
|
||
margin-right: 1em;
|
||
}
|
||
@media(max-width: 700px) {
|
||
.broken-up {
|
||
display: block;
|
||
}
|
||
.main h1 {
|
||
font-size: 20px;
|
||
}
|
||
.main ul {
|
||
padding: 0;
|
||
}
|
||
}
|
||
</style>
|
||
<title>Veit Heller—Technologist at Large</title>
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Person",
|
||
"name": "Veit Heller",
|
||
"url": "https://veitheller.de/",
|
||
"jobTitle": "Technologist at Large",
|
||
"description": "Independent consultant for software architecture, security, and network automation",
|
||
"address": {
|
||
"@type": "PostalAddress",
|
||
"addressLocality": "Erlangen",
|
||
"addressCountry": "DE"
|
||
},
|
||
"email": "veit@veitheller.de",
|
||
"sameAs": [
|
||
"https://github.com/hellerve",
|
||
"https://blog.veitheller.de"
|
||
]
|
||
}
|
||
</script>
|
||
</head>
|
||
<body lang="en">
|
||
<div class="main">
|
||
<h1><b>Veit Heller</b><i>—Technologist at Large</i></h1>
|
||
<ul class="broken-up">
|
||
<li><a href="mailto:veit@veitheller.de">Email</a></li>
|
||
<li><a href="https://github.com/hellerve">Github</a></li>
|
||
<li><a href="https://blog.veitheller.de">Blog</a></li>
|
||
<li><a href="https://veitheller.de/talks.html">Talks & Publications</a></li>
|
||
<li><a href="https://veitheller.de/static/resume.pdf">CV</a></li>
|
||
</ul>
|
||
<p>
|
||
Nice to meet you! I’m Veit, an independent technologist in Erlangen. I help
|
||
companies, investors, and technical teams understand, build, secure, and
|
||
assess complex software systems.
|
||
</p>
|
||
<p><a href="https://calendly.com/veit-veitheller/coffee-chat">Talk to me</a></p>
|
||
<div class="definition">
|
||
<p class="summary">
|
||
<span class="word">Technologist at large</span>
|
||
<span class="pronounciation">[tek-ˈnä-lə-jist ət ˈlärj]</span>
|
||
</p>
|
||
<p class="pos">
|
||
<span>noun</span>
|
||
</p>
|
||
<p class="description">
|
||
one who is able to design, conceptualize, build, shape, or in any
|
||
other way influence computer systems, not bound to any particular
|
||
employer.
|
||
</p>
|
||
<p class="addendum">
|
||
See also: <a href="https://www.merriam-webster.com/dictionary/consultant">Consultant</a>,
|
||
<a href="https://www.merriam-webster.com/dictionary/contractor">Contractor</a>,
|
||
<a href="https://www.merriam-webster.com/dictionary/freelancer">Freelancer</a>.
|
||
</p>
|
||
</div>
|
||
<details id="current">
|
||
<summary>What I am doing right now</summary>
|
||
<p>
|
||
I’m currently in Erlangen, Germany, trying to understand how to take
|
||
care of new, tiny human beings, one of them in Kindergarten, and one
|
||
of them learning to talk. It’s more challenging and engaging than any
|
||
of my other projects.
|
||
</p>
|
||
<p>
|
||
I’m also working on application and infrastructure security and code
|
||
for various AI companies as well as help automate networks and support
|
||
due diligence work. It’s a lot all at once, but I wouldn’t have it any
|
||
other way.
|
||
</p>
|
||
</details>
|
||
<details id="services">
|
||
<summary>What I can do for you</summary>
|
||
<p>
|
||
I am occasionally available for consulting work. Here are a few
|
||
examples of work I could do for you:
|
||
</p>
|
||
<ul>
|
||
<li><b>Technical due diligence:</b> assess architecture, risks, security
|
||
posture, team and process maturity, and technical debt.</li>
|
||
<li><b>Security, ISMS & SSDLC:</b> help both with hands-on application
|
||
security and shape security processes that are both practical and hold
|
||
up in audits.</li>
|
||
<li><b>Network automation:</b> help ISPs, IXPs, and data center
|
||
providers automate their network deployment from source of truth to
|
||
device.</li>
|
||
<li><b>LLM and developer tooling:</b> build practical workflows, internal
|
||
tools, DX systems, evaluation, and integration.</li>
|
||
<li><b>Interim technical leadership:</b> support companies, founders,
|
||
and teams navigate challenging times while keeping an eye on the
|
||
product and technical direction.</li>
|
||
</ul>
|
||
<p>
|
||
I have worked with a wide array of technologies and companies and
|
||
consider myself a generalist—the best way to know whether I’m the right
|
||
person for your project is to ask me.
|
||
</p>
|
||
<p>
|
||
My ultimate goal is always to make myself replaceable. I want you to be
|
||
able to take over control whenever you think the right time has
|
||
come—ideally we find a moment together—, and I want you to be able to
|
||
pick up work exactly where I stopped. I don’t want you to become
|
||
dependent on me, and neither do you.
|
||
</p>
|
||
<p>
|
||
You can also take a look at <a href="/static/resume.pdf">my résumé</a>
|
||
or <a href="https://github.com/hellerve">my Github profile</a> if
|
||
you’re especially curious.
|
||
</p>
|
||
</details>
|
||
<details id="rates">
|
||
<summary>What I charge</summary>
|
||
<p>
|
||
My rates are fixed and follow a simple, but beautiful scheme:
|
||
</p>
|
||
<ul>
|
||
<li>
|
||
If your product is a closed source, proprietary solution, I charge
|
||
1,400€ per day.
|
||
</li>
|
||
<li>
|
||
If your product is open source, I charge 1,120€ per day, 100€ of which
|
||
will be donated to a charitable organization of my choice. If you want
|
||
to know which organizations I support and why, check out
|
||
<a href="https://blog.veitheller.de/Giving_to_Charities.html">my
|
||
blog post about it</a>!
|
||
</li>
|
||
</ul>
|
||
<p>
|
||
My workday has eight hours and I charge by the hour.
|
||
</p>
|
||
<p>I also give talks and run workshops; topics, formats, and rates are on
|
||
the <a href="/talks.html">Workshops, Talks, Publications</a> page.</p>
|
||
<p>If you have any questions about my rates or are unsure whether your
|
||
product qualifies as “open source”,
|
||
<a href="mailto:veit@veitheller.de">contact me</a>!</p>
|
||
</details>
|
||
<details id="contact">
|
||
<summary>How you can contact me</summary>
|
||
<p>
|
||
I love to hear from anyone who wants to share something
|
||
with me, especially if I can help you in any way!
|
||
</p>
|
||
<p>
|
||
If you have any questions, comments, or want me to help your product
|
||
succeed: <a href="mailto:veit@veitheller.de">reach out to me</a>. My
|
||
PGP key is available <a href="/static/pubkey.asc">on this
|
||
server</a>.
|
||
</p>
|
||
<p>
|
||
Of course, you can also contact me just to chat! To understand what I
|
||
can help you with and what I’m particularly interested in, check out
|
||
<a href="https://blog.veitheller.de/open_invite.html">my open
|
||
invitation</a>!
|
||
</p>
|
||
</details>
|
||
<footer class="legal">
|
||
<a href="./imprint.html">Imprint</a>
|
||
<a href="./gdpr_notice.html">GDPR Notice</a>
|
||
</footer>
|
||
</div>
|
||
<script>
|
||
// convenience for your linking pleasure. sorry for the hack.
|
||
let hash = location.hash.substring(1);
|
||
if (hash) {
|
||
let details = document.getElementById(hash);
|
||
if (details) details.open = true;
|
||
}
|
||
</script>
|
||
</body>
|
||
</html>
|