jsonresume-theme-engineering 0.1.6 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -68
- package/README.md.backup +69 -0
- package/package.json +2 -1
- package/partials/item-details.hbs +18 -18
- package/partials/item-header.hbs +11 -11
- package/partials/item.hbs +5 -5
- package/public/index.html +201 -118
- package/resume.hbs +16 -16
- package/resume.letter.pdf +0 -0
- package/resume.png +0 -0
- package/views/awards.hbs +15 -15
- package/views/basics.hbs +21 -21
- package/views/education.hbs +29 -29
- package/views/languages-skills-interests.hbs +15 -15
- package/views/work.hbs +3 -3
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# jsonresume-theme-engineering [](https://www.npmjs.org/package/jsonresume-theme-engineering)
|
|
2
2
|
|
|
3
|
-
This is the engineering theme for [JSON Resume](http://jsonresume.org/),
|
|
3
|
+
This is the engineering theme for [JSON Resume](http://jsonresume.org/), based off of [jsonresume-theme-business-professional-compact](https://github.com/yechoorv/jsonresume-theme-business-professional-compact) and aims to implement the best practices for engineering resumes described in https://www.reddit.com/r/EngineeringResumes/wiki/index/. It is intended for [senior/staff level engineers](https://www.reddit.com/r/EngineeringResumes/wiki/index/#wiki_senior_engineers_and_above_.2810.2B_yoe.29).
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
@@ -23,33 +23,18 @@ Or if you're on OSX and got [Homebrew](http://brew.sh/) installed:
|
|
|
23
23
|
brew install node
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
### Download theme
|
|
27
|
-
|
|
28
|
-
Lets go ahead and download a [copy of the repository](https://github.com/skoenig/jsonresume-theme-engineering/archive/master.zip).
|
|
29
26
|
|
|
30
27
|
### Install npm packages
|
|
31
28
|
|
|
32
|
-
We need to install the dependencies
|
|
29
|
+
We need to install the dependencies:
|
|
33
30
|
|
|
34
31
|
```bash
|
|
35
32
|
npm install
|
|
36
33
|
```
|
|
37
34
|
|
|
38
|
-
This will read the local `package.json` and install the packages listed under `dependencies`.
|
|
39
|
-
|
|
40
|
-
### Install the command line
|
|
41
|
-
|
|
42
|
-
We're going to use the official [resume-cli](https://github.com/jsonresume/resume-cli) to run our development server.
|
|
43
|
-
|
|
44
|
-
Go ahead and install it:
|
|
45
|
-
|
|
46
|
-
```
|
|
47
|
-
npm install resume-cli
|
|
48
|
-
```
|
|
49
|
-
|
|
50
35
|
### Serve theme
|
|
51
36
|
|
|
52
|
-
|
|
37
|
+
If you do not provide a `resume.json` at the root directory level, copy the sample resume and run the development server:
|
|
53
38
|
|
|
54
39
|
```
|
|
55
40
|
cp sample-resume.json resume.json
|
|
@@ -63,9 +48,9 @@ Preview: http://localhost:4000
|
|
|
63
48
|
Press ctrl-c to stop
|
|
64
49
|
```
|
|
65
50
|
|
|
66
|
-
Congratulations, you've made it! You can now
|
|
51
|
+
Congratulations, you've made it! You can now start to modify this theme (see Contribute section below).
|
|
67
52
|
|
|
68
|
-
##
|
|
53
|
+
## PDF Export
|
|
69
54
|
To export your resume, you can run the following command below. This will automatically create a `resume.pdf` file within your current directory:
|
|
70
55
|
|
|
71
56
|
```
|
|
@@ -74,56 +59,11 @@ npm run export
|
|
|
74
59
|
|
|
75
60
|
Alternatively, you can also do a **print page** on the browser and save it as as PDF (by setting margins to none and removing header/footers.)
|
|
76
61
|
|
|
77
|
-
##
|
|
78
|
-
|
|
79
|
-
### Overview
|
|
80
|
-
|
|
81
|
-
Quick overview of each of the files needed for this JSONResume theme:
|
|
82
|
-
|
|
83
|
-
- `package.json`: Your package.json is required by all npm packages. Everytime you want to release a new update of your theme, you'll need to update it's version number.
|
|
84
|
-
- `index.js`: This is the file that will return the needed HTML to the theme server. You can use it to process some things with your theme first, but we'll talk about that a bit later.
|
|
85
|
-
- `resume.hbs`: This is your actual template. This file is sent to the `index.js` for it to send to the theme server.
|
|
86
|
-
- `style.css`: This is where all the CSS of your project goes. Since the `index.js` only returns HTML, the contents of this file are put between `<style>` tags in your `resume.hbs` file.
|
|
87
|
-
|
|
88
|
-
### package.json
|
|
89
|
-
|
|
90
|
-
Because you'll need to publish this as your own soon, you'll need to change some of the fields. You can replace the name field with your own theme name, so long as it starts with `jsonresume-theme-`. This prefix will allow your theme to be found by the theme server during deployment.
|
|
91
|
-
|
|
92
|
-
Next, you'll want to change the description and author. You can change the description to anything you'd like, and the author should be your name.
|
|
93
|
-
|
|
94
|
-
If you are also putting your theme up on Github, you'll probably want to keep the repository field, but replace the url with your own.
|
|
95
|
-
|
|
96
|
-
Lastly, you can put all of your theme dependencies in the `dependencies` field. As you can see, we already have [Handlebars](http://handlebarsjs.com/) as one of the dependencies. If you wish not to use Handlebars, you may remove this, and replace it with another templating system.
|
|
97
|
-
|
|
98
|
-
### index.js
|
|
99
|
-
|
|
100
|
-
The `index.js` is where all the compiling of your theme, and necessary edits will go.
|
|
101
|
-
|
|
102
|
-
At the top, you can already see the Node.js `require` function being used with the dependencies. You can obviously add own dependencies, if you are planning on using a different templating system, you can remove it.
|
|
103
|
-
|
|
104
|
-
The most important part of `index.js` is the `render` function. This is where all the compilation goes. This render function is expected to take a resume object (from a `resume.json`), and should return HTML. In this case, it is returning a compiled Handlebars document. If you removed the Handlebars dependency, you'll want to remove it and replace it with your own templating system compilation.
|
|
105
|
-
|
|
106
|
-
Above the `return` line are css and template variables. Using the Node.js `fs` module, it reads first the `style.css` and the `resume.hbs`.
|
|
107
|
-
|
|
108
|
-
### resume.hbs
|
|
109
|
-
|
|
110
|
-
The `resume.hbs` file is where the actual template is. It contains all of the markup needed for your resume. By default, this is a Handlebars document, but it can obviously be changed into a different templating document.
|
|
111
|
-
|
|
112
|
-
### style.css
|
|
113
|
-
|
|
114
|
-
Last but not least, the `style.css` defines your styles. Technically, this is completely optional, as you could just write all of your styles in the `<style>` tags of your `resume.hbs`. As the `index.js`, the contents of the `style.css` are put into the `<style>` tags of your compiled theme later, yet again, this is something can change.
|
|
115
|
-
|
|
116
|
-
## Deployment
|
|
117
|
-
|
|
118
|
-
If you are familiar with NPM, you should be done with this in no time.
|
|
119
|
-
|
|
120
|
-
If you already have an NPM account, you can run `npm login` and enter your username and password. If not, you can run `npm adduser` and fill in the proper fields.
|
|
121
|
-
|
|
122
|
-
If you changed the dependencies or added new ones, you'll want to run `npm install` again, and just to make sure, run `npm update` to get the latest version of each dependency.
|
|
62
|
+
## Contribute
|
|
123
63
|
|
|
124
|
-
|
|
64
|
+
Currently, this theme is still based on the old [jsonresume-theme-boilerplate](https://github.com/jsonresume/jsonresume-theme-boilerplate), so a look at the README will give you an overview of the files involved in theme modification.
|
|
125
65
|
|
|
126
|
-
|
|
66
|
+
Contributions to the implementation of new functions or bug fixes are very welcome!
|
|
127
67
|
|
|
128
68
|
## License
|
|
129
69
|
|
package/README.md.backup
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# jsonresume-theme-engineering [](https://www.npmjs.org/package/jsonresume-theme-engineering)
|
|
2
|
+
|
|
3
|
+
This is the engineering theme for [JSON Resume](http://jsonresume.org/), based off of [jsonresume-theme-business-professional-compact](https://github.com/yechoorv/jsonresume-theme-business-professional-compact) and aims to implement the best practices for engineering resumes described in https://www.reddit.com/r/EngineeringResumes/wiki/index/. It is intended for [senior/staff level engineers](https://www.reddit.com/r/EngineeringResumes/wiki/index/#wiki_senior_engineers_and_above_.2810.2B_yoe.29).
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## Getting started
|
|
8
|
+
|
|
9
|
+
To get started with theme development, this is what you'll need:
|
|
10
|
+
|
|
11
|
+
- [node.js](http://howtonode.org/how-to-install-nodejs)
|
|
12
|
+
- [npm](http://howtonode.org/introduction-to-npm)
|
|
13
|
+
|
|
14
|
+
If you're on Linux, you can simply run:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
sudo apt-get install nodejs-legacy npm
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Or if you're on OSX and got [Homebrew](http://brew.sh/) installed:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
brew install node
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Install npm packages
|
|
28
|
+
|
|
29
|
+
We need to install the dependencies:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npm install
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
### Serve theme
|
|
37
|
+
|
|
38
|
+
If you do not provide a resume.json at the root directory level, copy the sample resume and run the development server:
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
cp sample-resume.json resume.json
|
|
42
|
+
npm start
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
You should now see this message:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
Preview: http://localhost:4000
|
|
49
|
+
Press ctrl-c to stop
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Congratulations, you've made it! You can now start to modify this theme (see Development section below).
|
|
53
|
+
|
|
54
|
+
## PDF Export
|
|
55
|
+
To export your resume, you can run the following command below. This will automatically create a `resume.pdf` file within your current directory:
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
npm run export
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Alternatively, you can also do a **print page** on the browser and save it as as PDF (by setting margins to none and removing header/footers.)
|
|
62
|
+
|
|
63
|
+
## Development
|
|
64
|
+
|
|
65
|
+
Currently, this theme is still based on the old [jsonresume-theme-boilerplate](https://github.com/jsonresume/jsonresume-theme-boilerplate), so a look at the README will give you an overview of the files involved in theme modification.
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
Available under [the MIT license](http://mths.be/mit).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jsonresume-theme-engineering",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "JSON Resume theme for engineers",
|
|
5
5
|
"author": "Sören König",
|
|
6
6
|
"repository": {
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"handlebars": "^4.7.7",
|
|
18
18
|
"handlebars-wax": "^6.1.0",
|
|
19
19
|
"moment": "^2.29.4",
|
|
20
|
+
"resume-cli": "^3.0.8",
|
|
20
21
|
"swag": "^0.7.0"
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
<div class="item-details">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
</div>
|
|
2
|
+
{{#if location}}
|
|
3
|
+
<div class="item-details-title">
|
|
4
|
+
{{location}}
|
|
5
|
+
</div>
|
|
6
|
+
{{/if}}
|
|
7
|
+
{{#if startDate}}
|
|
8
|
+
{{#if endDate}}
|
|
9
|
+
<div class="date">
|
|
10
|
+
{{formatDate startDate}} — {{formatDate endDate}}{{#if startDate2}}{{#if endDate2}}, {{formatDate startDate2}} —
|
|
11
|
+
{{formatDate endDate2}}{{else}}, {{formatDate startDate2}} — Present{{/if}}{{/if}}
|
|
12
|
+
</div>
|
|
13
|
+
{{else}}
|
|
14
|
+
<div class="date">
|
|
15
|
+
{{formatDate startDate}} — Present
|
|
16
|
+
</div>
|
|
17
|
+
{{/if}}
|
|
18
|
+
{{/if}}
|
|
19
|
+
</div>
|
package/partials/item-header.hbs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<div class="item-header">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
</div>
|
|
2
|
+
{{#if title}}
|
|
3
|
+
<div class="item-header-title">
|
|
4
|
+
{{title}}
|
|
5
|
+
</div>
|
|
6
|
+
{{/if}}
|
|
7
|
+
{{#if subtitle}}
|
|
8
|
+
<div class="item-header-subtitle">
|
|
9
|
+
{{subtitle}}
|
|
10
|
+
</div>
|
|
11
|
+
{{/if}}
|
|
12
|
+
</div>
|
package/partials/item.hbs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div class="item">
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
</div>
|
|
2
|
+
{{> item-header title=title subtitle=subtitle }}
|
|
3
|
+
{{> item-details location=location startDate=startDate endDate=endDate }}
|
|
4
|
+
<div class="clearfix"></div>
|
|
5
|
+
{{> @partial-block }}
|
|
6
|
+
</div>
|
package/public/index.html
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html>
|
|
3
|
-
|
|
3
|
+
<head>
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, user-scalable=no, minimal-ui">
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
<title>Sören König</title>
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
<style>
|
|
11
|
+
/* Template level */
|
|
12
12
|
body {
|
|
13
13
|
font-family: Georgia, serif;
|
|
14
14
|
font-size: 11px;
|
|
@@ -111,116 +111,199 @@ a {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
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
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
114
|
+
</style>
|
|
115
|
+
|
|
116
|
+
</head>
|
|
117
|
+
<body>
|
|
118
|
+
|
|
119
|
+
<div id="resume">
|
|
120
|
+
<section id="basics">
|
|
121
|
+
<h1>Sören König</h1>
|
|
122
|
+
<div class="contact centered">
|
|
123
|
+
<span class="vertical-separator">soeren.koenig@mailbox.org</span>
|
|
124
|
+
<span class="vertical-separator">+49151-41613201</span>
|
|
125
|
+
<span class="vertical-separator">Berlin, DE</span>
|
|
126
|
+
<span class="vertical-separator">https://github.com/skoenig</span>
|
|
127
|
+
</div>
|
|
128
|
+
<div class="summary">
|
|
129
|
+
<h2>Summary</h2>
|
|
130
|
+
<p>Senior Site Reliability Engineer with 15 years of experience, showcasing expertise in Observability, Infrastructure as Code, Automation, and CI/CD. Proficient in systems monitoring, configuration management, and back-end development, contributing to the design, implementation, and operation of distributed and scalable systems. Prioritizes inter-team collaboration, adherence to DevOps best practices, and pragmatic solutions. Currently engaged in a team effort to establish infrastructure for an online retail sustainability solution with a 20% year-on-year traffic increase, resulting in keeping up the 99.95% SLO for over 260 merchants.</p>
|
|
131
|
+
</div>
|
|
132
|
+
</section>
|
|
133
|
+
<section id="skills">
|
|
134
|
+
<h2>Skills</h2>
|
|
135
|
+
<ul class="item">
|
|
136
|
+
<li>
|
|
137
|
+
<strong>DevOps</strong>: Agile Methodologies, Cross-functional Communication, Git, Kubernetes, Terraform, Helm, Docker, HashiCorp Packer, GCP Cloudbuild, GitHub Actions, Jenkins, Prometheus, Grafana, SaltStack, Ansible, Puppet, Maven, Linux
|
|
138
|
+
</li>
|
|
139
|
+
<li>
|
|
140
|
+
<strong>Cloud Technologies</strong>: Google Cloud Platform (GCP), Amazon Web Services (AWS), Heroku, DigitalOcean, Cloudflare
|
|
141
|
+
</li>
|
|
142
|
+
<li>
|
|
143
|
+
<strong>Backend Development</strong>: Python, Bash, Go, Node.js
|
|
144
|
+
</li>
|
|
145
|
+
<li>
|
|
146
|
+
<strong>Datastores</strong>: PostgreSQL, MySQL / MariaDB, Redis, Memcached, Kafka
|
|
147
|
+
</li>
|
|
148
|
+
</ul>
|
|
149
|
+
</section>
|
|
150
|
+
<section id="work">
|
|
151
|
+
<h2>Work Experience</h2>
|
|
152
|
+
<div class="item">
|
|
153
|
+
<div class="item-header">
|
|
154
|
+
<div class="item-header-title">
|
|
155
|
+
Fit Analytics GmbH
|
|
156
|
+
</div>
|
|
157
|
+
<div class="item-header-subtitle">
|
|
158
|
+
Senior DevOps Engineer
|
|
159
|
+
</div>
|
|
160
|
+
</div>
|
|
161
|
+
<div class="item-details">
|
|
162
|
+
<div class="date">
|
|
163
|
+
Oct 2020 — Present
|
|
164
|
+
</div>
|
|
165
|
+
</div>
|
|
166
|
+
<div class="clearfix"></div>
|
|
167
|
+
|
|
168
|
+
<ul class="highlights">
|
|
169
|
+
<li>Accelerated Dataflow pipeline performance, processing 570k items from over 24 hours to 20 minutes.</li>
|
|
170
|
+
<li>Overhauled CI/CD to increase deployment speed by 56%, reduce pipeline complexity from 37 to 5 steps, and enhancing stability for higher code change frequency.</li>
|
|
171
|
+
<li>Pioneered incident management process including on-call rotation across three teams and blameless Post Mortems to ensure reliability and service quality of critical production systems.</li>
|
|
172
|
+
<li>Enhanced provisioning speed, operatability, and query latency by 66% of MySQL read-replicas.</li>
|
|
173
|
+
<li>Collaborated with cross-functional teams to define production readiness standards for 5 core services.</li>
|
|
174
|
+
<li>Orchestrated infrastructure reproducibility for three environments using Terraform and Helm, resulting in streamlined deployments and enhanced scalability.</li>
|
|
175
|
+
<li>Collaborated on game days and load tests, identifying and resolving performance bottlenecks.</li>
|
|
176
|
+
</ul>
|
|
177
|
+
</div>
|
|
178
|
+
<div class="item">
|
|
179
|
+
<div class="item-header">
|
|
180
|
+
<div class="item-header-title">
|
|
181
|
+
Zalando SE
|
|
182
|
+
</div>
|
|
183
|
+
<div class="item-header-subtitle">
|
|
184
|
+
DevOps Engineer
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
<div class="item-details">
|
|
188
|
+
<div class="date">
|
|
189
|
+
May 2014 — Oct 2020
|
|
190
|
+
</div>
|
|
191
|
+
</div>
|
|
192
|
+
<div class="clearfix"></div>
|
|
193
|
+
|
|
194
|
+
<ul class="highlights">
|
|
195
|
+
<li>Collaborated on migrating 120 production microservices to AWS with feature teams and stakeholders.</li>
|
|
196
|
+
<li>Cut build time by 32% for migration of legacy Java stack to Docker by creating tools for automation.</li>
|
|
197
|
+
<li>Build, configure, maintain and operate a heterogeneous infrastructure of ~2,000 Linux VMs running on ~750 servers in three data centers with Puppet and SaltStack.</li>
|
|
198
|
+
<li>Integrated a customized CMDB with provisioning, monitoring and auditing systems to achieve near 100% infrastructure coverage.</li>
|
|
199
|
+
<li>Initiated the adoption of team runbooks to standardize documentation for incident response.</li>
|
|
200
|
+
<li>Mentoring and guidance of three trainees throughout the apprenticeship in different teams.</li>
|
|
201
|
+
</ul>
|
|
202
|
+
</div>
|
|
203
|
+
<div class="item">
|
|
204
|
+
<div class="item-header">
|
|
205
|
+
<div class="item-header-subtitle">
|
|
206
|
+
Software Developer
|
|
207
|
+
</div>
|
|
208
|
+
</div>
|
|
209
|
+
<div class="item-details">
|
|
210
|
+
<div class="date">
|
|
211
|
+
Dec 2013 — May 2014
|
|
212
|
+
</div>
|
|
213
|
+
</div>
|
|
214
|
+
<div class="clearfix"></div>
|
|
215
|
+
|
|
216
|
+
<ul class="highlights">
|
|
217
|
+
<li>Transformed processes as interim PO for team of 6 system engineers using Lean Management methods.</li>
|
|
218
|
+
<li>Contributed to a CI/CD project, reducing the deployment time per developer per week by 40 minutes.</li>
|
|
219
|
+
<li>Migrated a huge codebase (biggest repository: ~200,000 commits, ~5 years of history) from SVN to Git to transform developer workflow.</li>
|
|
220
|
+
<li>Automated provisioning of servers to shorten time-to-production from 4 hours to around one hour.</li>
|
|
221
|
+
<li>Optimized system provisioning and patching with a package cache, achieving 96% data reduction.</li>
|
|
222
|
+
</ul>
|
|
223
|
+
</div>
|
|
224
|
+
<div class="item">
|
|
225
|
+
<div class="item-header">
|
|
226
|
+
<div class="item-header-subtitle">
|
|
227
|
+
Systems Engineer
|
|
228
|
+
</div>
|
|
229
|
+
</div>
|
|
230
|
+
<div class="item-details">
|
|
231
|
+
<div class="date">
|
|
232
|
+
Aug 2011 — Dec 2013
|
|
233
|
+
</div>
|
|
234
|
+
</div>
|
|
235
|
+
<div class="clearfix"></div>
|
|
236
|
+
|
|
237
|
+
<ul class="highlights">
|
|
238
|
+
<li>Operated Zalando's fast growing infrastructure of 90 on-premise servers, swiftly resolving issues, minimizing downtime, and ensuring high availability.</li>
|
|
239
|
+
<li>Improved the Nagios/Icinga monitoring setup, achieving 100% alerting coverage and reducing MTTD.</li>
|
|
240
|
+
<li>Implemented tools for automating system administration, significantly boosting operational efficiency.</li>
|
|
241
|
+
</ul>
|
|
242
|
+
</div>
|
|
243
|
+
<div class="item">
|
|
244
|
+
<div class="item-header">
|
|
245
|
+
<div class="item-header-title">
|
|
246
|
+
WinRAR GmbH
|
|
247
|
+
</div>
|
|
248
|
+
<div class="item-header-subtitle">
|
|
249
|
+
Software Developer
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
<div class="item-details">
|
|
253
|
+
<div class="date">
|
|
254
|
+
Jul 2010 — Aug 2011
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
<div class="clearfix"></div>
|
|
258
|
+
|
|
259
|
+
<ul class="highlights">
|
|
260
|
+
<li>Designed and developed tools encompassing contract and partner management, marketing campaign tracking, and traffic analytics, resulting in increased efficiency and streamlined processes.</li>
|
|
261
|
+
<li>Supported automated installation, configuration, monitoring and maintenance of the data center servers, ensuring optimal performance and minimizing downtime for critical applications.</li>
|
|
262
|
+
<li>Revamped the company website, significantly enhancing user experience and maintainability.</li>
|
|
263
|
+
</ul>
|
|
264
|
+
</div>
|
|
265
|
+
</section>
|
|
266
|
+
<section id="education">
|
|
267
|
+
<h2>Education</h2>
|
|
268
|
+
<div class="item">
|
|
269
|
+
<div class="item-header">
|
|
270
|
+
<div class="item-header-title">
|
|
271
|
+
IHK Berlin
|
|
272
|
+
</div>
|
|
273
|
+
<div class="item-header-subtitle">
|
|
274
|
+
Certified Instructor
|
|
275
|
+
</div>
|
|
276
|
+
</div>
|
|
277
|
+
<div class="item-details">
|
|
278
|
+
</div>
|
|
279
|
+
<div class="clearfix"></div>
|
|
280
|
+
</div>
|
|
281
|
+
<div class="item">
|
|
282
|
+
<div class="item-header">
|
|
283
|
+
<div class="item-header-title">
|
|
284
|
+
OSZIMT
|
|
285
|
+
</div>
|
|
286
|
+
<div class="item-header-subtitle">
|
|
287
|
+
Associate of Applied Science
|
|
288
|
+
</div>
|
|
289
|
+
</div>
|
|
290
|
+
<div class="item-details">
|
|
291
|
+
</div>
|
|
292
|
+
<div class="clearfix"></div>
|
|
293
|
+
</div>
|
|
294
|
+
<div class="item">
|
|
295
|
+
<div class="item-header">
|
|
296
|
+
<div class="item-header-title">
|
|
297
|
+
Humboldt University Berlin
|
|
298
|
+
</div>
|
|
299
|
+
<div class="item-header-subtitle">
|
|
300
|
+
Diploma (incomplete)
|
|
301
|
+
</div>
|
|
302
|
+
</div>
|
|
303
|
+
<div class="item-details">
|
|
304
|
+
</div>
|
|
305
|
+
<div class="clearfix"></div>
|
|
306
|
+
</div>
|
|
307
|
+
</section>
|
|
308
|
+
</body>
|
|
226
309
|
</html>
|
package/resume.hbs
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
2
|
<html>
|
|
3
|
-
|
|
3
|
+
<head>
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
<meta charset="utf-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, user-scalable=no, minimal-ui">
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
<title>{{#resume.basics}}{{name}}{{/resume.basics}}</title>
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
<style>
|
|
11
|
+
{{{css}}}
|
|
12
|
+
</style>
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
</head>
|
|
15
|
+
<body>
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
<div id="resume">
|
|
18
|
+
{{> basics }}
|
|
19
|
+
{{> languages-skills-interests }}
|
|
20
|
+
{{> work }}
|
|
21
|
+
{{> education }}
|
|
22
|
+
{{> awards }}
|
|
23
|
+
</body>
|
|
24
24
|
</html>
|
|
Binary file
|
package/resume.png
CHANGED
|
Binary file
|
package/views/awards.hbs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{{#if resume.awards.length}}
|
|
2
2
|
<section id="awards">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
<h2>Awards & Recognitions</h2>
|
|
4
|
+
<ul class="item">
|
|
5
|
+
{{#each resume.awards}}
|
|
6
|
+
<li>
|
|
7
|
+
{{#if title}}
|
|
8
|
+
{{#if summary}}
|
|
9
|
+
<strong>{{title}}</strong>: {{summary}}
|
|
10
|
+
{{else}}
|
|
11
|
+
<strong>{{title}}</strong>
|
|
12
|
+
{{/if}}
|
|
13
|
+
{{/if}}
|
|
14
|
+
</li>
|
|
15
|
+
{{/each}}
|
|
16
|
+
</ul>
|
|
17
17
|
</section>
|
|
18
|
-
{{/if}}
|
|
18
|
+
{{/if}}
|
package/views/basics.hbs
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{{#resume.basics}}
|
|
2
2
|
<section id="basics">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
3
|
+
<h1>{{name}}</h1>
|
|
4
|
+
<div class="contact centered">
|
|
5
|
+
{{#if email~}}
|
|
6
|
+
<span class="vertical-separator">{{email}}</span>
|
|
7
|
+
{{~/if}}
|
|
8
|
+
{{#if phone~}}
|
|
9
|
+
<span class="vertical-separator">{{phone}}</span>
|
|
10
|
+
{{~/if}}
|
|
11
|
+
{{#if location~}}
|
|
12
|
+
<span class="vertical-separator">{{location.city}}, {{location.countryCode}}</span>
|
|
13
|
+
{{~/if}}
|
|
14
|
+
{{#if website~}}
|
|
15
|
+
<span class="vertical-separator">{{website}}</span>
|
|
16
|
+
{{~/if}}
|
|
17
|
+
</div>
|
|
18
|
+
{{#if summary}}
|
|
19
|
+
<div class="summary">
|
|
20
|
+
<h2>Summary</h2>
|
|
21
|
+
<p>{{summary}}</p>
|
|
22
|
+
</div>
|
|
23
|
+
{{/if}}
|
|
24
24
|
</section>
|
|
25
25
|
{{/resume.basics}}
|
package/views/education.hbs
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
{{#if resume.education.length}}
|
|
2
2
|
<section id="education">
|
|
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
|
-
|
|
3
|
+
<h2>Education</h2>
|
|
4
|
+
{{#each resume.education}}
|
|
5
|
+
{{#> item title=institution subtitle=studyType location=city startDate=startDate endDate=endDate}}
|
|
6
|
+
{{#if score}}
|
|
7
|
+
<ul>
|
|
8
|
+
<li>
|
|
9
|
+
<div class="score">
|
|
10
|
+
{{score}}
|
|
11
|
+
</div>
|
|
12
|
+
</li>
|
|
13
|
+
{{#if score2}}
|
|
14
|
+
<li>
|
|
15
|
+
<div class="score2">
|
|
16
|
+
{{score2}}
|
|
17
|
+
</div>
|
|
18
|
+
</li>
|
|
19
|
+
{{/if}}
|
|
20
|
+
</ul>
|
|
21
|
+
{{/if}}
|
|
22
|
+
{{#if courses.length}}
|
|
23
|
+
<ul class="courses">
|
|
24
|
+
{{#each courses}}
|
|
25
|
+
<li>{{.}}</li>
|
|
26
|
+
{{/each}}
|
|
27
|
+
</ul>
|
|
28
|
+
{{/if}}
|
|
29
|
+
{{/item}}
|
|
30
|
+
{{/each}}
|
|
31
31
|
</section>
|
|
32
|
-
{{/if}}
|
|
32
|
+
{{/if}}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{{#if resume.skills.length}}
|
|
2
2
|
<section id="skills">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
<h2>Skills</h2>
|
|
4
|
+
<ul class="item">
|
|
5
|
+
{{#each resume.skills}}
|
|
6
|
+
<li>
|
|
7
|
+
{{#if name}}
|
|
8
|
+
{{#if keywords.length}}
|
|
9
|
+
<strong>{{name}}</strong>: {{#each keywords}}{{.}}{{#unless @last}}, {{/unless}}{{/each}}
|
|
10
|
+
{{else}}
|
|
11
|
+
<strong>{{name}}</strong>
|
|
12
|
+
{{/if}}
|
|
13
|
+
{{/if}}
|
|
14
|
+
</li>
|
|
15
|
+
{{/each}}
|
|
16
|
+
</ul>
|
|
17
17
|
</section>
|
|
18
|
-
{{/if}}
|
|
18
|
+
{{/if}}
|
package/views/work.hbs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{{#if resume.work.length}}
|
|
2
2
|
<section id="work">
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
<h2>Work Experience</h2>
|
|
4
|
+
{{#each resume.work}}
|
|
5
5
|
{{#> item title=(getValueIfDiffFromPrevious @root.resume.work @index "company") subtitle=position location=location startDate=startDate endDate=endDate startDate2=startDate2 endDate2=endDate2}}
|
|
6
6
|
|
|
7
7
|
{{#if highlights.length}}
|
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
</ul>
|
|
13
13
|
{{/if}}
|
|
14
14
|
{{/item}}
|
|
15
|
-
|
|
15
|
+
{{/each}}
|
|
16
16
|
</section>
|
|
17
17
|
{{/if}}
|