Files
at-large/index.html
2025-09-19 08:50:33 -05:00

290 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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="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: #fafaf3;
}
.main {
max-width: 750px;
padding: 2em;
margin: auto;
padding-top: 1em;
}
.main h1 {
font-size: 28px;
font-weight: 400;
}
.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;
}
.main li {
list-style: circle;
}
.broken-up {
display: flex;
width: 100%;
padding: 0;
}
.broken-up li {
list-style: none;
padding-right: 1.5em;
}
.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;
}
.definition .addendum {
font-size: 16px;
}
.definition .description {
text-align: justify;
}
@media(max-width: 700px) {
.broken-up {
display: block;
}
.broken-up li {
list-style: circle;
}
.main h1 {
font-size: 20px;
}
.main ul {
padding: 0;
}
}
</style>
<title>Veit Heller—Technologist at Large</title>
</head>
<body lang="en">
<div class="main">
<h1>Veit Heller—Technologist at Large</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>
<li><a href="./imprint.html">Imprint</a></li>
<li><a href="./gdpr_notice.html">GDPR Notice</a></li>
</ul>
<p>
Nice to meet you! Im Veit, a programmer from Erlangen and a technologist
at large.
</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>
Im 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 stand. Its more challenging than any of my other
projects.
</p>
<p>
Im also working on security for
<a href="https://www.civitasconnect.digital/">Civitas Connect</a> and
their new version of
<a href="https://www.civitasconnect.digital/civitas-core/">CIVITAS/CORE</a>
as well as help automate networks and help build LLM systems and do the
occasional due diligence project. Its a lot all at once, but I wouldnt
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>
Help you figure out what technologies are well-suited for your
project, and create an actionable roadmap.
</li>
<li>
Design and architect software services, and help your team build
them.
</li>
<li>
Prototype a new idea or extension of your business, and meticulously
document the process and assumptions along the way so you can take
over painlessly.
</li>
<li>
Mentor developers and lead by example through honest and kind
review and code to build on top of.
</li>
</ul>
<p>
I have worked with a wide array of technologies and companies and
consider myself a generalist. Of course, this also means that Im not
an expert in any one field—the best way to know whether Im the right
person for your project is to ask me.
</p>
<p>
My ultimate goal is always to make myself replacable. 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 dont 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
youre 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>
<h4>Talks & Workshops</h4>
<p>I enjoy <a href="/talks.html">giving talks</a> and workshops.</p>
<p>Workshop topics I can cover include:</p>
<ul>
<li><a href="https://blog.veitheller.de/Threat_Modeling_For_the_Rest_of_Us.html">Threat modelling</a></li>
<li>ISMS and <a href="https://blog.veitheller.de/Simple_SSDLCs.html">SSDLC</a></li>
<li><a href="https://blog.veitheller.de/What_good_looks_like_in_a_data_room.html">Funding and buyer readiness</a></li>
<li>DX and tooling</li>
</ul>
<p>My rates are as follows:</p>
<ul>
<li>Community events: travel-only (free if remote)</li>
<li>Corporate talks (4560 min): 1,900€2,400€</li>
<li>Corporate talks (7590 min): 2,400€-2,800€</li>
<li>Half-day workshop (24h): 2,500€3,000€</li>
<li>Full-day workshop (68h): 4,200€4,800€</li>
<li>Prep and post is included</li>
<li>Remote incurs a 20% discount</li>
</ul>
<p>
Custom workshops are available; tell me your teams goals and Ill
tell you if I can help you.
</p>
<p>
If you have any questions about my rates, are unsure whether your
product qualifies as “open source”, or want to know more about the
kind of talks and workshops I offer,
<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 any- and everyone 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 Im particularly interested in, check out
<a href="https://blog.veitheller.de/open_invite.html">my open
invitation</a>!
</p>
</details>
</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>