|
|
<!DOCTYPE html>
|
|
|
<html lang="en">
|
|
|
<head>
|
|
|
<title>Dustin Swan - Resume</title>
|
|
|
|
|
|
<meta charset="UTF-8">
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
|
|
<!-- <script src="https://unpkg.com/alpinejs@3.x.x/dist/cdn.min.js" defer></script> -->
|
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
|
<script src="https://kit.fontawesome.com/024d65f707.js" crossorigin="anonymous"></script>
|
|
|
|
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/daisyui@2.41.0/dist/full.css" type="text/css" />
|
|
|
<link rel="stylesheet" href="https://code.cdn.mozilla.net/fonts/fira.css">
|
|
|
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>🦢</text></svg>">
|
|
|
<!-- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Iosevka/6.0.0/iosevka/iosevka.min.css"> -->
|
|
|
|
|
|
<style type="text/tailwindcss">
|
|
|
@font-face {
|
|
|
font-family: "Iosevka Web";
|
|
|
src: url("assets/iosevka-fixed-regular.woff2") format("woff2");
|
|
|
}
|
|
|
body {
|
|
|
font-family: "Fira Sans", sans-serif;
|
|
|
}
|
|
|
@layer base {
|
|
|
.section-title {
|
|
|
@apply uppercase font-semibold text-lg border-b-2 mb-4;
|
|
|
font-family: "Iosevka Web";
|
|
|
}
|
|
|
.subtitle {
|
|
|
@apply uppercase font-bold text-sm my-1;
|
|
|
font-family: "Iosevka Web";
|
|
|
}
|
|
|
.sidebar a {
|
|
|
@apply text-cyan-400 hover:text-cyan-200 transition-colors;
|
|
|
}
|
|
|
.main a {
|
|
|
@apply text-cyan-700 hover:text-cyan-500 transition-colors dark:text-cyan-200 dark:hover:text-cyan-300;
|
|
|
}
|
|
|
.sidebar ul {
|
|
|
@apply mb-6;
|
|
|
}
|
|
|
.sidebar li {
|
|
|
@apply mb-2;
|
|
|
font-family: "Iosevka Web";
|
|
|
}
|
|
|
.main li {
|
|
|
list-style-type: "› ";
|
|
|
@apply mb-1;
|
|
|
}
|
|
|
span[data-tip] {
|
|
|
@apply border-b border-dashed cursor-pointer;
|
|
|
}
|
|
|
}
|
|
|
</style>
|
|
|
</head>
|
|
|
|
|
|
<body class="bg-slate-300 dark:bg-slate-900 h-full">
|
|
|
<div class="h-full lg:container lg:mx-auto lg:flex min-h-screen shadow-xl">
|
|
|
<section class="main p-8 lg:px-12 lg:py-9 bg-slate-100 dark:bg-slate-700 dark:text-slate-200">
|
|
|
<h1 class="text-4xl mb-4 uppercase font-semibold border-b-2 py-2">Dustin Swan</h1>
|
|
|
|
|
|
<article class="pb-8">
|
|
|
<p class="py-1"><strong>Software Engineer</strong> with over 12 years experience architecting, implementing, and shipping secure, cross-platform applications. Proficient in functional and object-oriented programming paradigms; delivering clean, maintainable code; utilizing modern, standards-based web technologies.
|
|
|
</article>
|
|
|
|
|
|
<h3 class="section-title">Experience</h3>
|
|
|
|
|
|
<article class="pb-8">
|
|
|
<img src="assets/visionable.png" class="w-12 float-left mt-1 mr-4" />
|
|
|
<h4 class="text-lg font-bold">Front End & API Lead Software Engineer</h4>
|
|
|
<div><a href="https://www.visionable.com" target="_blank">Visionable UK Ltd</a> <i>(prev. IOCOM)</i> | 2009 - present</div>
|
|
|
|
|
|
<ul class="clear-left m-4 ml-0 lg:ml-16">
|
|
|
<li>Designed & developed our flagship responsive, cross-platform JavaScript video conferencing application</li>
|
|
|
<li>Architected, developed & documented our original RESTful APIs</li>
|
|
|
<li>Lead a team of 7 front- & back-end developers, creating an AWS SaaS API platform and a React + NextJS web application</li>
|
|
|
<li>Worked closely with Product & Design teams to quickly turn ideas into functional prototypes</li>
|
|
|
</ul>
|
|
|
</article>
|
|
|
|
|
|
<article class="pb-8">
|
|
|
<img src="assets/abbott.png" class="w-12 float-left mr-4" />
|
|
|
<h4 class="text-lg font-bold">Validation Engineer</h4>
|
|
|
<div><a href="https://www.abbott.com/" target="_blank">Abbott Laboratories</a> | 2007 - 2009</div>
|
|
|
|
|
|
<ul class="clear-left m-4 ml-0 lg:ml-16">
|
|
|
<li>Managed projects and assembled cross-functional teams to construct change plans and assess product impact</li>
|
|
|
<li>Authored changes to testing documentation and product design records</li>
|
|
|
<li>Processed changes to quality system and product documents to comply with medical device regulatory requirements</li>
|
|
|
<li>Programmed automated testing control procedures using the Laboratory Information Management System (LIMS)</li>
|
|
|
</ul>
|
|
|
</article>
|
|
|
|
|
|
<h3 class="section-title">Education</h3>
|
|
|
|
|
|
<article class="pb-8">
|
|
|
<img src="assets/uic.png" class="w-12 float-left mt-2 mr-4" />
|
|
|
<h4 class="text-lg font-bold">Bachelor of Science in Bioengineering</h4>
|
|
|
<i>with minors in Computer Science & Math</i>
|
|
|
<div><a href="https://www.uic.edu/" target="_blank">University of Illinois Chicago (UIC)</a> | 2007</div>
|
|
|
</article>
|
|
|
</section>
|
|
|
|
|
|
<section class="sidebar p-8 mb-8 lg:mb-0 lg:pt-16 lg:p-12 bg-slate-800 text-slate-100 lg:w-96 shrink-0 lg:order-first">
|
|
|
<h3 class="section-title">Contact</h3>
|
|
|
|
|
|
<ul>
|
|
|
<li>
|
|
|
<i class="mr-1 fa-solid fa-fw fa-envelope"></i>
|
|
|
<a href="mailto:dustin@dustinswan.com">dustin@dustinswan.com</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<i class="mr-1 fa-solid fa-fw fa-map"></i>
|
|
|
Upstate NY, USA
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<i class="mr-1 fa-solid fa-fw fa-house"></i>
|
|
|
<a href="https://www.dustinswan.com" target="_blank">dustinswan.com</a>
|
|
|
</li>
|
|
|
|
|
|
<li>
|
|
|
<i class="mr-1 fa-solid fa-fw fa-ellipsis"></i>
|
|
|
<a title="git" class="mr-1" href="https://git.dustinswan.com" target="_blank"><i class="mr-1 fa-brands fa-fw fa-git"></i></a>
|
|
|
<a title="LinkedIn" class="mr-1" href="https://www.linkedin.com/in/dustinswan" target="_blank"><i class="mr-1 fa-brands fa-fw fa-linkedin"></i></a>
|
|
|
<a title="Twitter" class="mr-1" href="https://twitter.com/dustinswan" target="_blank"><i class="mr-1 fa-brands fa-fw fa-twitter"></i></a>
|
|
|
<a title="Mastodon" class="mr-1" href="https://mastodon.social/@dustinswan" target="_blank"><i class="mr-1 fa-brands fa-fw fa-mastodon"></i></a>
|
|
|
<a title="PGP" class="mr-1" href="https://pgp.mit.edu/pks/lookup?op=get&search=0xAB49BD6B2B3A6377" target="_blank"><i class="mr-1 fa-solid fa-fw fa-lock"></i></a>
|
|
|
</li>
|
|
|
</ul>
|
|
|
|
|
|
<h3 class="section-title">Technologies</h3>
|
|
|
|
|
|
<h4 class="subtitle text-fuchsia-400">Expert in</h4>
|
|
|
|
|
|
<ul class="text-fuchsia-100">
|
|
|
<li><span class="tooltip tooltip-accent" data-tip="I started writing JavaScript in ~2008, and have recently (thankfully) made the switch to TypeScript. It's been a long journey! Gone are the days of manually futzing with the Prototype chain..">JavaScript</span> / NodeJS / HTML / <span class="tooltip tooltip-accent" data-tip="I ♡ CSS. Flexbox has increased my quality of life in a big way. I've also used a few preprocessors like Sass & Less, and I tried out Tailwind for the first time on this page - I think I like it!">CSS</a></li>
|
|
|
<li><span class="tooltip tooltip-accent" data-tip="I built our video conferencing web application using WebRTC. For the first few years it was a constant battle with Browsers changing their APIs every version, but that has mostly settled down. Safari is still awful, of course.">WebRTC</span> / WebSockets / REST / AJAX</li>
|
|
|
<li>React / Preact / MobX / MUI</li>
|
|
|
</ul>
|
|
|
|
|
|
<h4 class="subtitle text-emerald-400">Skilled in</h4>
|
|
|
|
|
|
<ul class="text-emerald-100">
|
|
|
<li>TypeScript / Deno / Electron / AWS</li>
|
|
|
<li>NextJS / Redux / RxJS / Zustand</li>
|
|
|
<li>PHP / ODBC / Postgres / SQLite</li>
|
|
|
<li>Git / Perforce / Jira / Bugzilla</li>
|
|
|
</ul>
|
|
|
|
|
|
<h4 class="subtitle text-amber-200">Excited About</h4>
|
|
|
|
|
|
<ul class="text-amber-50">
|
|
|
<li>Haskell / PureScript / Elm / Unison</li>
|
|
|
<li><span class="tooltip tooltip-accent" data-tip="I did Advent of Code 2020 in OCaml (see my Git repo), and it was pretty great.">OCaml</span> / <span class="tooltip tooltip-accent" data-tip="Then I did AoC 2021 in Racket. I didn't find it as easy as OCaml. I think I just need more practice with Lisp">Racket</span> / <span class="tooltip tooltip-accent" data-tip="Currently learning Rust. I'll be doing this year's AoC in it. Wish me luck!">Rust</span> / Wasm</li>
|
|
|
<li><span class="tooltip tooltip-accent" data-tip="Huge fan of Nix. I've replaced Homebrew on MacOS with Nix, I run NixOS on my VMs, and I use home-manager to manage my dotfiles. So good!">NixOS</span> / <span class="tooltip tooltip-accent" data-tip="I've been using vi since I was a teenager. I used Emacs for a few years (mostly for Org-mode), but came back to vi when Neovim started getting good.">Neovim</span> / Command Line ♡</li>
|
|
|
</ul>
|
|
|
</section>
|
|
|
</div>
|
|
|
</body>
|
|
|
</html>
|