Home

resume @main - refs - log - search -
https://git.jolheiser.com/resume.git
My resume
tree log patch
feat: typst Signed-off-by: jolheiser <john.olheiser@gmail.com>
Signature
-----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEgqEQpE3xoo1QwJO/uFOtpdp7v3oFAmUsHgoACgkQuFOtpdp7 v3r9dQ/9GgiiQ7o8FMAqrDTR3Ax1bRyxkiBfoYo1qz5hO19EtDXua0pqEuyNto9U qK1M056AbC8h+/3ymYbxYbIPg8fxk3n5lfD2KQ2MJDWl0SRNhzCzx49sjV642fyq 7j7WYJrIyjdkL0AKY2CH8bQ+2aWwFf4f3JJiGjSHyUpVPuo2tv4o4SVurTkTudBv 4mEtFvXv0wnU1gmPf4bJeENf5Jjk+A6UxTE5tCwiePfNkpN/ju8wQT8NUQr5tSCY IDJ4/zgYp+9Br6/EBeuvZjmcA5FCzSTjwegfnsBoxm65acInfAnSu+lsZ3apT2Q7 Rz6pSwqSaB2M8AQPD31LqDYEEfRmipVFmO3MS7xRM91kE9/SDPi2CriElm/+g4Uj eRu39KOqpBAcqulfkq4Z3MXgOdcMHIb+EOKcQeW+ewM6E85J5DE+gz4IP0OIcloF hHMH8X+v/v5k0ZXJcEI6LK6anDOxwNI97Xd2451ddKVtD31BJpa+eT4OFkm5VHPs 9LHeYgh9E+sPKRzPRuo9dMz/1wtLfJN0NB+ch887acTcFM+NECIGNclcrHHTl34C OVA8BI/Lj2hZVtwfQCjpQPldsTI0xnp5RIdsXJNyxgZouxvRNi8TbjNhhezS1WOj SlgvTiVVhQYkT8ltZdOJglWysyhkH9tNOliWmZ4KUNIFqTj7nVc= =lZvj -----END PGP SIGNATURE-----
jolheiser <john.olheiser@gmail.com>
6 months ago
5 changed files, 280 additions(+), 0 deletions(-)
I .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..1390cf76b67923f8b35fdd4ddf4bca03ec360bb1
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+resume.pdf
+resume.png
I README.md
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..939d02d84165ef9e83b963df839954bc13a8d4f9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+My resume, built in both [LaTeX](https://www.latex-project.org/) and [Typst](https://typst.app/docs/).
+
+Typst will be the most up-to-date as it supersedes LaTeX.
I flake.lock
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000000000000000000000000000000000000..c6a714a9d8c4b9e4c802315822b50d767accb376
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,60 @@
+{
+  "nodes": {
+    "flake-utils": {
+      "inputs": {
+        "systems": "systems"
+      },
+      "locked": {
+        "lastModified": 1694529238,
+        "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
+        "type": "github"
+      },
+      "original": {
+        "owner": "numtide",
+        "repo": "flake-utils",
+        "type": "github"
+      }
+    },
+    "nixpkgs": {
+      "locked": {
+        "lastModified": 1697383814,
+        "narHash": "sha256-NoGJsi8R4GyQX6GHJS9lIXyrbrybqyqA8v6HVixHs5E=",
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "rev": "9606c209b83b772aea897eeb1468aec9d21033c3",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nixos",
+        "repo": "nixpkgs",
+        "type": "github"
+      }
+    },
+    "root": {
+      "inputs": {
+        "flake-utils": "flake-utils",
+        "nixpkgs": "nixpkgs"
+      }
+    },
+    "systems": {
+      "locked": {
+        "lastModified": 1681028828,
+        "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+        "owner": "nix-systems",
+        "repo": "default",
+        "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+        "type": "github"
+      },
+      "original": {
+        "owner": "nix-systems",
+        "repo": "default",
+        "type": "github"
+      }
+    }
+  },
+  "root": "root",
+  "version": 7
+}
I flake.nix
diff --git a/flake.nix b/flake.nix
new file mode 100644
index 0000000000000000000000000000000000000000..6b4d3a67aca4a8ba0c2fe88da5b08a83b0fa5b09
--- /dev/null
+++ b/flake.nix
@@ -0,0 +1,46 @@
+{
+  inputs = {
+    nixpkgs.url = "github:nixos/nixpkgs";
+    flake-utils.url = "github:numtide/flake-utils";
+  };
+
+  outputs = {
+    self,
+    flake-utils,
+    nixpkgs,
+  }:
+    flake-utils.lib.eachDefaultSystem (
+      system: let
+        pkgs = nixpkgs.legacyPackages.${system};
+      in {
+        packages.default = pkgs.stdenv.mkDerivation {
+          pname = "resume";
+          version = "typst";
+          src = ./.;
+          nativeBuildInputs = with pkgs; [
+            typst
+            raleway
+          ];
+          buildPhase = ''
+            runHook preBuild
+
+            mkdir -p $out/share
+            export TYPST_FONT_PATHS=${pkgs.raleway}/share/fonts
+            typst compile resume.typ $out/share/resume.pdf
+            typst compile resume.typ $out/share/resume.png
+
+            runHook postBuild
+          '';
+        };
+        devShells.default = pkgs.mkShell {
+          nativeBuildInputs = with pkgs; [
+            typst
+            raleway
+          ];
+          shellHook = ''
+            export TYPST_FONT_PATHS=${pkgs.raleway}/share/fonts
+          '';
+        };
+      }
+    );
+}
I resume.typ
diff --git a/resume.typ b/resume.typ
new file mode 100644
index 0000000000000000000000000000000000000000..1bfec5324d5ee7c704ad45b71d17d116f2f09a3d
--- /dev/null
+++ b/resume.typ
@@ -0,0 +1,169 @@
+#set page(paper: "us-letter", margin: .5in)
+#set text(size: 10pt, font: ("raleway"))
+#set table(
+  stroke: none,
+  inset: 3pt,
+  columns: (70%, 30%),
+  align: (x, y) => (left, right).at(x),
+)
+#set list(
+  spacing: 5pt,
+  indent: 15pt,
+  marker: strong[•],
+)
+
+// Header
+#show heading: it => [
+  #set text(25pt)
+  #block(below: 5pt, it.body)
+]
+
+#align(
+  center,
+)[
+    = #smallcaps[John Olheiser] \
+    #link(
+      "mailto:john.olheiser@gmail.com",
+    )[#underline(offset: 4pt)[john.olheiser\@gmail.com]]
+    $bar.v$ 701-425-6883$bar.v$
+    #link(
+      "https://www.linkedin.com/in/jolheiser/",
+    )[#underline(offset: 4pt)[linkedin.com/in/jolheiser]]
+  ]
+
+// Body
+#show heading: it => [
+  #set text(13pt, weight: "regular")
+  #block(
+    height: 14pt,
+    width: 100%,
+    stroke: (bottom: 1pt),
+    above: 10pt,
+    below: 5pt,
+    smallcaps(it.body),
+  )
+]
+#show table: it => [
+  #block(below: 4pt, it)
+]
+
+== Education
+<education>
+#table(
+  [#strong[Bachelors of Science in Computer Information
+        Systems]],
+  [#align(right)[Graduated August 2014]],
+  [#emph[University of Mary]],
+  [#emph[Bismarck, ND]],
+)
+
+== Professional Experience
+<professional-experience>
+#table(
+  [#strong[North Dakota Legislative Assembly]],
+  [July 2021 - Current],
+  [#emph[Software Development Engineer]],
+  [#emph[Bismarck, ND]],
+)
+
+- Increased application resiliency by replacing
+  manual testing and deployment processes with
+  automated continual integration, testing, and
+  deployment pipelines.
+
+- Enabled faster and safer development of new
+  features utilizing internal APIs through the
+  creation of API client wrappers in Java and
+  Python.
+
+- Improved developer experience and iteration time
+  by creating new internal CLI tooling using Go.
+
+#table(
+  [#emph[Programmer Analyst II]],
+  [#emph[September 2017 - July 2021]],
+)
+
+- Created legislative bill tracking system allowing
+  users to curate and track the status of bills from
+  mobile devices using Typescript, Angular, and
+  Java.
+
+- Enabled legislative body to receive remote
+  testimony by creating new testimony web
+  application using Python, Django, and PostgreSQL.
+
+- Coordinated migration of legacy Python 2
+  applications to Python 3 while maintaining
+  application support.
+
+#table(
+  [#emph[Programmer Analyst I]],
+  [#emph[January 2014 - September 2017]],
+)
+
+- Improved the ability of state social workers to
+  provide assistance by building evaluation and note
+  taking application using Java, Spring, and MySQL.
+
+- Lead effort to reduce vulnerabilities and improve
+  development velocity by upgrading critical
+  applications from Java 6 to Java 9.
+
+- Modernized team’s source control handling by
+  leading effort to migrate source code from
+  ClearCase and Subversion repositories to Git.
+
+== Open Source Experience
+<open-source-experience>
+#table(
+  [#strong[Gitea]],
+  [January 2019 - Current],
+  [#emph[Technical Oversight Committee Member]],
+  [#emph[#link("https://gitea.com/")[gitea.com]]],
+)
+
+- Core maintainer of the Gitea project, a Go based
+  open source self hosted git frontend and tooling
+  ecosystem.
+
+- Enhanced ability of users to listen for specific
+  event data when a repository changes through the
+  implementation of a webhook based event system.
+
+- Resolved security vulnerabilities through
+  application of security patches and implementing
+  automated security checks on codebase.
+
+#table(
+  [#strong[WoodpeckerCI]],
+  [October 2021 - Current],
+  [#emph[Contributor]],
+  [#emph[#link(
+        "https://woodpecker-ci.org/",
+      )[woodpecker-ci.org]]],
+)
+
+- Contributor to Woodpecker CI, an open source,
+  extensible, continuous integration tool for teams
+  to automate build, testing, and deployment
+  pipelines.
+
+- Lead effort to allow clients to more accurately
+  track changes in their woodpecker instances
+  through refactoring of logging system.
+
+- Improved end-user experience and onboarding by
+  creating and improving documentation for
+  woodpecker CLI
+
+= Technical Skills
+<technical-skills>
+#block[
+    #strong[Languages:] Java, Go, C\#, Python, SQL,
+    Javascript, Typescript\
+    #strong[Technologies:] Git, Docker, S3, Angular\
+    #strong[Other Knowledge:] Continuous Integration,
+    Continuous Deployment, Debugging, Test Driven
+    Development, HTML, CSS, REST
+  ]