<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>KW</title>
    <link rel="shortcut icon" href="images/favicon.png" />
    <link rel="stylesheet" type="text/css" href="css/style.css">

    <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.7.3/p5.js"></script>
    <script>
      let x;
      let y;
      let r;
      let g;
      let b;
      let pg;

      function setup() {
        pixelDensity(1);
        const cnv = createCanvas(windowWidth, windowHeight);
        cnv.id('sketch');

        const displayRatio = windowWidth / windowHeight;
        pg = createGraphics(100 * displayRatio, 100);
        x = pg.width / 2;
        y = pg.height / 2;
        r = random(0, 255);
        g = random(0, 255);
        b = random(0, 255);

        pg.noSmooth();
        noSmooth();
      }

      function draw() {
        let nextX = x + random(-5, 5);
        let nextY = y + random(-5, 5);
        nextX = constrain(nextX, 0, pg.width);
        nextY = constrain(nextY, 0, pg.height);

        r += random(-10, 10);
        g += random(-10, 10);
        b += random(-10, 10);
        r = constrain(r, 0, 255);
        g = constrain(g, 0, 255);
        b = constrain(b, 0, 255);

        pg.stroke(r, g, b);
        pg.line(nextX, nextY, x, y);

        image(pg, 0, 0, width, height);

        x = nextX;
        y = nextY;
      }

      function mousePressed() {
        x = pg.width * (mouseX / width);
        y = pg.height * (mouseY / height);
        r = random(0, 255);
        g = random(0, 255);
        b = random(0, 255);
      }

      function windowResized() {
        resizeCanvas(windowWidth, windowHeight);
      }
    </script>
  </head>
  <body>
    <div class="section centered">
      <img src="images/pixel-kevin.png" />
      <h2>Hello world!</h2>

      <p>I'm Kevin. I believe that code is more than just ones and zeroes. I believe coding is a <strong>craft</strong> that involves as much creativity as any other form of art. I'm a proponent of the <a href="https://en.wikipedia.org/wiki/Worse_is_better">worse is better</a> philosophy, and I think making things easier to understand is better than making things more complicated.<p>

      <p>I support diversity in tech, and I believe I have a responsibility to open the door for new coders- especially those who feel unwelcome, or who might not know how fun it is.</p>

      <p>I'm always looking for ways to get more involved in education, outreach, and mentorship, so please don't hesitate to reach out to me.</p>
    </div>

    <div class="section">
      <p>By day, I'm a software engineer at
        <strong><span style="color:#4285f4">G</span><span style="color:#db4437">o</span><span style="color:#f4b400">o</span><span style="color:#4285f4">g</span><span style="color:#0f9d58">l</span><span style="color:#db4437">e</span></strong>.</p>

      <p>I currently work for <strong>engEDU</strong>, where I help build the platforms used by initiatives like <a href="https://csfirst.withgoogle.com/">CS First</a>, <a href="https://applieddigitalskills.withgoogle.com/">Applied Digital Skills</a>, and various internal programs.</p>

      <p>Previously, I was the tech lead of a team within Google Maps. Here are some articles about projects I've been involved in:</p>

      <ul>
        <li><a href="https://blog.google/outreach-initiatives/small-business/supporting-black-business-owners/">New ways to support Black-owned businesses</a></li>
        <li><a href="https://blog.google/outreach-initiatives/small-business/business-profile-maps-and-search/">Update your Business Profile on Google Maps and Search</a></li>
        <li><a href="https://blog.google/inside-google/company-announcements/covid-19-how-were-continuing-to-help/">COVID-19: How we're continuing to help</a></li>
        <li><a href="https://blog.google/outreach-initiatives/small-business/adding-lgbtq-friendly-and-transgender-safe-space-attributes-google-my-business/">Adding “LGBTQ-friendly” and “Transgender Safe Space” attributes on Google My Business</a></li>
        <li><a href="https://www.searchenginejournal.com/how-to-get-a-business-on-google-before-it-opens-to-the-public/276795/">How to Get a Business on Google Before it Opens to the Public</a></li>
        <li><a href="https://searchengineland.com/you-can-now-add-your-business-description-in-google-my-business-295343">You can now add your business description in Google My Business</a></li>
      </ul>

      <hr>

      <p>I also helped run <a href="https://buildyourfuture.withgoogle.com/programs/softwareproductsprint/">Software Product Sprint</a> (formerly called CodeU) by writing the <a href="https://github.com/google/software-product-sprint">curriculum</a> and projects that the program used from 2017 - 2022.</p>

      <p>SPS is currently on hiatus, but you can find more info in these articles written by former participants:</p>

      <ul>
        <li><a href="https://code.likeagirl.io/my-summer-in-the-google-codeu-engineering-program-475666b322a2">My Summer in the Google CodeU Engineering Program</a></li>
        <li><a href="https://medium.com/@dnae.ferguson/the-secret-behind-googles-codeu-756d401c7750">The Secret Behind Google’s CodeU</a></li>
        <li><a href="https://medium.com/@rebeccazeng13/3-things-i-learned-from-google-codeu-3346a9c58bac">3 Things I Learned from Google CodeU</a></li>
        <li><a href="https://girlknowstech.com/google-student-retreat-2018-part2/">Attending the Google Student Retreat 2018</a>
      </ul>
    </div>

    <div class="section">
      <p>By night, I'm an adjunct professor at <a href="https://www.millersville.edu/">Millersville University</a>.</p>

      <p>I post all of <a href="https://happycoding.io/teaching/">my class content</a> online, and I'd love to connect with other teachers who want to reuse it in their own classrooms.</p>
    </div>

    <div class="section">
      <p>By later night, I post coding tutorials at <a href="https://happycoding.io">HappyCoding.io</a>!</p>

      <p>The tutorials start with the fundamentals in
        <a href="https://happycoding.io/tutorials/processing">Processing</a> and
        <a href="https://happycoding.io/tutorials/p5js">p5.js</a>, and go through more advanced topics including
        <a href="https://happycoding.io/tutorials/java">Java</a>,
        <a href="https://happycoding.io/tutorials/html">web development</a>,
        <a href="https://happycoding.io/tutorials/java-server">server-side coding</a>,
        <a href="https://happycoding.io/tutorials/java-server">Google Cloud</a>,
        <a href="https://happycoding.io/tutorials/android">Android</a>, and
        <a href="https://happycoding.io/tutorials/libgdx">libGDX</a>.</p>

      <p>Come say hi on the <a href="https://forum.happycoding.io">forum</a>!

      <hr>

      <p><p>I also sporadically post random thoughts to <a href="https://happycoding.io/blog">my blog</a>. Here are a few of my favorites:</p></p>
      <ul>
        <li><a href="https://happycoding.io/blog/checking-my-privilege">Checking My Privilege</a></li>
        <li><a href="https://happycoding.io/blog/ten-lessons-senior-software-engineering">Ten Lessons from "Senior" Software Engineering</a></li>
        <li><a href="https://happycoding.io/blog/ludum-memories">Ludum Memories</a></li>
        <li><a href="https://happycoding.io/blog/locus-of-control-learned-helplessness">Locus of Control and Learned Helplessness in Coding</a></li>
        <li><a href="https://happycoding.io/blog/ten-years">Ten Years of Coding on the Internet</a></li>
        <li><a href="https://happycoding.io/blog/subjective-side-of-code">The Subjective Side of Code</a></li>
        <li><a href="https://happycoding.io/blog/quadrilateral-of-creativity">The Quadrilateral of Creativity</a></li>
        <li><a href="https://happycoding.io/blog/the-power-of-boredom">The Power of Boredom</a></li>
      </ul>
    </div>

    <div class="section">
      <p>On <a href="https://stackoverflow.com/users/873165/kevin-workman">Stack Overflow</a> I mostly lurk in <a href="https://stackoverflow.com/questions/tagged/processing+or+processing.js+or+p5.js+or+processing-ide">various Processing tags</a>. I believe in helping people through <a href="https://happycoding.io/tutorials/how-to/program">the process</a> of solving their own problems.</p>

      <p>Here are some fun posts:</p>
      <ul>
        <li><a href="https://stackoverflow.com/a/33610546/873165">Different sorting algorithms fail on large arrays</a></li>
        <li><a href="https://stackoverflow.com/a/37971321/873165">How can I avoid this corruption on depth-sorted semi-transparent objects?</a></li>
        <li><a href="https://stackoverflow.com/a/37704321/873165">p5.js code doesn't throw errors, but won't load on mouse click</a></li>
        <li><a href="https://stackoverflow.com/a/34458704/873165">Drawing a Line from an Origin to a Destination in Processing</a></li>
        <li><a href="https://stackoverflow.com/a/36490348/873165">Processing.js HashMap</a></li>
        <li><a href="https://stackoverflow.com/a/46412863/873165">Running background in P5</a></li>
        <li><a href="https://stackoverflow.com/a/39040633/873165">How do I resize a drawing in a processing applet?</a></li>
        <li><a href="https://stackoverflow.com/a/42351103/873165">Generate a grid of adjacent points</a></li>
        <li><a href="https://stackoverflow.com/a/38559335/873165">Circle and Rectangle collision</a></li>
        <li><a href="https://stackoverflow.com/a/35604311/873165">How to determine rotation of 2 arm segments based on target point?</a></li>
      </ul>

      <p>And some other random nerdiness:</p>
      <ul>
        <li><a href="https://scifi.stackexchange.com/a/123811/26220">Why does Superman go to war in "Batman: The Dark Knight Returns"?</a></li>
        <li><a href="https://scifi.stackexchange.com/a/204021/26220">Why can Bubbles blush?</a></li>
        <li><a href="https://scifi.stackexchange.com/a/121704/26220">Are the Borg a species?</a></li>
        <li><a href="https://scifi.stackexchange.com/a/120838/26220">Why are there two #1s of The Unbeatable Squirrel Girl less than a year apart?</a></li>
        <li><a href="https://scifi.stackexchange.com/a/199015/26220">Are there any other episodes of Star Trek that deal with mental health?</a></li>
      </ul>
    </div>

    <div class="section">
      <p>Sometimes I take pictures.</p>

      <div style="position: relative;">
        <iframe style="display: block; width: 75%; margin-left: auto; margin-right: auto"
          src="https://photos.kevinworkman.com/frame/slideshow?key=Mm3534&autoStart=1&captions=0&navigation=0&playButton=0&randomize=1&speed=3&transition=fade&transitionSpeed=2"
          width="550" height="550" frameborder="no" scrolling="no"></iframe>
        <a href="https://photos.kevinworkman.com" style="position: absolute; top: 0; left: 0; display: inline-block; width: 550px; height: 550px; z-index:5;"></a>
      </div>

      <p>See more at <a href="https://photos.kevinworkman.com">photos.KevinWorkman.com</a>.
    </div>

    <div class="section" style="margin-bottom:25px;">
      <p>Here's <a href="/kevin-workman-resume.pdf">my full resume</a>.</p>

      <p>At this point in my career, I'm not really interested in a traditional software engineering role. I'm more interested in finding a job that aligns with my personal values and contains a mix of coding / building, writing curriculum content, and working directly with students and / or teachers.</p>

      <p>If you're recruiting for a position like that, GET AT ME.</p>

      <p>(kevinaworkman@gmail.com)</p>
    </div>

  </body>
</html>