Home

resume @main - refs - log -
-
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>
2 years ago
5 changed files, 280 additions(+), 0 deletions(-)
.gitignoreREADME.mdflake.lockflake.nixresume.typ
I .gitignore
1
2
3
4
5
6
7
8
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
1
2
3
4
5
6
7
8
9
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
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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
+  ]