diff options
Diffstat (limited to 'static')
-rw-r--r-- | static/cv/index.html | 348 | ||||
-rw-r--r-- | static/robots.txt | 3 |
2 files changed, 348 insertions, 3 deletions
diff --git a/static/cv/index.html b/static/cv/index.html new file mode 100644 index 0000000..4fef4cc --- /dev/null +++ b/static/cv/index.html | |||
@@ -0,0 +1,348 @@ | |||
1 | <!doctype html> | ||
2 | <html> | ||
3 | <head> | ||
4 | <title>Alan Pearce's Curriculum Vitae</title> | ||
5 | <style> | ||
6 | body { | ||
7 | font-family: Verdana, sans-serif; | ||
8 | font-size: small; | ||
9 | margin: auto; | ||
10 | padding: 1em; | ||
11 | max-width: 50rem; | ||
12 | text-align: left; | ||
13 | background-color: #fff; | ||
14 | word-wrap: break-word; | ||
15 | overflow-wrap: break-word; | ||
16 | line-height: 1.5; | ||
17 | color: #444; | ||
18 | height: 210mm; | ||
19 | width: 297mm; | ||
20 | } | ||
21 | |||
22 | @page { | ||
23 | size: A4 portrait; | ||
24 | } | ||
25 | |||
26 | h1, | ||
27 | h2, | ||
28 | h3, | ||
29 | h4, | ||
30 | h5, | ||
31 | h6, | ||
32 | strong, | ||
33 | b { | ||
34 | color: #222; | ||
35 | margin: unset; | ||
36 | } | ||
37 | |||
38 | a { | ||
39 | color: #3273dc; | ||
40 | } | ||
41 | |||
42 | .title { | ||
43 | color: #222; | ||
44 | text-decoration: none; | ||
45 | border: 0; | ||
46 | } | ||
47 | |||
48 | time { | ||
49 | font-style: italic; | ||
50 | } | ||
51 | |||
52 | nav a { | ||
53 | margin-right: 1ex; | ||
54 | } | ||
55 | |||
56 | .tags { | ||
57 | padding: unset; | ||
58 | font-size: smaller; | ||
59 | } | ||
60 | |||
61 | .tags > li { | ||
62 | list-style: none; | ||
63 | display: inline-block; | ||
64 | padding-right: 1ex; | ||
65 | } | ||
66 | |||
67 | textarea { | ||
68 | width: 100%; | ||
69 | font-size: 1rem; | ||
70 | } | ||
71 | |||
72 | input { | ||
73 | font-size: 1rem; | ||
74 | } | ||
75 | |||
76 | main, | ||
77 | article { | ||
78 | line-height: 1.6; | ||
79 | } | ||
80 | |||
81 | blockquote { | ||
82 | border-left: 1px solid #999; | ||
83 | color: #222; | ||
84 | padding-left: 20px; | ||
85 | font-style: italic; | ||
86 | } | ||
87 | |||
88 | footer { | ||
89 | padding: 25px; | ||
90 | text-align: center; | ||
91 | } | ||
92 | |||
93 | main { | ||
94 | column-count: 2; | ||
95 | } | ||
96 | main > section { | ||
97 | padding-right: 1rem; | ||
98 | padding: 1rem 0; | ||
99 | border-bottom: 2px solid #999; | ||
100 | break-inside: avoid; | ||
101 | } | ||
102 | section > header { | ||
103 | display: flex; | ||
104 | justify-content: space-between; | ||
105 | align-items: center; | ||
106 | } | ||
107 | .timeperiod { | ||
108 | font-style: italic; | ||
109 | font-size: small; | ||
110 | } | ||
111 | |||
112 | ul { | ||
113 | padding-left: 0; | ||
114 | margin: unset; | ||
115 | } | ||
116 | ul > li { | ||
117 | display: inline-block; | ||
118 | font-size: smaller; | ||
119 | } | ||
120 | |||
121 | .links > li { | ||
122 | display: block; | ||
123 | } | ||
124 | |||
125 | @media (prefers-color-scheme: dark) { | ||
126 | body { | ||
127 | background-color: #333; | ||
128 | color: #ddd; | ||
129 | } | ||
130 | |||
131 | h1, | ||
132 | h2, | ||
133 | h3, | ||
134 | h4, | ||
135 | h5, | ||
136 | h6, | ||
137 | strong, | ||
138 | b, | ||
139 | .title { | ||
140 | color: #eee; | ||
141 | } | ||
142 | |||
143 | a { | ||
144 | color: #8cc2dd; | ||
145 | } | ||
146 | blockquote { | ||
147 | color: #ccc; | ||
148 | } | ||
149 | section { | ||
150 | border-bottom-color: #ccc; | ||
151 | } | ||
152 | } | ||
153 | </style> | ||
154 | </head> | ||
155 | <body> | ||
156 | <header> | ||
157 | <h1>Alan Pearce</h1> | ||
158 | <h2>Backend & Infrastructure Developer</h2> | ||
159 | <h3>Berlin, Germany</h3> | ||
160 | </header> | ||
161 | <hr /> | ||
162 | <main> | ||
163 | <section> | ||
164 | <ul class="links"> | ||
165 | <li> | ||
166 | Email: <a href="mailto:alan@alanpearce.eu">alan@alanpearce.eu</a> | ||
167 | </li> | ||
168 | <li>Website: <a href="https://alanpearce.eu">alanpearce.eu</a></li> | ||
169 | <li> | ||
170 | GitHub: <a href="https://github.com/alanpearce">@alanpearce</a> | ||
171 | </li> | ||
172 | <li> | ||
173 | Personal Projects: | ||
174 | <a href="https://git.alanpearce.eu">git.alanpearce.eu</a> | ||
175 | </li> | ||
176 | </ul> | ||
177 | </section> | ||
178 | <section> | ||
179 | <h4>Summary</h4> | ||
180 | <p> | ||
181 | I care about keeping code and UIs consistent and simple. I also have a | ||
182 | strong drive to learn and really enjoy being able to explore new | ||
183 | methodologies and languages. | ||
184 | </p> | ||
185 | </section> | ||
186 | <section> | ||
187 | <h4>Experience</h4> | ||
188 | <header> | ||
189 | <h5>Senior Fullstack Developer at SatoshiPay</h5> | ||
190 | <span class="timeperiod">2017—2023</span> | ||
191 | </header> | ||
192 | <ul> | ||
193 | <li>Helm</li> | ||
194 | <li>Kubernetes</li> | ||
195 | <li>GitLab</li> | ||
196 | <li>TypeScript</li> | ||
197 | <li>PostgreSQL</li> | ||
198 | </ul> | ||
199 | <p> | ||
200 | Principal worker for migration from Docker Cloud to Kubernetes, | ||
201 | alongside work on microservices interfacing with distributed ledger | ||
202 | APIs. Implemented and maintained GitLab CI/CD pipelines including | ||
203 | merge request previews and end-to-end testing. Migrated projects to | ||
204 | product-based monorepos. | ||
205 | </p> | ||
206 | </section> | ||
207 | <section> | ||
208 | <header> | ||
209 | <h5>Senior Fullstack Developer at SpotCap</h5> | ||
210 | <span class="timeperiod">2015–2017</span> | ||
211 | </header> | ||
212 | <ul> | ||
213 | <li>NodeJS</li> | ||
214 | <li>MySQL</li> | ||
215 | <li>Webpack</li> | ||
216 | <li>Sails.js</li> | ||
217 | <li>Mithril.js</li> | ||
218 | </ul> | ||
219 | <p> | ||
220 | Responsible for banking integration service, implemented parsers and | ||
221 | generators for custom text formats (MT940, MT942) using unit tests to | ||
222 | verify. | ||
223 | <br /> | ||
224 | Worked on backend credit scoring admin panel, began migration from | ||
225 | Sails to SPA using Mithril | ||
226 | </p> | ||
227 | </section> | ||
228 | <section> | ||
229 | <header> | ||
230 | <h5>Senior Web Developer at StudentCrowd (Studio-40 spin-off)</h5> | ||
231 | <span class="timeperiod">2014–2015</span> | ||
232 | </header> | ||
233 | <ul> | ||
234 | <li>PHP</li> | ||
235 | <li>MySQL</li> | ||
236 | <li>ElasticSearch</li> | ||
237 | <li>Vagrant</li> | ||
238 | <li>Saltstack</li> | ||
239 | </ul> | ||
240 | <p> | ||
241 | Optimised database access and ORM usage. Simplified dev environment | ||
242 | setup using Vagrant and Salt. Attended ElasticSearch, LogStash & | ||
243 | Kibana training. Worked remotely (60% -> 100%) | ||
244 | </p> | ||
245 | </section> | ||
246 | <section> | ||
247 | <header> | ||
248 | <h5>Senior Developer at Studio-40</h5> | ||
249 | <span class="timeperiod">2014</span> | ||
250 | </header> | ||
251 | <ul> | ||
252 | <li>Symfony</li> | ||
253 | <li>Sylius</li> | ||
254 | <li>PHP</li> | ||
255 | <li>MySQL</li> | ||
256 | <li>Capistrano</li> | ||
257 | </ul> | ||
258 | <p> | ||
259 | Wrote product CSV importer for Sylius with streaming preview diff | ||
260 | feature. Fixed issues with integration of payment provider API | ||
261 | including false payment failures. Assisted front-end developers with | ||
262 | JavaScript. | ||
263 | </p> | ||
264 | </section> | ||
265 | <section> | ||
266 | <header> | ||
267 | <h5>Backend Web Developer at Bulb Studios</h5> | ||
268 | <span class="timeperiod">2013–2014</span> | ||
269 | </header> | ||
270 | <ul> | ||
271 | <li>Laravel</li> | ||
272 | <li>ExpressionEngine</li> | ||
273 | <li>Ansible</li> | ||
274 | <li>PHP</li> | ||
275 | <li>Capistrano</li> | ||
276 | </ul> | ||
277 | <p> | ||
278 | Suggested and implemented switch from Apache to Nginx, enabling a | ||
279 | 1000x speedup in page loads. Suggested and implemented use of | ||
280 | configuration management for server provisioning. Introduced Vagrant | ||
281 | to reduce development environment variance and Capistrano for | ||
282 | deployment. Created time-basic competition entry API designed for 50k | ||
283 | RPM. | ||
284 | </p> | ||
285 | </section> | ||
286 | <section> | ||
287 | <header> | ||
288 | <h5>PHP Web Developer at Supplyant</h5> | ||
289 | <span class="timeperiod">2012-2013</span> | ||
290 | </header> | ||
291 | <ul> | ||
292 | <li>PHP</li> | ||
293 | <li>MySQL</li> | ||
294 | <li>Subversion</li> | ||
295 | <li>jQuery</li> | ||
296 | <li>HTML</li> | ||
297 | <li>CSS</li> | ||
298 | </ul> | ||
299 | <p> | ||
300 | Maintained e-commerce platform and worked on new product management | ||
301 | system. Made Entity-Attribute-Value system usable for other database | ||
302 | consumers using an SQL view. Recommended use of Mustache templates, | ||
303 | which the design team loved | ||
304 | </p> | ||
305 | </section> | ||
306 | <section> | ||
307 | <header> | ||
308 | <h5>Web Applications Programmer at ASL Holdings</h5> | ||
309 | <span class="timeperiod">2010-2011</span> | ||
310 | </header> | ||
311 | <ul> | ||
312 | <li>PHP</li> | ||
313 | <li>MySQL</li> | ||
314 | <p>Continued rewrite of SIM management web application</p> | ||
315 | </ul> | ||
316 | </section> | ||
317 | <section> | ||
318 | <h4>Relevant Education</h4> | ||
319 | <div> | ||
320 | <header> | ||
321 | <h5>CodeSchool</h5> | ||
322 | <span class="timeperiod">2014</span> | ||
323 | </header> | ||
324 | <ul> | ||
325 | <li>Ruby</li> | ||
326 | <li>JavaScript</li> | ||
327 | <li>CoffeeScript</li> | ||
328 | <li>EmberJS</li> | ||
329 | <li>BackboneJS</li> | ||
330 | </ul> | ||
331 | </div> | ||
332 | <div> | ||
333 | <header> | ||
334 | <h5>Computing A Level at Northampton College</h5> | ||
335 | <span class="timeperiod">2008-2010</span> | ||
336 | </header> | ||
337 | </div> | ||
338 | <ul> | ||
339 | <li>Pascal</li> | ||
340 | <li>PHP</li> | ||
341 | <li>SQL</li> | ||
342 | <li>HTML</li> | ||
343 | <li>CSS</li> | ||
344 | </ul> | ||
345 | </section> | ||
346 | </main> | ||
347 | </body> | ||
348 | </html> | ||
diff --git a/static/robots.txt b/static/robots.txt index ef30e6f..a0e9740 100644 --- a/static/robots.txt +++ b/static/robots.txt | |||
@@ -1,7 +1,4 @@ | |||
1 | User-agent: * | 1 | User-agent: * |
2 | Disallow: | 2 | Disallow: |
3 | Host: alanpearce.eu | 3 | Host: alanpearce.eu |
4 | Sitemap: https://alanpearce.eu/sitemap.xml | ||
5 | 4 | ||
6 | User-agent: googlebot | ||
7 | Disallow: / | ||