<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <title>Technology Evangelist - Technology News, Articles, Blogs, and Interviews</title>
  <style>
    :root{
      --bg0:#070A12;
      --bg1:#0B1630;
      --ink:#EAF0FF;
      --muted:rgba(234,240,255,.78);
      --glass:rgba(255,255,255,.06);
      --stroke:rgba(255,255,255,.12);
      --accent:#7CF7D4;
      --accent2:#B889FF;
      --accent3:#FFB86B;
      --shadow: 0 24px 60px rgba(0,0,0,.45);
    }

    *{ box-sizing:border-box; }
    html,body{ height:100%; }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
      color:var(--ink);
      background:
        radial-gradient(900px 600px at 10% 15%, rgba(124,247,212,.16), transparent 55%),
        radial-gradient(800px 520px at 85% 18%, rgba(184,137,255,.18), transparent 58%),
        radial-gradient(900px 700px at 55% 95%, rgba(255,184,107,.12), transparent 55%),
        linear-gradient(180deg, var(--bg0), var(--bg1));
      overflow-x:hidden;
    }

    a {   color: inherit; }

    .frame{
      min-height:100%;
      padding:56px 18px 72px;
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .shell{
      width:min(1040px, 100%);
      position:relative;
    }

    .noise{
      position:absolute;
      inset:-40px;
      pointer-events:none;
      opacity:.08;
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
      mix-blend-mode:overlay;
    }

    .card{
      position:relative;
      background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
      border:1px solid var(--stroke);
      border-radius:22px;
      padding:34px 26px 28px;
      box-shadow:var(--shadow);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
    }

    .topline{
      display:flex;
      gap:10px;
      align-items:center;
      margin-bottom:12px;
      color:var(--muted);
      font-size:12.5px;
      letter-spacing:.18em;
      text-transform:uppercase;
      user-select:none;
    }
    .dot{
      width:10px; height:10px; border-radius:50%;
      background:conic-gradient(from 180deg, var(--accent), var(--accent2), var(--accent3), var(--accent));
      box-shadow:0 0 0 3px rgba(255,255,255,.06);
    }

    h1{
      margin:0 0 16px 0;
      font-size: clamp(28px, 4.2vw, 46px);
      line-height:1.05;
      letter-spacing:-0.02em;
      text-shadow: 0 10px 40px rgba(0,0,0,.35);
    }

    .rail{
      position:absolute;
      inset:auto 22px 18px 22px;
      height:2px;
      background:linear-gradient(90deg, transparent, rgba(124,247,212,.55), rgba(184,137,255,.55), rgba(255,184,107,.5), transparent);
      opacity:.55;
      filter:blur(.2px);
    }

    .corner{
      position:absolute;
      width:92px;
      height:92px;
      border-radius:18px;
      border:1px solid rgba(255,255,255,.14);
      background:linear-gradient(145deg, rgba(124,247,212,.10), rgba(184,137,255,.06));
      box-shadow: 0 14px 40px rgba(0,0,0,.25);
      transform: rotate(6deg);
      top:-18px;
      right:-16px;
    }
    .corner::after{
      content:"";
      position:absolute;
      inset:10px;
      border-radius:14px;
      border:1px dashed rgba(255,255,255,.16);
      opacity:.75;
    }

    p{
      margin:0 0 14px 0;
      color:var(--muted);
      font-size:16px;
      line-height:1.75;
    }
    p:last-of-type{ margin-bottom:0; }

    @media (min-width: 840px){
      .card{ padding:40px 44px 34px; }
      p{ font-size:16.5px; }
    }
  </style>
</head>
<body>
  <div class="frame">
    <main class="shell">
      <div class="noise" aria-hidden="true"></div>
      <section class="card">
        <div class="corner" aria-hidden="true"></div>
        <div class="topline"><span class="dot" aria-hidden="true"></span><span>Technology Evangelist</span><span>News · Articles · Blogs · Interviews</span></div>
        <h1>Technology Evangelist</h1>

        <p>AI coding assistants have become basically omnipresent at this point and it’s honestly just crazy to think how quickly it all happened. I remember when Copilot first came out and was met with this weird mix of “is this magic” and “ugh this is so buggy”. And now there’s Claude doing full re-factors, ChatGPT giving you a complete project from a couple sentences description, and a dozen other smaller tools which honestly sometimes do a better job at small things than the big generative models. But here’s the thing, the tools… well… aren’t going to be replacing developers any time soon (I’m dropping the hot take now) but they are DEFINITELY shifting the types of work that we do.</p>
        <p>I won’t beat around the bush on this one, it takes a particular kind of person to excel at this. Developer evangelism is objectively a ridiculous job in terms of skillset requirements. Coding-wise, you’ve got to be good enough that developers are not immediately dismissive when you share code with them, but not so good that you end up in engineering and never speak to another human. (I like to think I’m good at both though, what can I say? Dual threat.) Speaking is an obvious prerequisite. Presenting, after all, is a key part of the job. Workshops, podcasts, tweets half the time, when a JavaScript framework you use every day drops a breaking release at 2am. Writing, too, is key, because much of evangelism is written, in blog posts, documentation, GitHub READMEs that are…readable? Wow that’s rare when I think about it. Oh, and you better have the gift of the gab on top of all of that, or your community just won’t vibe with you. It’s a difficult thing to explain. Some days when I see the line-up for the next tech conference, I just shake my head at what people have to put up with to be great at this job.</p>
        <p>The downside is… the code produced can be meh? Like it works but isn’t good. It’ll do what you asked but often with missing edge cases or will produce something correct but an older dev will cry during code review (I myself have committed at least one of these heinous things that’s technically correct but no one should write). I’ve seen AI functions with massive responsibilities or doing too many things all in one go, or writing a correct answer but in an unnecessarily slow manner. It’s using pattern-matching to generate answers but it does not actually understand performance so it can do really stupid things. So of course you need to review everything super duper carefully (learned that the hard way after shipping a bug that was literally right there in the suggested code by AI)</p>
        <p>Truth is, this is what an actual day (for the most part, but I’ve spoken to dozens and they’re all similar) looks like: Mornings tend to be writing of some sort—docs, blogs, sample code, Twitter threads. Afternoons are sometimes internal meetings where you’re either arguing with product teams to get a bug fixed that will be embarrassing if you can’t demonstrate the feature at that conference event next week, or convincing product teams that yes, this feature that everyone’s asking for is important. (Internal arguments are very, very common for this job, FYI.) Evenings is when you “engage the community,” because developers are night owls, and they will be most active on Discord or Slack or whatever platform your community is hanging out on, then it’s evenings. Weekends? Blurred into work all the time, because there’s a hackathon or conference or something. This is why the burnout rate is through the roof.</p>
        <p>Authenticity is one of those perennial questions with this work. You are an employee of Company X, on the payroll to evangelize their products. Everyone knows that. But at the same time, you are supposed to be a trusted voice within the community to developers. Give it to them straight. Be “real” with them. When you work at some multi-national Fortune 500 with public stock, how does that work? The good evangelists navigate that tightrope by being actually critical when the moment demands it, even about the tech and products of their own company. They’ll tweet “yeah the new API version is rough in places, here’s the workaround I’m using,” not hawking their employer’s wares without a whiff of a critique. The bad evangelists are the literal walking billboards. You can smell their breath from across the conference hall.</p>
        <p>You also have to have a social media presence because let’s face it, that’s the age we live in. For an evangelist, that also becomes a kind of performance. Be the funny one. Be the deep-technical-one. Be the controversial hot-take machine. It doesn’t matter what you pick, you are on stage all the time. Streaming code on Twitch, making TikTok videos about debugging (yes this is real), arguing with randoms on Twitter about whether this new JavaScript framework really does solve a problem that developers have or whether it’s entirely arbitrary. It’s exhausting to watch for those of us that do not enjoy being micro-celebrities in tiny little circles of the tech community. And I don’t mean to say there are those of us in the mix and then you. There are so many of us doing this, watching each other to see who steps over the line or, worse, does not. Some of you relish this. You are made for it! You breathe the stuff. You have built brands from it. Good for you. But you can see the others with your eyes closed, forced to be “on” all the time, slowly dying inside. You can see it with your eyes closed.</p>
        <p>How one measures actual “impact” is so damn fuzzy. How do you know you’re doing a good job? Downloads of an SDK? Numbers of attendees at an event? Stars on GitHub repos? Tweets? Developer engagement in communities? Companies can track that sort of thing but it’s a herculean task to cleanly correlate “that evangelist did an excellent talk at that conference” and “signed up those three enterprise accounts.” It’s a tension that is never far below the surface. Management wants metrics, they want return on investment. They want numbers and email blasts and slides saved and webinars uploaded to YouTube. The evangelists are out there spinning their wheels, trying to cultivate relationships and build community. There’s value in both and it’s frustrating for everybody.</p>
        <p>Productivity is increased though and I don’t think anyone can deny that. I am getting features released probably 40% faster than I was two years ago, in part thanks to these AI assistants. Tasks like writing tests (I hate writing tests more than almost anything) or documentation or database migrations or whatever are necessary but highly tedious. AI doesn’t get bored or tired so it’ll happily churn out 50 unit tests while you work on the actually interesting parts. That’s valuable.</p>
        <p>As for the future, I think it’s pretty clear that we are not going back to a world where NOT using AI coding tools is even a thing. It’s just like using Stack Overflow is these days. The tools will only get better at context and start to avoid common pitfalls and eventually maybe they will actually be good at architecture level decisions and not just code generation. But we’re not there yet and tbh I’m not sure we want to be? There’s something very human about the skill of software development that I’m not sure we should be able to fully automate. But it is what it is for now. AI coding assistants are just another tool in the developer’s toolkit. Powerful. Useful. Frustrating at times. Not going anywhere.</p>

        <div class="rail" aria-hidden="true"></div>
      </section>
    </main>
  </div>
</body>
</html>
