The best way to learn how to use the WebCore is by example. See the documentation for more information.
The requested URL is always shown first; if a page uses one or more WebCore templates, those are shown afterwards.
00 <?php
01 include_once ('webcore/init.php');
02
03 /** @var THEMED_PAGE $Page */
04 $page = $Page;
05
06 $page->title->subject = "Marco Von Ballmoos - Curriculum Vitae";
07 $page->template_options->title = "C.V.";
08
09 $page->location->add_root_link ();
10 $page->location->append ("Marco", "../");
11 $page->location->append ("Curriculum Vitae", './');
12 $page->location->append ("October 2021");
13
14 $page->theme->font_name_CSS_file_name = '{styles}/fonts/forum';
15 $page->theme->font_size_CSS_file_name = '{styles}/core/small';
16 $page->theme->main_CSS_file_name = 'styles/resume.css';
17 $page->start_display ();
18
19 // To release for a new year (e.g. 01.01.2022), do the following:
20 // Update the grid-template-columns to include the new half-years since it was last updated
21
22 $first_year = 1985;
23 $current_year = 2022;
24 $first_professional_year = 1994;
25 $first_encodo_year = 2005;
26 $full = read_var ('full', 1);
27 $pdf = read_var ('pdf', 0);
28
29 function year_label($start)
30 {
31 echo "style=\"grid-column: 1 / $start\"";
32 }
33
34 function year_bar($start, $end = null)
35 {
36 global $current_year;
37
38 if ($end == null)
39 {
40 $end = "year" . ($current_year + 1);
41 }
42
43 echo "style=\"grid-column: $start / $end\"";
44 }
45
46 function employee_area($start, $end = null)
47 {
48 echo "<span ";
49 year_label($start);
50 echo "></span><span ";
51 year_bar($start, $end);
52 echo "></span>";
53 }
54
55 function project_line($label, $skills, $start, $end = null)
56 {
57 $chars = array(" ", "#", "-", "/", ".", "!");
58 $anchor = str_replace($chars, "", $label);
59
60 skill_line ("<a href=\"#$anchor\">$label</a>", $skills, $start, $end);
61 }
62
63 function skill_line($label, $skills, $start, $end = null)
64 {
65 echo "<span ";
66 year_label($start);
67 echo ">$label</span><span class=\"$skills\"";
68 year_bar($start, $end);
69 echo "></span>";
70 }
71
72 function skill_line_right($label, $skills, $start, $end = null)
73 {
74 echo "<span class=\"$skills\"";
75 year_bar($start, $end);
76 echo "></span><span style=\"grid-column: $end / year2022\">$label</span>";
77 }
78
79 ?>
80 <div class="main-box">
81 <div class="text-flow">
82 <section class="contact">
83 <div>
84 <h1>Contact Information</h1>
85 <img src="assets/Resume_photo_September_2020_120px_high.jpg" alt="Photo of Marco">
86 </div>
87 <div class="content">
88 <div>
89 <h2>Marco von Ballmoos</h2>
90 <address>
91 Langfurrenstrasse 31<br>
92 8623 Wetzikon<br>
93 Switzerland
94 </address>
95 <p>
96 <label>DOB: </label><time title="DOB">09.08.1972</time>;
97 <label>Nationality: </label>CH, US
98 </p>
99 </div>
100 <dl>
101 <?php if ($pdf) {?>
102 <dt>Mail</dt>
103 <dd>mvonballmo+job@protonmail.com</dd>
104 <dt>Phone</dt>
105 <dd>+41 76 336 8083</dd>
106 <dt>Threema</dt>
107 <dd>3VXTZ2RA</dd>
108 <?php } ?>
109 <dt>GitHub</dt>
110 <dd><a href="https://github.com/mvonballmo">mvonballmo</a></dd>
111 <dt>LinkedIn</dt>
112 <dd><a href="https://www.linkedin.com/in/marco-von-ballmoos/">marco-von-ballmoos</a></dd>
113 <?php if (!$pdf) { ?>
114 <dt>More</dt>
115 <dd><a href="<?php echo $Page->resolve_file ("{root}/users/marco/cv/Marco_von_Ballmoos_CV_2022_01.pdf")?>">(see PDF for contact info)</a></dd>
116 <?php } ?>
117 </dl>
118 <div class="picture"></div>
119 </div>
120 </section>
121
122 <section>
123 <h1>Profile</h1>
124 <div class="content">
125 <p>I've been designing and building software professionally since
126 <?php echo $first_professional_year; ?> (over <?php echo $current_year - $first_professional_year; ?> years).
127 My focus has been on automated testing and libraries/frameworks
128 (with an eye on <abbr title="Don't Repeat Yourself">DRY</abbr> and <abbr title="You Ain't Gonna Need It">YAGNI</abbr>)
129 to meet customer and product <b>requirements</b>: functional, UX, performance, maintainability, scalability, etc.</p>
130 </div>
131 </section>
132
133 <section>
134 <h1>Roles</h1>
135 <div class="grid employment">
136 <div>
137 <h2>Full-stack Developer</h2>
138 <p>Design and build software in a wide range of languages and frameworks on client and server. Most recent experience is <b>.NET</b> and <b>TypeScript/React</b>.</p>
139 </div>
140 <div>
141 <h2>Systems Architect</h2>
142 <p>Design and document back-end and front-end systems. Integrate with existing systems. <b>Understandable</b>, <b>Maintainable</b>, and <b>Extendable</b>.</p>
143 </div>
144 <div>
145 <h2>DevOps</h2>
146 <p>Design and build processes to go from dev boxes to deployment. Most recent experience is <b>Azure</b>, <b>Jenkins</b>, and <b>TeamCity</b>.</p>
147 </div>
148 <div>
149 <h2>Trainer & Educator</h2>
150 <p>Teach <b>JavaScript</b> and <b>Mobile-App Development</b> at a <a href="https://www.hbu.ch/index.html?id=10008">local college</a>.
151 Design, write and present trainings; write technical documentation; share knowledge via code reviews and frequent <a href="https://www.earthli.com/news/view_folder.php?id=18">blogging</a>.</p>
152 </div>
153 <div>
154 <h2>Project Manager</h2>
155 <p>Analyze, collect, refine, and specify <b>requirements</b>. Coordinate with customers. Manage backlog, sprints, and releases. Major recent experience with <b>Jira</b> and <b>Azure Boards</b>.</p>
156 </div>
157 </div>
158 </section>
159
160 <section>
161 <h1>Skills Summary</h1>
162 <div>
163 <div>
164 <div class="content grid">
165 <div>
166 <table class="list">
167 <tr>
168 <th>Skill</th>
169 <th>Years/Level</th>
170 </tr>
171 <tr class="expert">
172 <th>TypeScript</th>
173 <td>7+ years/expert</td>
174 </tr>
175 <tr class="expert">
176 <th>React</th>
177 <td>5+ years/expert</td>
178 </tr>
179 <tr class="expert">
180 <th>JavaScript</th>
181 <td>10+ years/expert</td>
182 </tr>
183 <tr class="expert">
184 <th>C#</th>
185 <td>10+ years/expert</td>
186 </tr>
187 <tr class="expert">
188 <th>HTML/CSS</th>
189 <td>10+ years/expert</td>
190 </tr>
191 <tr class="proficient">
192 <th>Less/SCSS</th>
193 <td>8+ years/proficient</td>
194 </tr>
195 <tr class="competent">
196 <th>Angular</th>
197 <td>2+ years/competent</td>
198 </tr>
199 </table>
200 <?php if ($full) { ?>
201 <p class="notes">See <a href="#skillsDetails">details below</a> for a full listing of skills.</p>
202 <?php } else { ?>
203 <p class="notes">See <a href="https://www.earthli.com/users/marco/cv/2022_01.php#skillsDetails">details online</a> for a full listing of skills.</p>
204 <?php } ?>
205 </div>
206 <div>
207 <table class="list">
208 <tr>
209 <th>Skill</th>
210 <th>Years/Level</th>
211 </tr>
212 <tr class="expert">
213 <th>CI/CD</th>
214 <td>8+ years/expert</td>
215 </tr>
216 <tr class="expert">
217 <th>ASP.NET (Core)</th>
218 <td>10+ years/expert</td>
219 </tr>
220 <tr class="expert">
221 <th>.NET/.NET Core</th>
222 <td>10+ years/expert</td>
223 </tr>
224 <tr class="expert">
225 <th>PHP</th>
226 <td>10+ years/expert</td>
227 </tr>
228 <tr class="expert">
229 <th>Automated Testing</th>
230 <td>10+ years/expert</td>
231 </tr>
232 <tr class="proficient">
233 <th>iOS/Swift</th>
234 <td>5+ years/proficient</td>
235 </tr>
236 <tr class="proficient">
237 <th>Android/Java</th>
238 <td>5+ years/proficient</td>
239 </tr>
240 </table>
241 </div>
242 </div>
243 <h2>Certifications</h2>
244 <p><a href="https://docs.microsoft.com/en-us/learn/certifications/exams/70-483">Programming in C#</a> (2019)</p>
245 </div>
246 </div>
247 </section>
248
249 <section>
250 <h1>Personal</h1>
251 <div>
252 <div class="content grid">
253 <div>
254 <h2>Languages</h2>
255 <table class="list">
256 <tr>
257 <th>Language</th>
258 <th>Level</th>
259 </tr>
260 <tr class="native">
261 <th>English</th>
262 <td>Native</td>
263 </tr>
264 <tr class="fluent">
265 <th>German</th>
266 <td>Fluent</td>
267 </tr>
268 <tr class="fluent">
269 <th>Swiss-German</th>
270 <td>Fluent</td>
271 </tr>
272 <tr class="mixed">
273 <th>Italian</th>
274 <td>Mixed</td>
275 </tr>
276 <tr class="mixed">
277 <th>French</th>
278 <td>Mixed</td>
279 </tr>
280 </table>
281 <p class="notes">Mixed: intermediate comprehension; basic speaking, writing</p>
282 </div>
283 <div>
284 <h2>Interests</h2>
285 <ul>
286 <li><a href="https://www.earthli.com/albums/view_folder.php?id=362">Cycling</a></li>
287 <li><a href="https://www.earthli.com/albums/search.php?search_form_submitted=1&debug=0&id=&quick_search=0&type=picture&search_text=hiking&title=1&description=1&state=1&folder_search_type=context_none&creator_id_search_type=constant&creator_id=marco&time_created_search_type=constant&time_created_after=&time_created_before=&modifier_id_search_type=constant&modifier_id=&time_modified_search_type=constant&time_modified_after=&time_modified_before=&sort_1=&sort_direction_1=desc&sort_2=&sort_direction_2=asc&sort_3=&sort_direction_3=asc#search-results">Hiking</a></li>
288 <li><a href="https://www.earthli.com/news/view_folder.php?id=18">Programming</a></li>
289 <li><a href="https://www.earthli.com/news/view_user.php?name=marco">Writing</a></li>
290 <li><a href="https://www.earthli.com/news/view_folder.php?id=34">Books</a></li>
291 <li><a href="https://www.earthli.com/news/view_folder.php?id=45">Movies</a></li>
292 <li><a href="https://www.earthli.com/news/view_folder.php?id=44">Current Events</a></li>
293 </ul>
294 </div>
295 </div>
296 </div>
297 </section>
298
299 <section>
300 <h1>Employment & Education</h1>
301
302 <div class="content grid employment">
303 <div>
304 <h2><a href="https://www.uster.com/">Uster Technologies AG</a></h2>
305 <h3>Uster, Switzerland</h3>
306 <h4 title="6 months"><time datetime="2022-03">Mar 2022</time>—present</h4>
307 <ul class="employment">
308 <li>DevOps System Engineer</li>
309 </ul>
310 </div>
311 <div>
312 <h2><a href="https://www.hbu.ch/index.html?id=10008">HFU</a></h2>
313 <h3>Uster, Switzerland</h3>
314 <h4 title="<?php echo $current_year - 2020; ?> years"><time datetime="2020-11">Nov 2020</time>—present</h4>
315 <ul class="employment">
316 <li>Instructor</li>
317 <li>Lead Developer</li>
318 </ul>
319 </div>
320 <div>
321 <h2><a href="https://encodo.com">Encodo Systems AG</a></h2>
322 <h3>Winterthur, Switzerland</h3>
323 <h4 title="<?php echo $current_year - 2005; ?> years"><time datetime="2005-09">Sep 2005</time>—<time datetime="2022-01">Jan 2022</time></h4>
324 <ul class="employment">
325 <li>Founding Partner</li>
326 <li>Project Manager</li>
327 <li>Architect</li>
328 <li>Lead Developer</li>
329 <li>Support</li>
330 </ul>
331 </div>
332 <div>
333 <h2><a href="https://opus.ch">Opus Software AG</a></h2>
334 <h3>Wetzikon, Switzerland</h3>
335 <h4 title="3 years"><time datetime="2002-10">Oct 2002</time>—<time datetime="2005-08">Aug 2005</time></h4>
336 <ul class="employment">
337 <li>Architect</li>
338 <li>Lead Developer</li>
339 <li>Support</li>
340 </ul>
341 </div>
342 <div>
343 <h2>Logicat, Inc.</h2>
344 <h3>New York, New York</h3>
345 <h4 title="8 years"><time datetime="1994-08">Aug 1994</time>—<time datetime="2002-08">Aug 2002</time></h4>
346 <ul class="employment">
347 <li>Architect</li>
348 <li>Lead Developer</li>
349 </ul>
350 </div>
351 <div>
352 <h2><a href="https://www.hamilton.edu">Hamilton College</a></h2>
353 <h3>Clinton, New York</h3>
354 <h4 title="4 years"><time datetime="1990-08">Aug 1990</time>—<time datetime="1994-05">May 1994</time></h4>
355 <ul class="employment">
356 <li>BA in mathematics</li>
357 <li>Minor in physics</li>
358 <li>Undeclared major in computer science</li>
359 </ul>
360 </div>
361 </div>
362 </section>
363
364 <?php if ($full) { ?>
365
366 <section>
367 <h1>Publications</h1>
368 <div>
369 <div class="content grid">
370 <div>
371 <h2>Handbooks & Specifications</h2>
372 <ul>
373 <li><a href="https://github.com/mvonballmo/CSharpHandbook">C# Handbook</a></li>
374 <li><a href="https://encodo.com/media/1018/encodo-git-handbook.pdf">Git Handbook</a></li>
375 <li><a href="https://encodo.com/media/2726/encodo-qql-handbook.pdf">QQL Specification</a></li>
376 </ul>
377 </div>
378 <div>
379 <h2><a href="https://www.earthli.com/news/">Blogs</a></h2>
380 <ul>
381 <li><a href="https://www.earthli.com/news/view_folder.php?id=18">Programming</a></li>
382 <li><a href="https://www.earthli.com/news/view_folder.php?id=13">Technology</a></li>
383 <li><a href="https://www.earthli.com/news/view_folder.php?id=31">Design</a></li>
384 </ul>
385 </div>
386 </div>
387 </div>
388 </section>
389 <?php
390 }?>
391
392 <section <?php if ($full) { ?>class="page-break"<?php } ?>>
393 <h1>Recent Experience & Projects</h1>
394 <div class="recent-experience">
395 <h2>Uster Technologies AG</h2>
396 <h3 title="6 months"><time datetime="2022-03">Mar 2022</time>—present</h3>
397 <?php if ($full) { ?>
398 <p>My role is to design, manage, upgrade, and deploy various systems, including the <b>worldwide software-update infrastructure</b>, <b>Azure DevOps</b> tools and processes, <b>.NET and Web</b> processes and architecture, developer tools and training, and much more.</p>
399 <?php
400 }?>
401 <div class="content grid projects">
402 <div>
403 <h3>Win10 Software Update Distribution</h3>
404 <h4><time datetime="2022-03">Mar 2022</time>—present</h4>
405 <ul class="details">
406 <li class="skills">Technical PM, Architect, Lead Developer, Support</li>
407 <li class="technologies">MDT, PowerShell, C#</li>
408 <li class="description">Design, manage, and improve software-distribution system.</li>
409 </ul>
410 </div>
411 <div>
412 <h3>Azure DevOps Migration</h3>
413 <h4><time datetime="2022-05">May 2022</time>—present</h4>
414 <ul class="details">
415 <li class="skills">Developer, Instructor</li>
416 <li class="technologies">Azure DevOps</li>
417 <li class="description">Assist in migration, onboarding, evangelism, and training for various teams and projects.</li>
418 </ul>
419 </div>
420 </div>
421 <h2>HFU (Höhere Fachschule Uster)</h2>
422 <h3 title="<?php echo $current_year - 2020; ?> years">November 2020—present</h3>
423 <?php if ($full) { ?>
424 <p>I teach introductory <b>JavaScript</b> in the winter and <b>Mobile-App Development</b> in the early summer.</p>
425 <?php
426 }?>
427 <div class="content grid projects">
428 <div>
429 <h3>Introductory JavaScript</h3>
430 <h4><time datetime="2020-11">Nov 2020</time>—present</h4>
431 <ul class="details">
432 <li class="skills">Instructor</li>
433 <li class="technologies">JavaScript, HTML, CSS, NPM, Node</li>
434 <li class="description">Programming principles with JavaScript in a web browser.</li>
435 </ul>
436 </div>
437 <div>
438 <h3>Mobile App Development</h3>
439 <h4><time datetime="2021-05">May 2021</time>—present</h4>
440 <ul class="details">
441 <li class="skills">Instructor</li>
442 <li class="technologies">Xamarin, C#, .NET, iOS, Android</li>
443 <li class="description">Cross-platform mobile applications with Xamarin for iOS and Android.</li>
444 </ul>
445 </div>
446 </div>
447 <h2><a href="https://encodo.com">Encodo Systems AG</a></h2>
448 <h3 title="16 years">September 2005—January 2022</h3>
449 <?php if ($full) { ?>
450 <p>Encodo's emphasis is on using the best, most appropriate tools for the job. I've worked on many projects with a wide range
451 of technologies and target platforms. Generally, <b>ASP.NET Core</b> on the back-end, with <b>React/TypeScript</b> on the
452 front-end.</p>
453 <?php
454 }?>
455 <div class="grid projects">
456 <div>
457 <h3><a href="https://encodo.com/quino">Quino</a></h3>
458 <h4><time datetime="2007-09">Sep 2007</time>—<time datetime="2022-01">Jan 2022</time></h4>
459 <ul class="details">
460 <li class="skills">Technical PM, Architect, Lead Developer</li>
461 <li class="technologies">C#, <?php if ($full) { ?>Winforms, WPF, <?php } ?>Web API, TypeScript, Less, React</li>
462 <li class="description">Designed, built and supported a powerful, flexible, modular and modern metadata
463 framework for .NET (API servers, SPAs, Winform, WPF).</li>
464 </ul class="details">
465 </div>
466 <div>
467 <h3>Crealogix MAP CI/CD</h3>
468 <h4><time datetime="2020-05">May 2020</time>—<time datetime="2020-10">Oct 2020</time></h4>
469 <ul class="details">
470 <li class="skills">Architect, Developer</li>
471 <li class="technologies">Jenkins/Ruby, TypeScript, Java, Swift</li>
472 <li class="description">Built CI/CD deployment pipelines for a framework and multiple projects, with iOS/Android targets, SauceLabs, Artifactory, Vault, and SonarQube integration.</li>
473 </ul>
474 </div>
475 <div>
476 <h3>Roche LabCore Web Modules</h3>
477 <h4><time datetime="2019-10">Oct 2019</time>—<time datetime="2020-03">Mar 2020</time></h4>
478 <ul class="details">
479 <li class="skills">Architect, Developer</li>
480 <li class="technologies">TypeScript, React, Angular, SCSS</li>
481 <li class="description">Designed an architecture for a multi-technology web framework/library.</li>
482 </ul>
483 </div>
484 <div>
485 <h3>Crealogix Digital Banking Demo Days</h3>
486 <h4><time datetime="2019-03">Mar 2019</time>—<time datetime="2019-05">May 2019</time></h4>
487 <ul class="details">
488 <li class="skills">Architect, Developer</li>
489 <li class="technologies">TypeScript, React, CSS/LESS</li>
490 <li class="description">Wrote a chat-robot prototype against a UI/UX concept for a demonstration.</li>
491 </ul>
492 </div>
493 <div>
494 <h3>Micron Top Performance</h3>
495 <h4><time datetime="2016-09">Sep 2016</time>—<time datetime="2018-11">Nov 2018</time></h4>
496 <ul class="details">
497 <li class="skills">Architect, Technical PM, Developer</li>
498 <li class="technologies">C#, TypeScript, React, Redux</li>
499 <li class="description">Designed and developed employee-managed, -evaluation and performance-review software with PL in New Jersey and a team in Philippines, deployed on AWS.</li>
500 </ul>
501 </div>
502 <div>
503 <h3>Crealogix MAP</h3>
504 <h4><time datetime="2016-09">Sep 2016</time>—<time datetime="2018-01">Jan 2018</time> </h4>
505 <ul class="details">
506 <li class="skills">Architect, Developer</li>
507 <li class="technologies">Java, Swift, TypeScript, React, Android & iOS SDKs</li>
508 <li class="description">Designed and built a cross-platform mobile-banking solution for Android and iOS.</li>
509 </ul>
510 </div>
511 <div>
512 <h3><a href="https://www.apexclearing.com/">Apex Clearing</a> <a href="https://apps.apexclearing.com/alps">Alps</a></h3>
513 <h4><time datetime="2013-06">Jun 2013</time>—<time datetime="2016-06">Sep 2016</time></h4>
514 <ul class="details">
515 <li class="skills">Technical PM, Architect, Developer</li>
516 <li class="technologies">C#, Web API, TypeScript, Less, Knockout</li>
517 <li class="description">Services and web front-end for processing, overview and management of ACATS for <a href="https://apexclearing.com">Apex Clearing Corporation</a>.</li>
518 </ul>
519 </div>
520 <div>
521 <h3>Qontis</h3>
522 <h4><time datetime="2013-03">Mar 2013</time>—<time datetime="2015-02">Feb 2015</time></h4>
523 <ul class="details">
524 <li class="skills">Architect, Developer</li>
525 <li class="technologies">C#, WCF, Meniga, JavaScript, Less, jQuery</li>
526 <li class="description">A personal finance manager with integration into various online banking systems.</li>
527 </ul>
528 </div>
529 </div>
530
531 <?php if ($full) {
532 ?>
533 <p class="notes">See <a href="#experience">details below</a> for a full listing of experience.</p>
534 <?php
535 } else {
536 ?>
537 <p class="notes">See <a href="https://www.earthli.com/users/marco/cv/2022_01.php#experience">details online</a> for a full listing of experience.</p>
538 <?php
539 }?>
540 </div>
541 </section>
542
543 <?php if ($full) { ?>
544 <section class="page-break">
545 <h1 id="skillsDetails">Skills Details</h1>
546 <div>
547 <h2>Languages</h2>
548 <div class="timeline">
549 <table class="basic left-labels legend">
550 <caption title="Legend"></caption>
551 <tr>
552 <th title="Expert"></th>
553 <td class="level-expert"></td>
554 </tr>
555 <tr>
556 <th title="Proficient"></th>
557 <td class="level-proficient"></td>
558 </tr>
559 <tr>
560 <th title="Competent"></th>
561 <td class="level-competent"></td>
562 </tr>
563 </table>
564 <div class="timeline-box">
565 <div class="years">
566 <div title="1985"></div>
567 <div title="1990"></div>
568 <div title="1995"></div>
569 <div title="2000"></div>
570 <div title="2005"></div>
571 <div title="2010"></div>
572 <div title="2015"></div>
573 <div title="2020"></div>
574 </div>
575 <table class="projects">
576 <thead>
577 <tr>
578 <th>Years</th>
579 <th>Technology</th>
580 <th>Level</th>
581 </tr>
582 </thead>
583 <tbody>
584 <tr><th></th><td class="employee"><?php employee_area ("year1985"); ?></td><td></td></tr>
585 <tr><th>2019–present</th><td><?php skill_line ("Groovy", "level-proficient", "year2019", "mid2020"); ?></td><td>Proficient</td></tr>
586 <tr><th>2019–present</th><td><?php skill_line ("Ruby", "level-competent", "year2019", "mid2020"); ?></td><td>Competent</td></tr>
587 <tr><th>2019</th><td><?php skill_line ("XSLT", "level-competent", "year2019", "mid2019"); ?></td><td>Competent</td></tr>
588 <tr><th>2016–present</th><td><?php skill_line ("Swift", "level-proficient", "year2016"); ?></td><td>Proficient</td></tr>
589 <tr><th>2015–present</th><td><?php skill_line ("SCSS", "level-proficient", "year2015"); ?></td><td>Proficient</td></tr>
590 <tr><th>2014–present</th><td><?php skill_line ("TypeScript", "level-expert", "year2014"); ?></td><td>Expert</td></tr>
591 <tr><th>2013–present</th><td><?php skill_line ("LESS", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
592 <tr><th>2019–present</th><td><?php skill_line ("Delphi Pascal", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
593 <tr><th>2002–present</th><td><?php skill_line ("PowerShell", "level-proficient", "year2010"); ?></td><td>Proficient</td></tr>
594 <tr><th>2007–present</th><td><?php skill_line ("C#", "level-expert", "year2007"); ?></td><td>Expert</td></tr>
595 <tr><th>2005–present</th><td><?php skill_line ("Java", "level-proficient", "year2005"); ?></td><td>Proficient</td></tr>
596 <tr><th>2002–present</th><td><?php skill_line ("Bash", "level-proficient", "year2002"); ?></td><td>Proficient</td></tr>
597 <tr><th>2002–2014</th><td><?php skill_line ("Delphi Pascal", "level-expert", "year2002", "year2014"); ?></td><td>Expert</td></tr>
598 <tr><th>2000–2002</th><td><?php skill_line ("VB", "level-competent", "year2000", "year2002"); ?></td><td>Competent</td></tr>
599 <tr><th>1998–present</th><td><?php skill_line ("CSS", "level-expert", "year1998"); ?></td><td>Expert</td></tr>
600 <tr><th>1998–present</th><td><?php skill_line ("PHP", "level-expert", "year1998"); ?></td><td>Expert</td></tr>
601 <tr><th>1998–2002</th><td><?php skill_line ("C++", "level-proficient", "year1998", "year2002"); ?></td><td>Proficient</td></tr>
602 <tr><th>1996–1997</th><td><?php skill_line ("Delphi Pascal", "level-competent", "year1996", "year1997"); ?></td><td>Competent</td></tr>
603 <tr><th>1996–2006</th><td><?php skill_line ("Eiffel", "level-competent", "year1996", "year2006"); ?></td><td>Competent</td></tr>
604 <tr><th>1995–present</th><td><?php skill_line ("JavaScript", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
605 <tr><th>1995–present</th><td><?php skill_line ("HTML", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
606 <tr><th>1994–present</th><td><?php skill_line ("MS-DOS Batch", "level-proficient", "year1994"); ?></td><td>Proficient</td></tr>
607 <tr><th>1994–1996</th><td><?php skill_line ("Object Pascal", "level-expert", "year1994", "year1996"); ?></td><td>Expert</td></tr>
608 <tr><th>1992–1994</th><td><?php skill_line ("Pascal", "level-proficient", "year1992", "year1994"); ?></td><td>Proficient</td></tr>
609 <tr><th>1990–1994</th><td><?php skill_line ("HyperTalk", "level-proficient", "year1990", "year1994"); ?></td><td>Proficient</td></tr>
610 <tr><th>1985–1990</th><td><?php skill_line_right ("Basic", "level-expert", "year1985", "year1990"); ?></td><td>Expert</td></tr>
611 </tbody>
612 </table>
613 </div>
614 </div>
615
616 <h2 class="page-break">Libraries & Frameworks</h2>
617 <div class="timeline">
618 <table class="basic left-labels legend">
619 <caption title="Legend"></caption>
620 <tr>
621 <th title="Expert"></th>
622 <td class="level-expert"></td>
623 </tr>
624 <tr>
625 <th title="Proficient"></th>
626 <td class="level-proficient"></td>
627 </tr>
628 <tr>
629 <th title="Competent"></th>
630 <td class="level-competent"></td>
631 </tr>
632 </table>
633 <div class="timeline-box">
634 <div class="years">
635 <div title="1985"></div>
636 <div title="1990"></div>
637 <div title="1995"></div>
638 <div title="2000"></div>
639 <div title="2005"></div>
640 <div title="2010"></div>
641 <div title="2015"></div>
642 <div title="2020"></div>
643 </div>
644 <table class="projects">
645 <thead>
646 <tr>
647 <th>Years</th>
648 <th>Technology</th>
649 <th>Level</th>
650 </tr>
651 </thead>
652 <tbody>
653 <tr><th></th><td class="employee"><?php employee_area ("year1990"); ?></td><td></td></tr>
654 <tr><th>2019–2021</th><td><?php skill_line ("Groovy/Gradle", "level-expert", "year2019", "year2021"); ?></td><td>Expert</td></tr>
655 <tr><th>2019–2020</th><td><?php skill_line ("Angular", "level-proficient", "year2019", "mid2020"); ?></td><td>Proficient</td></tr>
656 <tr><th>2019–present</th><td><?php skill_line ("Java Runtime", "level-proficient", "year2019"); ?></td><td>Proficient</td></tr>
657 <tr><th>2019–present</th><td><?php skill_line ("Delphi VCL", "level-expert", "year2019"); ?></td><td>Expert</td></tr>
658 <tr><th>2018–2021</th><td><?php skill_line ("Unity", "level-proficient", "year2018", "year2021"); ?></td><td>Proficient</td></tr>
659 <tr><th>2018–present</th><td><?php skill_line (".NET Core", "level-expert", "year2018"); ?></td><td>Expert</td></tr>
660 <tr><th>2017–2019</th><td><?php skill_line ("Material UI", "level-competent", "year2017", "mid2019"); ?></td><td>Competent</td></tr>
661 <tr><th>2017–present</th><td><?php skill_line ("Xamarin", "level-competent", "year2017"); ?></td><td>Competent</td></tr>
662 <tr><th>2017–2020</th><td><?php skill_line ("MobX", "level-proficient", "year2017", "mid2020"); ?></td><td>Proficient</td></tr>
663 <tr><th>2016–2020</th><td><?php skill_line ("React", "level-expert", "year2016"); ?></td><td>Expert</td></tr>
664 <tr><th>2016–2020</th><td><?php skill_line ("iOS/XCode", "level-proficient", "year2016", "mid2020"); ?></td><td>Proficient</td></tr>
665 <tr><th>2016–2020</th><td><?php skill_line ("Android", "level-proficient", "year2016", "mid2020"); ?></td><td>Proficient</td></tr>
666 <tr><th>2014–2017</th><td><?php skill_line ("Knockout", "level-competent", "year2014", "mid2017"); ?></td><td>Competent</td></tr>
667 <tr><th>2010–present</th><td><?php skill_line ("AntLR", "level-competent", "year2010"); ?></td><td>Competent</td></tr>
668 <tr><th>2008–present</th><td><?php skill_line ("ASP.NET", "level-expert", "year2008"); ?></td><td>Expert</td></tr>
669 <tr><th>2007–present</th><td><?php skill_line (".NET Framework", "level-expert", "year2007"); ?></td><td>Expert</td></tr>
670 <tr><th>2005–2014</th><td><?php skill_line ("Java Runtime", "level-proficient", "year2005", "mid2014"); ?></td><td>Proficient</td></tr>
671 <tr><th>2002–2014</th><td><?php skill_line ("Delphi VCL", "level-expert", "year2002", "mid2014"); ?></td><td>Expert</td></tr>
672 <tr><th>2000–2002</th><td><?php skill_line ("ASP", "level-competent", "year2000", "mid2002"); ?></td><td>Competent</td></tr>
673 <tr><th>1999–2001</th><td><?php skill_line ("Metrowerks PowerPlant", "level-proficient", "year1999", "mid2001"); ?></td><td>Proficient</td></tr>
674 <tr><th>1999–2001</th><td><?php skill_line ("MacOS Toolbox", "level-competent", "year1999", "mid2001"); ?></td><td>Competent</td></tr>
675 <tr><th>1998–present</th><td><?php skill_line ("PHP Runtime", "level-proficient", "year1998"); ?></td><td>Proficient</td></tr>
676 <tr><th>1995–2002</th><td><?php skill_line ("MFC", "level-competent", "year1995", "mid2002"); ?></td><td>Competent</td></tr>
677 <tr><th>1995–2002</th><td><?php skill_line ("STL", "level-proficient", "year1995", "mid2002"); ?></td><td>Proficient</td></tr>
678 <tr><th>1994–present</th><td><?php skill_line ("Win32", "level-proficient", "year1994"); ?></td><td>Proficient</td></tr>
679 <tr><th>1992–1994</th><td><?php skill_line ("Think Pascal", "level-proficient", "year1992", "mid1994"); ?></td><td>Proficient</td></tr>
680 <tr><th>1990–1994</th><td><?php skill_line ("Hyper­Card", "level-expert", "year1990", "mid1994"); ?></td><td>Expert</td></tr>
681 </tbody>
682 </table>
683 </div>
684 </div>
685
686 <h2>Techniques</h2>
687 <div class="timeline">
688 <table class="basic left-labels legend">
689 <caption title="Legend"></caption>
690 <tr>
691 <th title="Expert"></th>
692 <td class="level-expert"></td>
693 </tr>
694 <tr>
695 <th title="Proficient"></th>
696 <td class="level-proficient"></td>
697 </tr>
698 <tr>
699 <th title="Competent"></th>
700 <td class="level-competent"></td>
701 </tr>
702 </table>
703 <div class="timeline-box">
704 <div class="years">
705 <div title="1985"></div>
706 <div title="1990"></div>
707 <div title="1995"></div>
708 <div title="2000"></div>
709 <div title="2005"></div>
710 <div title="2010"></div>
711 <div title="2015"></div>
712 <div title="2020"></div>
713 </div>
714 <table class="projects">
715 <thead>
716 <tr>
717 <th>Years</th>
718 <th>Technology</th>
719 <th>Level</th>
720 </tr>
721 </thead>
722 <tbody>
723 <tr><th></th><td class="employee"><?php employee_area ("year1985"); ?></td><td></td></tr>
724 <tr><th>2013–present</th><td><?php skill_line ("CI/CD", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
725 <tr><th>2012–present</th><td><?php skill_line ("IOC", "level-expert", "year2012"); ?></td><td>Expert</td></tr>
726 <tr><th>2010–present</th><td><?php skill_line ("SOLID", "level-expert", "year2010"); ?></td><td>Expert</td></tr>
727 <tr><th>2008–present</th><td><?php skill_line ("Functional", "level-expert", "year2008"); ?></td><td>Expert</td></tr>
728 <tr><th>2005–present</th><td><?php skill_line ("Project Management", "level-proficient", "year2005"); ?></td><td>Proficient</td></tr>
729 <tr><th>2002–present</th><td><?php skill_line ("Technical Documentation", "level-expert", "year2002"); ?></td><td>Expert</td></tr>
730 <tr><th>2002–present</th><td><?php skill_line ("Automated Testing", "level-expert", "year2002"); ?></td><td>Expert</td></tr>
731 <tr><th>2001–present</th><td><?php skill_line ("Technical Writing/Blogging", "level-expert", "year2001"); ?></td><td>Expert</td></tr>
732 <tr><th>1995–present</th><td><?php skill_line ("Architecture", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
733 <tr><th>1992–present</th><td><?php skill_line ("OO", "level-expert", "year1992"); ?></td><td>Expert</td></tr>
734 <tr><th>1985–1994</th><td><?php skill_line_right ("Procedural", "level-proficient", "year1985", "year1994"); ?></td><td>Proficient</td></tr>
735 </tbody>
736 </table>
737 </div>
738 </div>
739
740 <h2 class="page-break">Administration & Tools</h2>
741 <div class="timeline">
742 <table class="basic left-labels legend">
743 <caption title="Legend"></caption>
744 <tr>
745 <th title="Expert"></th>
746 <td class="level-expert"></td>
747 </tr>
748 <tr>
749 <th title="Proficient"></th>
750 <td class="level-proficient"></td>
751 </tr>
752 <tr>
753 <th title="Competent"></th>
754 <td class="level-competent"></td>
755 </tr>
756 </table>
757 <div class="timeline-box">
758 <div class="years">
759 <div title="1985"></div>
760 <div title="1990"></div>
761 <div title="1995"></div>
762 <div title="2000"></div>
763 <div title="2005"></div>
764 <div title="2010"></div>
765 <div title="2015"></div>
766 <div title="2020"></div>
767 </div>
768 <table class="projects">
769 <thead>
770 <tr>
771 <th>Years</th>
772 <th>Technology</th>
773 <th>Level</th>
774 </tr>
775 </thead>
776 <tbody>
777 <tr><th></th><td class="employee"><?php employee_area ("year1985"); ?></td><td></td></tr>
778 <tr><th>2018–present</th><td class="years_mid_2018_present"><?php skill_line ("Azure DevOps", "level-expert", "year2018"); ?></td><td>Expert</td></tr>
779 <tr><th>2017–present</th><td class="years_2017_present"><?php skill_line ("Docker", "level-expert", "year2017"); ?></td><td>Expert</td></tr>
780 <tr><th>2017–present</th><td class="years_2017_present"><?php skill_line ("ProxMox", "level-competent", "year2017"); ?></td><td>Competent</td></tr>
781 <tr><th>2016–present</th><td class="years_2016_present"><?php skill_line ("GitHub", "level-proficient", "year2016"); ?></td><td>Proficient</td></tr>
782 <tr><th>2015–present</th><td class="years_2015_present"><?php skill_line ("GitLab", "level-proficient", "year2015"); ?></td><td>Proficient</td></tr>
783 <tr><th>2013–present</th><td class="years_2013_present"><?php skill_line ("TeamCity", "level-proficient", "year2013"); ?></td><td>Proficient</td></tr>
784 <tr><th>2011–2016</th><td class="years_2011_2016"><?php skill_line ("Mongo", "level-competent", "year2011", "mid2016"); ?></td><td>Competent</td></tr>
785 <tr><th>2011–2014</th><td class="years_2011_2014"><?php skill_line ("Sqlite", "level-competent", "year2011", "mid2014"); ?></td><td>Competent</td></tr>
786 <tr><th>2010–present</th><td class="years_2010_present"><?php skill_line ("Jenkins", "level-expert", "year2010", "mid2020"); ?></td><td>Expert</td></tr>
787 <tr><th>2010–present</th><td class="years_2010_present"><?php skill_line ("Git", "level-expert", "year2010"); ?></td><td>Expert</td></tr>
788 <tr><th>2007–present</th><td class="years_2007_present"><?php skill_line ("PostgreSql", "level-proficient", "year2007"); ?></td><td>Proficient</td></tr>
789 <tr><th>2004–present</th><td class="years_2004_present"><?php skill_line ("Sql Server", "level-proficient", "year2004"); ?></td><td>Proficient</td></tr>
790 <tr><th>2004–present</th><td class="years_2004_present"><?php skill_line ("Jira", "level-expert", "year2004"); ?></td><td>Expert</td></tr>
791 <tr><th>2002–2007</th><td class="years_2002_2007"><?php skill_line ("Sybase SQLAnywhere", "level-proficient", "year2002", "mid2007"); ?></td><td>Proficient</td></tr>
792 <tr><th>2002–present</th><td class="years_2002_present"><?php skill_line ("Ubuntu/Debian", "level-proficient", "year2002"); ?></td><td>Proficient</td></tr>
793 <tr><th>1999–present</th><td class="years_1999_present"><?php skill_line ("MySql", "level-proficient", "year1999"); ?></td><td>Proficient</td></tr>
794 <tr><th>1997–2010</th><td class="years_1997_2010"><?php skill_line ("Perforce", "level-proficient", "year1997", "mid2010"); ?></td><td>Proficient</td></tr>
795 <tr><th>1994–present</th><td class="years_1995_present"><?php skill_line ("Windows", "level-expert", "year1994"); ?></td><td>Expert</td></tr>
796 <tr><th>1990–present</th><td class="years_1990_present"><?php skill_line ("MacOS", "level-expert", "year1990"); ?></td><td>Expert</td></tr>
797 <tr><th>1985–1995</th><td class="years_1985_1995"><?php skill_line_right ("MS-DOS", "level-expert", "year1985", "year1995"); ?></td><td>Expert</td></tr>
798 </tbody>
799 </table>
800 </div>
801 </div>
802 </div>
803 </section>
804
805 <section class="page-break">
806 <h1 id="experience">All Experience</h1>
807
808 <div>
809 <h2>Uster Technologies AG</h2>
810 <h3 title="6 months"><time datetime="2022-03">Mar 2022</time>—present</h3>
811 <p>My role is to design, manage, upgrade, and deploy various systems, including the <b>worldwide software-update infrastructure</b>, <b>Azure DevOps</b> tools and processes, <b>.NET and Web</b> processes and architecture, developer tools and training, and much more.</p>
812 <h3>Overview</h3>
813 <div class="timeline">
814 <table class="basic left-labels legend">
815 <caption title="Legend"></caption>
816 <tr>
817 <th title="Technical PM"></th>
818 <td class="project-manager"></td>
819 </tr>
820 <tr>
821 <th title="Instructor"></th>
822 <td class="instructor"></td>
823 </tr>
824 <tr>
825 <th title="Lead Dev"></th>
826 <td class="lead-developer"></td>
827 </tr>
828 <tr>
829 <th title="Developer"></th>
830 <td class="developer"></td>
831 </tr>
832 <tr>
833 <th title="Support"></th>
834 <td class="support"></td>
835 </tr>
836 <tr>
837 <th title="Architect"></th>
838 <td class="architect"></td>
839 </tr>
840 </table>
841 <div class="timeline-box">
842 <div class="years">
843 <div title="1985"></div>
844 <div title="1990"></div>
845 <div title="1995"></div>
846 <div title="2000"></div>
847 <div title="2005"></div>
848 <div title="2010"></div>
849 <div title="2015"></div>
850 <div title="2020"></div>
851 </div>
852 <table class="projects">
853 <thead>
854 <tr>
855 <th>Years</th>
856 <th>Product</th>
857 <th>Roles</th>
858 </tr>
859 </thead>
860 <tbody>
861 <tr><th></th><td class="employee"><?php employee_area ("year2022"); ?></td><td></td></tr>
862 <tr><th>2022</th><td><?php project_line ("Win10 Software Update Distribution", "project-manager architect lead-developer support", "year2022"); ?></td><td>Project manager, Architect, Lead developer, Support</td></tr>
863 <tr><th>2022–present</th><td><?php project_line ("Azure DevOps Migration", "developer instructor", "year2022"); ?></td><td>Developer, Instructor</td></tr>
864 <tr><th>2022–present</th><td><?php project_line ("Git Trainings", "instructor", "year2022"); ?></td><td>Instructor</td></tr>
865 <tr><th> </th><td> </td><td></td></tr>
866 <tr><th> </th><td> </td><td></td></tr>
867 <tr><th> </th><td> </td><td></td></tr>
868 </tbody>
869 </table>
870 </div>
871 </div>
872 <h3>Details</h3>
873 <div class="grid projects">
874 <div>
875 <h3>Win10 Software Update Distribution</h3>
876 <h4><time datetime="2022-03">Mar 2022</time>—present</h4>
877 <ul class="details">
878 <li class="skills">Technical PM, Architect, Lead Developer, Support</li>
879 <li class="technologies">MDT, PowerShell, C#</li>
880 <li class="description">Design, manage, and improve software-distribution system.</li>
881 </ul>
882 </div>
883 <div>
884 <h3>Azure DevOps Migration</h3>
885 <h4><time datetime="2022-05">May 2022</time>—present</h4>
886 <ul class="details">
887 <li class="skills">Developer, Instructor</li>
888 <li class="technologies">Azure DevOps</li>
889 <li class="description">Assist in migration, onboarding, evangelism, and training for various teams and projects.</li>
890 </ul>
891 </div>
892 </div>
893
894 <h2>HFU (Höhere Fachschule Uster)</h2>
895 <h3 title="<?php echo $current_year - 2020; ?> years">November 2020—present</h3>
896 <p>I teach introductory <b>JavaScript</b> in the winter and <b>Mobile-App Development</b> in the early summer.</p>
897 <h3>Overview</h3>
898 <div class="timeline">
899 <table class="basic left-labels legend">
900 <caption title="Legend"></caption>
901 <tr>
902 <th title="Instructor"></th>
903 <td class="instructor"></td>
904 </tr>
905 </table>
906 <div class="timeline-box">
907 <div class="years">
908 <div title="1985"></div>
909 <div title="1990"></div>
910 <div title="1995"></div>
911 <div title="2000"></div>
912 <div title="2005"></div>
913 <div title="2010"></div>
914 <div title="2015"></div>
915 <div title="2020"></div>
916 </div>
917 <table class="projects">
918 <thead>
919 <tr>
920 <th>Years</th>
921 <th>Product</th>
922 <th>Roles</th>
923 </tr>
924 </thead>
925 <tbody>
926 <tr><th></th><td class="employee"><?php employee_area ("mid2020"); ?></td><td></td></tr>
927 <tr><th>2020–present</th><td><?php project_line ("Introductory JavaScript", "instructor", "mid2020"); ?></td><td>Instructor</td></tr>
928 <tr><th>2021–present</th><td><?php project_line ("Mobile App Development", "instructor", "year2021"); ?></td><td>Instructor</td></tr>
929 </tbody>
930 </table>
931 </div>
932 </div>
933
934 <h3>Details</h3>
935 <div class="grid projects">
936 <div>
937 <h3>Introductory JavaScript</h3>
938 <h4><time datetime="2020-11">Nov 2020</time>—present</h4>
939 <ul class="details">
940 <li class="skills">Instructor</li>
941 <li class="technologies">JavaScript, HTML, CSS, NPM, Node</li>
942 <li class="description">Teach basic programming principles with JavaScript in a browser environment.</li>
943 </ul>
944 </div>
945 <div>
946 <h3>Mobile App Development</h3>
947 <h4><time datetime="2021-05">May 2021</time>—present</h4>
948 <ul class="details">
949 <li class="skills">Instructor</li>
950 <li class="technologies">Xamarin, C#, .NET, iOS, Android</li>
951 <li class="description">Teach building cross-platform mobile applications. Integrate platform-specific features on both iOS and Android.</li>
952 </ul>
953 </div>
954 </div>
955
956 <div class="page-break">
957 <h2><a href="https://encodo.com">Encodo Systems AG</a></h2>
958 <h3 title="16 years">September 2005—January 2022</h3>
959 <p>Encodo's emphasis is on using the best, most appropriate tools for the job. I've worked on many projects with a wide range
960 of technologies and target platforms. Generally, <b>ASP.NET Core</b> on the back-end, with <b>React/TypeScript</b> on the
961 front-end.</p>
962
963 <h3>Overview</h3>
964 <div class="timeline">
965 <table class="basic left-labels legend">
966 <caption title="Legend"></caption>
967 <tr>
968 <th title="Technical PM"></th>
969 <td class="project-manager"></td>
970 </tr>
971 <tr>
972 <th title="Instructor"></th>
973 <td class="instructor"></td>
974 </tr>
975 <tr>
976 <th title="Author"></th>
977 <td class="author"></td>
978 </tr>
979 <tr>
980 <th title="Lead Dev"></th>
981 <td class="lead-developer"></td>
982 </tr>
983 <tr>
984 <th title="Developer"></th>
985 <td class="developer"></td>
986 </tr>
987 <tr>
988 <th title="Support"></th>
989 <td class="support"></td>
990 </tr>
991 <tr>
992 <th title="Architect"></th>
993 <td class="architect"></td>
994 </tr>
995 <tr>
996 <th title="Reviewer"></th>
997 <td class="reviewer"></td>
998 </tr>
999 </table>
1000 <div class="timeline-box">
1001 <div class="years">
1002 <div title="1985"></div>
1003 <div title="1990"></div>
1004 <div title="1995"></div>
1005 <div title="2000"></div>
1006 <div title="2005"></div>
1007 <div title="2010"></div>
1008 <div title="2015"></div>
1009 <div title="2020"></div>
1010 </div>
1011 <table class="projects">
1012 <thead>
1013 <tr>
1014 <th>Years</th>
1015 <th>Product</th>
1016 <th>Roles</th>
1017 </tr>
1018 </thead>
1019 <tbody>
1020 <tr><th></th><td class="employee"><?php employee_area ("mid2005", "year2022");?></td><td></td></tr>
1021 <tr><th>2007–2021</th><td><?php project_line ("Quino", "project-manager architect lead-developer support", "mid2007", "year2022"); ?></td><td>Project manager, Architect, Lead developer, Support</td></tr>
1022 <tr><th>2020</th><td><?php project_line ("WowLab Tower", "architect developer", "mid2020", "year2021"); ?></td><td>Architect, Developer</td></tr>
1023 <tr><th>2020–2021</th><td><?php project_line ("FutureLab SmartPolice", "developer", "year2020", "year2021"); ?></td><td>Developer</td></tr>
1024 <tr><th>2019–2021</th><td><?php project_line ("Crealogix MAP CI/CD", "architect project-manager developer", "mid2019", "year2021"); ?></td><td>Architect, Project manager, Developer</td></tr>
1025 <tr><th>2018–2021</th><td><?php project_line ("Roche UA", "architect reviewer", "mid2018", "year2022"); ?></td><td>Architect, Reviewer</td></tr>
1026 <tr><th>2018–2021</th><td><?php project_line ("Performa CRM", "developer support", "mid2018", "year2021"); ?></td><td>Developer, Support</td></tr>
1027 <tr><th>2007–2021</th><td><?php project_line ("IT", "support", "mid2007", "year2022"); ?></td><td>Support</td></tr>
1028 <tr><th>2019–2020</th><td><?php project_line ("Roche LabCore Web Modules", "architect developer", "mid2019", "mid2020"); ?></td><td>Architect, Developer</td></tr>
1029 <tr><th>2019–2020</th><td><?php project_line ("Aplix Spooler", "developer", "mid2019", "year2021"); ?></td><td>Developer</td></tr>
1030 <tr><th>2019</th><td><?php project_line ("Crealogix Digital Banking Demo Days", "architect, developer", "year2019", "mid2019"); ?></td><td>Architect, Developer</td></tr>
1031 <tr><th>2019-2020</th><td><?php project_line ("Aplix Logistik", "reviewer", "year2019", "year2021"); ?></td><td>Reviewer</td></tr>
1032 <tr><th>2019</th><td><?php project_line ("Hensoldt MTSC", "reviewer", "year2019", "year2020"); ?></td><td>Reviewer</td></tr>
1033 <tr><th>2018–2019</th><td><?php project_line ("Crealogix TimeWarp", "developer", "mid2018", "year2019"); ?></td><td>Developer</td></tr>
1034 <tr><th>2018–2019</th><td><?php project_line ("Insite FAK", "architect lead-developer project-manager", "year2018", "year2021"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1035 <tr><th>2018</th><td><?php project_line ("Insite .NET/C#/Quino Trainings", "instructor", "mid2018", "year2019"); ?></td><td>Trainer</td></tr>
1036 <tr><th>2018–2019</th><td><?php project_line ("Daylight Quino Upgrade", "project-manager lead-developer", "year2018", "year2020"); ?></td><td>Project manager, Lead developer</td></tr>
1037 <tr><th>2018</th><td><?php project_line ("Aplix Logistik", "project-manager architect developer", "year2018", "year2019"); ?></td><td>Project manager, Architect, Developer</td></tr>
1038 <tr><th>2017–2018</th><td><?php project_line ("Micron Hand-off Trainings", "instructor", "mid2017", "year2018"); ?></td><td>Instructor</td></tr>
1039 <tr><th>2016–2018</th><td><?php project_line ("Micron Top Performance", "project-manager architect developer support", "mid2016", "year2019"); ?></td><td>Project manager, Architect, Developer</td></tr>
1040 <tr><th>2016</th><td><?php project_line ("MULTIVAC Polymer Training", "instructor", "mid2016", "year2017"); ?></td><td>Instructor</td></tr>
1041 <tr><th>2016–2018</th><td><?php project_line ("Crealogix MAP", "project-manager architect lead-developer", "mid2016", "year2018"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1042 <tr><th>2015</th><td><?php project_line ("Alps Hand-off Training", "instructor", "mid2015", "year2016"); ?></td><td>Instructor</td></tr>
1043 <tr><th>2013–2016</th><td><?php project_line ("Alps", "project-manager architect developer", "year2013", "year2017"); ?></td><td>Project manager, Architect, Developer</td></tr>
1044 <tr><th>2013–2015</th><td><?php project_line ("Qontis", "architect developer", "year2013", "mid2015"); ?></td><td>Architect, Developer</td></tr>
1045 <tr><th>2014</th><td><?php project_line ("Crealogix MUX Training", "instructor", "mid2014", "mid2014"); ?></td><td>Instructor</td></tr>
1046 <tr><th>2013</th><td><?php project_line ("Roche HTML5 Training", "architect", "mid2013", "year2014"); ?></td><td>Instructor</td></tr>
1047 <tr><th>2012–2013</th><td><?php project_line ("Roche MUA", "developer", "year2012", "year2013"); ?></td><td>Developer</td></tr>
1048 <tr><th>2011–2012</th><td><?php project_line ("QQL Specification", "author", "year2012", "year2013"); ?></td><td>Author</td></tr>
1049 <tr><th>2011–2015</th><td><?php project_line ("Git Handbook", "author", "year2011", "year2015"); ?></td><td>Author</td></tr>
1050 <tr><th>2010–2012</th><td><?php project_line ("Peak6 Launchpad", "project-manager architect lead-developer", "mid2010", "mid2012"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1051 <tr><th>2009–2010</th><td><?php project_line ("M9", "project-manager architect developer", "year2009", "mid2010"); ?></td><td>Project manager, Architect, Developer</td></tr>
1052 <tr><th>2009–present</th><td><?php project_line ("eZagAdmin", "developer support", "mid2007", "year2022"); ?></td><td>Developer, Support</td></tr>
1053 <tr><th>2007–2009</th><td><?php project_line ("eZagAdmin", "developer", "mid2007", "year2009"); ?></td><td>Developer</td></tr>
1054 <tr><th>2008–2017</th><td><?php project_line ("C# Handbook", "author", "mid2007", "mid2017"); ?></td><td>Lead developer</td></tr>
1055 <tr><th>2007</th><td><?php project_line ("PoC Raiffeisen", "developer", "year2007", "mid2007"); ?></td><td>Developer</td></tr>
1056 <tr><th>2007–2011</th><td><?php project_line ("Fides Reporting Engine", "lead-developer support", "mid2007", "year2011"); ?></td><td>lead-developer, Support</td></tr>
1057 <tr><th>2006–2007</th><td><?php project_line ("Fides Reporting Engine", "architect lead-developer", "mid2006", "mid2007"); ?></td><td>Architect, Lead developer</td></tr>
1058 <tr><th>2007–2014</th><td><?php project_line ("Fides Client", "developer support", "year2007", "year2014"); ?></td><td>Developer, Support</td></tr>
1059 <tr><th>2006–2007</th><td><?php project_line ("Fides Client", "lead-developer", "year2006", "year2007"); ?></td><td>Lead developer</td></tr>
1060 <tr><th>2007–2014</th><td><?php project_line ("Q-ZAG", "project-manager lead-developer support", "year2007", "year2014"); ?></td><td>Project manager, Lead developer, Support</td></tr>
1061 <tr><th>2006–2007</th><td><?php project_line ("Q-ZAG", "lead-developer", "mid2006", "mid2007"); ?></td><td>Lead developer</td></tr>
1062 <tr><th>2006–2014</th><td><?php project_line ("ZAG Entlastungskontrolle", "project-manager support", "year2006", "year2014"); ?></td><td>Project manager, Support</td></tr>
1063 <tr><th>2005–2006</th><td><?php project_line ("ZAG Entlastungskontrolle", "developer", "mid2005", "mid2006"); ?></td><td>Developer</td></tr>
1064 </tbody>
1065 </table>
1066 </div>
1067 </div>
1068
1069 <div class="page-break">
1070 <h3>Details</h3>
1071 <div class="grid projects">
1072 <div>
1073 <h3 id="Quino"><a href="https://encodo.com/quino">Quino</a></h3>
1074 <h4><time datetime="2007-09">Sep 2007</time><time datetime="2022-01">Jan 2022</time></h4>
1075 <ul class="details">
1076 <li class="skills">Technical PM, Architect, Lead Developer</li>
1077 <li class="technologies">C#, Winforms, WPF, Web API, TypeScript, Less, React</li>
1078 <li class="description">Designed, built and supported a powerful, flexible, modular and modern metadata
1079 framework for .NET (API servers, SPAs, Winform, WPF).</li>
1080 </ul class="details">
1081 </div>
1082 <div>
1083 <h3 id="WowLabTower">WowLab Tower</h3>
1084 <h4><time datetime="2020-06">June 2020</time>—<time datetime="2020-09">Sep 2020</time></h4>
1085 <ul class="details">
1086 <li class="skills">Architect, Developer</li>
1087 <li class="technologies">C#, Unity, ARKit, iOS</li>
1088 <li class="description">Designed and developed an iOS app that displays financial data using AR; data and metadata provided in JSON configuration.</li>
1089 </ul>
1090 </div>
1091 <div>
1092 <h3 id="FutureLabSmartPolice">FutureLab SmartPolice</h3>
1093 <h4><time datetime="2020-01">Jan 2020</time>—<time datetime="2020-12">Dec 2020</time></h4>
1094 <ul class="details">
1095 <li class="skills">Architect, Developer</li>
1096 <li class="technologies">C#, C++</li>
1097 <li class="description">Maintenance, refactoring, and stabilization for a WebDav integration in Windows Explorer with a Twain data-import driver.</li>
1098 </ul>
1099 </div>
1100 <div>
1101 <h3 id="CrealogixMAPCICD">Crealogix MAP CI/CD</h3>
1102 <h4><time datetime="2020-05">May 2020</time>—<time datetime="2020-10">Oct 2020</time></h4>
1103 <ul class="details">
1104 <li class="skills">Architect, Developer</li>
1105 <li class="technologies">Ruby, Groovy, Fastlane, Jenkins, Gradle, TypeScript, Java, Swift</li>
1106 <li class="description">Built CI/CD deployment pipelines for a framework and multiple projects, with iOS/Android targets, SauceLabs, Artifactory, Vault, and SonarQube integration.</li>
1107 </ul>
1108 </div>
1109 <div>
1110 <h3 id="GemdatArchitecturConsulting">Gemdat Architecture Consulting</h3>
1111 <h4><time datetime="2018-04">Apr 2020</time></h4>
1112 <ul class="details">
1113 <li class="skills">Architect</li>
1114 <li class="technologies">Angular, NX, TypeScript</li>
1115 <li class="description">Conducted a 1-day architecture review and consulting for an set of Angular projects.</li>
1116 </ul>
1117 </div>
1118 <div>
1119 <h3>Crealogix MAP</h3>
1120 <h4><time datetime="2019-09">Sep 2019</time>—<time datetime="2020-04">Apr 2020</time></h4>
1121 <ul class="details">
1122 <li class="skills">Architect, Developer</li>
1123 <li class="technologies">Java, Swift, TypeScript, Android & iOS SDKs</li>
1124 <li class="description">Maintained and improved a cross-platform mobile-banking solution for Android and iOS.</li>
1125 </ul>
1126 </div>
1127 <div>
1128 <h3 id="RocheUA">Roche User Assistance</h3>
1129 <h4><time datetime="2018-10">Oct 2018</time>—<time datetime="2022-01">Jan 2022</time></h4>
1130 <ul class="details">
1131 <li class="skills">Reviewer</li>
1132 <li class="technologies">TypeScript, React, MobX, LESS</li>
1133 <li class="description">Provided architecture, quality control and reviews for an upgrade, cleanup, refactoring, and modernization of an existing product.</li>
1134 </ul>
1135 </div>
1136 <div>
1137 <h3 id="PerformaCRM">Performa CRM</h3>
1138 <h4><time datetime="2018-03">Sep 2018</time>—<time datetime="2021-01">Jan 2021</time></h4>
1139 <ul class="details">
1140 <li class="skills">Architect, Developer</li>
1141 <li class="technologies">C#, ASP.Net Core, React, TypeScript</li>
1142 <li class="description">Worked on a server to transform metadata and data from Microsoft Dynamics CRM to Quino for delivery to a generic Quino web client.</li>
1143 </ul>
1144 </div>
1145 <div>
1146 <h3 id="IT">Encodo IT</h3>
1147 <h4><time datetime="2007-10">Oct 2007</time>—<time datetime="2022-01">Jan 2022</time></h4>
1148 <ul class="details">
1149 <li class="skills">Support</li>
1150 <li class="technologies">Ubuntu, Proxmox, Windows Server</li>
1151 <li class="description">Worked with IT chief to set up and maintain Encodo's infrastructure and network, including on-prem CI/CD (now mostly in Azure), a fleet of Ubuntu and Windows VMs, firewall, DNS, Samba, and so much more over the years.</li>
1152 </ul>
1153 </div>
1154 <div>
1155 <h3 id="RocheLabCoreWebModules">Roche LabCore Web Modules</h3>
1156 <h4><time datetime="2019-10">Oct 2019</time>—<time datetime="2020-03">Mar 2020</time></h4>
1157 <ul class="details">
1158 <li class="skills">Architect, Developer</li>
1159 <li class="technologies">TypeScript, React, Angular, SCSS</li>
1160 <li class="description">Designed an architecture for a multi-technology web framework/library.</li>
1161 </ul>
1162 </div>
1163 <div>
1164 <h3 id="AplixSpooler">Aplix Spooler</h3>
1165 <h4><time datetime="2019-08">Aug 2019</time>—<time datetime="2019-12">Dec 2019</time></h4>
1166 <ul class="details">
1167 <li class="skills">Developer</li>
1168 <li class="technologies">C#, ASP.Net, React, TypeScript, Delphi Pascal</li>
1169 <li class="description">Retrofitted a Windows desktop application to work with a command line and integrated it into a C# service.</li>
1170 </ul>
1171 </div>
1172 <div>
1173 <h3 id="CrealogixDigitalBankingDemoDays"><a href="https://crealogix.com">Crealogix</a> Digital Banking Demo Days</h3>
1174 <h4><time datetime="2019-03">Mar 2019</time>—<time datetime="2019-05">May 2019</time></h4>
1175 <ul class="details">
1176 <li class="skills">Architect, Developer</li>
1177 <li class="technologies">TypeScript, React, CSS/LESS</li>
1178 <li class="description">Wrote a chat-robot prototype against a UI/UX concept for a demonstration.</li>
1179 </ul>
1180 </div>
1181 <div>
1182 <h3 id="AplixLogistik">Aplix Logistik</h3>
1183 <h4><time datetime="2019-03">Mar 2019</time>—<time datetime="2019-12">Dec 2019</time></h4>
1184 <ul class="details">
1185 <li class="skills">Reviewer</li>
1186 <li class="technologies">C#, ASP.Net, React</li>
1187 <li class="description">Supervised, provided guidance and helped develop the back-end for a mobile-based, "picker" app for food warehouses (SwissBio).</li>
1188 </ul>
1189 </div>
1190 <div>
1191 <h3 id="HensoldtMTSC"><a href="https://www.hensoldt.net/">Hensoldt</a> Train-Simulator Content-Delivery System</h3>
1192 <h4><time datetime="2019-03">Mar 2019</time>—<time datetime="2019-08">Aug 2019</time></h4>
1193 <ul class="details">
1194 <li class="skills">Reviewer</li>
1195 <li class="technologies">XSLT, XML</li>
1196 <li class="description">Provided design/architecture and reviews for a content-delivery system based on Web Flow.</li>
1197 </ul>
1198 </div>
1199 <div>
1200 <h3 id="CrealogixTimeWarp"><a href="https://crealogix.com">Crealogix</a> <a href="https://finovate.com/videos/finovateeurope-2019-crealogix/">TimeWarp</a></h3>
1201 <h4><time datetime="2018-11">Nov 2018</time>—<time datetime="2019-02">Feb 2019</time></h4>
1202 <ul class="details">
1203 <li class="skills">Developer</li>
1204 <li class="technologies">C#, Unity</li>
1205 <li class="description">Wrote the data model and game-world algorithm for a 3D financial-planner prototype.</li>
1206 </ul>
1207 </div>
1208 <div>
1209 <h3 id="InsiteFAK"><a href="https://insite.ch">Insite</a> FAK</h3>
1210 <h4><time datetime="2018-03">Mar 2018</time>—<time datetime="2021-01">Jan 2021</time></h4>
1211 <ul class="details">
1212 <li class="skills">Architect, Technical PM, Developer</li>
1213 <li class="technologies">C#, .NET</li>
1214 <li class="description">Rewrite an existing line-of-business application using Quino, connecting to a legacy database.</li>
1215 </ul>
1216 </div>
1217 <div>
1218 <h3 id="InsiteNETCQuinoTrainings"><a href="https://insite.ch">Insite</a> <a href="https://data.encodo.ch/presentations/20180719_dotnet_csharp_training_1/">.NET/C#/Quino Trainings</a></h3>
1219 <h4><time datetime="2018-06">Jun 2018</time>—<time datetime="2018-09">Sep 2018</time></h4>
1220 <ul class="details">
1221 <li class="skills">Architect, Technical PM, Developer</li>
1222 <li class="technologies">C#</li>
1223 <li class="description">Conducted a 3-day training and onboarding for .NET, C# and Quino, starting from fundamentals to building a simple, but full-fledged Quino desktop application.</li>
1224 </ul>
1225 </div>
1226 <div>
1227 <h3 id="DaylightQuinoUpgrade"><a href="https://daylight.ch">Daylight</a> Quino Upgrade</h3>
1228 <h4><time datetime="2018-03">Mar 2018</time>—<time datetime="2018-12">Dec 2018</time></h4>
1229 <ul class="details">
1230 <li class="skills">Architect, Technical PM, Developer</li>
1231 <li class="technologies">C#</li>
1232 <li class="description">Upgraded a sophisticated event-management/school-management product based on Quino 1.13 to Quino 6 (latest).</li>
1233 </ul>
1234 </div>
1235 <div>
1236 <h3 id="AplixLogistikInitial">Aplix Logistik</h3>
1237 <h4><time datetime="2018-03">Mar 2018</time>—<time datetime="2018-08">Aug 2018</time></h4>
1238 <ul class="details">
1239 <li class="skills">Architect, Technical PM, Developer</li>
1240 <li class="technologies">C#, React, Redux, TypeScript</li>
1241 <li class="description">Supervised, provided guidance and helped develop the back-end for a mobile-based, "picker" app for food warehouses (SwissBio).</li>
1242 </ul>
1243 </div>
1244 <div>
1245 <h3 id="MicronHandoffTrainings">Micron Hand-off Trainings</h3>
1246 <h4><time datetime="2017-09">Sep 2017</time>—<time datetime="2018-04">Apr 2018</time></h4>
1247 <ul class="details">
1248 <li class="skills">Trainer</li>
1249 <li class="technologies">C#, Quino, Web API, TypeScript, Less, Material UI</li>
1250 <li class="description">Created presentations and tutorials and presented 10 90-minute trainings to on-board a medium-sized team.</li>
1251 </ul>
1252 </div>
1253 <div>
1254 <h3 id="MULTIVACPolymerTraining"><a href="https://multivac.com/en/">MULTIVAC HTML/Polymer Training</a></h3>
1255 <h4><time datetime="2016-10">Oct 2016</time></h4>
1256 <ul class="details">
1257 <li class="skills">Architect, Trainer</li>
1258 <li class="technologies">HTML 5, JavaScript, Less/Css, Polymer</li>
1259 <li class="description">Created presentations and tutorials and presented a 2-day, JS/Polymer training with a focus on architecture.</li>
1260 </ul>
1261 </div>
1262 <div>
1263 <h3 id="MicronTopPerformance"><a href="https://www.micronsystems.com/introducing-top-performance">Micron Top Performance</a></h3>
1264 <h4><time datetime="2016-09">Sep 2016</time>—<time datetime="2018-11">Nov 2018</time></h4>
1265 <ul class="details">
1266 <li class="skills">Architect, Technical PM, Developer</li>
1267 <li class="technologies">C#, TypeScript, React, Redux</li>
1268 <li class="description">Designed and developed employee-managed, -evaluation and performance-review software with PL in New Jersey and a team in Philippines, deployed on AWS.</li>
1269 </ul>
1270 </div>
1271 <div>
1272 <h3 id="CrealogixMAP"><a href="https://crealogix.com">Crealogix MAP</a></h3>
1273 <h4><time datetime="2016-09">Sep 2016</time>—<time datetime="2018-01">Jan 2018</time> </h4>
1274 <ul class="details">
1275 <li class="skills">Architect, Developer</li>
1276 <li class="technologies">Java, Swift, TypeScript, React, Android & iOS SDKs</li>
1277 <li class="description">Designed and built a cross-platform mobile-banking solution for Android and iOS.</li>
1278 </ul>
1279 </div>
1280 <div>
1281 <h3 id="AlpsHandoffTraining">Alps Hand-off Training</h3>
1282 <h4><time datetime="2015-10">Oct 2015</time></h4>
1283 <ul class="details">
1284 <li class="skills">Architect</li>
1285 <li class="technologies">C#, Quino, Web API, TypeScript, Less, Knockout</li>
1286 <li class="description">Created presentations and tutorials and presented a 5-day training to on-board a small team.</li>
1287 </ul>
1288 </div>
1289 <div>
1290 <h3 id="Alps"><a href="https://www.apexclearing.com/">Apex Clearing</a> <a href="https://apps.apexclearing.com/alps">Alps</a></h3>
1291 <h4><time datetime="2013-06">Jun 2013</time>—<time datetime="2016-06">Sep 2016</time></h4>
1292 <ul class="details">
1293 <li class="skills">Technical PM, Architect, Developer</li>
1294 <li class="technologies">C#, Quino, Web API, TypeScript, Less, Knockout</li>
1295 <li class="description">Services and web front-end for processing, overview and management of ACATS for <a href="https://apexclearing.com">Apex Clearing Corporation</a>.</li>
1296 </ul>
1297 </div>
1298 <div>
1299 <h3 id="Qontis">Qontis (<a href="https://crealogix.com">Crealogix </a>)</h3>
1300 <h4><time datetime="2013-03">Mar 2013</time>—<time datetime="2015-02">Feb 2015</time></h4>
1301 <ul class="details">
1302 <li class="skills">Architect, Developer</li>
1303 <li class="technologies">C#, WCF, <a href="https://www.meniga.com">Meniga</a>, JavaScript, Less, jQuery</li>
1304 <li class="description">A personal finance manager with integration into various online banking systems.</li>
1305 </ul>
1306 </div>
1307 <div>
1308 <h3 id="CrealogixMUXTraining"><a href="https://crealogix.com">Crealogix </a> MUX Training</h3>
1309 <h4><time datetime="2014-08">Aug 2014</time></h4>
1310 <ul class="details">
1311 <li class="skills">Architect, Trainer</li>
1312 <li class="technologies">HTML 5, JavaScript, Less/Css</li>
1313 <li class="description">Created a framework recommendation for a web-based project. Created presentations and tutorials and presented a 5-day training to onboard a small team.</li>
1314 </ul>
1315 </div>
1316 <div>
1317 <h3 id="RocheHTML5Training"><a href="https://www.roche.ch/">Roche</a> HTML5 Training</h3>
1318 <h4><time datetime="2013-11">Nov 2013</time></h4>
1319 <ul class="details">
1320 <li class="skills">Architect, Trainer</li>
1321 <li class="technologies">HTML 5, JavaScript, Less/Css</li>
1322 <li class="description">Created presentations and tutorials and presented a 3-day, HTML5 introduction and training with a focus on architecture.</li>
1323 </ul>
1324 </div>
1325 <div>
1326 <h3 id="RocheMUA"><a href="https://www.roche.ch/">Roche</a> MUA</h3>
1327 <h4><time datetime="2012-10">Oct 2012</time>—<time datetime="2013-06">Jun 2013</time></h4>
1328 <ul class="details">
1329 <li class="skills">Developer</li>
1330 <li class="technologies">HTML 5, JavaScript, Less/Css</li>
1331 <li class="description">A full-fledged port of a Silverlight user-assistance application to HTML for mobile devices.</li>
1332 </ul>
1333 </div>
1334 <div>
1335 <h3 id="QQLSpecification"><a href="https://encodo.com/media/2726/encodo-qql-handbook.pdf">QQL Specification</a></h3>
1336 <h4><time datetime="2011-11">Nov 2011</time>—<time datetime="2012-10">Oct 2012</time></h4>
1337 <ul class="details">
1338 <li class="skills">Architect</li>
1339 <li class="technologies">QQL</li>
1340 <li class="description">Wrote a detailed specification for the Quino Query Language (QQL), which defines a syntax and semantics for formulating data requests
1341 against hierarchical data structures.</li>
1342 </ul>
1343 </div>
1344 <div>
1345 <h3 id="GitHandbook"><a href="https://encodo.com/media/1018/encodo-git-handbook.pdf">Git Handbook</a></h3>
1346 <h4><time datetime="2011-06">Jun 2011</time>—<time datetime="2015-07">Jul 2015</time></h4>
1347 <ul class="details">
1348 <li class="skills">Writer</li>
1349 <li class="technologies">Git</li>
1350 <li class="description">Wrote a detailed handbook for using Git at Encodo, with best practices, a branching model and development process.</li>
1351 </ul>
1352 </div>
1353 <div>
1354 <h3 id="Peak6Launchpad"><a href="https://peak6.com">Peak6 Launchpad</a></h3>
1355 <h4><time datetime="2010-07">Jul 2010</time>—<time datetime="2012-09">Sep 2012</time></h4>
1356 <ul class="details">
1357 <li class="skills">Architect, Developer</li>
1358 <li class="technologies">C#, Winforms, Quino</li>
1359 <li class="description">A highly concurrent and high-performance query and display client for options traders.</li>
1360 </ul>
1361 </div>
1362 <div>
1363 <h3 id="M9">M9</h3>
1364 <h4><time datetime="2009-03">Mar 2009</time>—<time datetime="2010-09">Sep 2010</time></h4>
1365 <ul class="details">
1366 <li class="skills">Architect, Developer</li>
1367 <li class="technologies">C#, Winforms, Entity Framework</li>
1368 <li class="description">A large-scale and high-volume contact bulk mail/campaign manager.</li>
1369 </ul>
1370 </div>
1371 <div>
1372 <h3 id="eZagAdmin"><a href="https://www.zag.zh.ch">eZag Admin</a></h3>
1373 <h4><time datetime="2007-03">Sep 2007</time>—<time datetime="2022-01">Jan 2022</time></h4>
1374 <ul class="details">
1375 <li class="skills">Architect, Developer, Support</li>
1376 <li class="technologies">C#, Winforms, Quino, ASP.Net, jQuery, Exchange integration</li>
1377 <li class="description">A product for managing a school, including basic data, curriculum and lesson planning software.</li>
1378 </ul>
1379 </div>
1380 <div>
1381 <h3 id="CHandbook"><a href="https://github.com/mvonballmo/CSharpHandbook">C# Handbook</a></h3>
1382 <h4><time datetime="2007-03">Mar 2007</time>—<time datetime="2007-06">Jun 2017</time></h4>
1383 <ul class="details">
1384 <li class="skills">Writer</li>
1385 <li class="technologies">Markdown, C#</li>
1386 <li class="description">Wrote a detailed reference for composing C#. It includes naming, structural and formatting conventions as well as best practices for writing clean, safe and maintainable code.</li>
1387 </ul>
1388 </div>
1389 <div>
1390 <h3 id="PoCRaiffeisen">POC <a href="https://www.raiffeisen.ch/">Raiffeisen</a></h3>
1391 <h4><time datetime="2007-05">May 2007</time>—<time datetime="2007-08">Aug 2007</time></h4>
1392 <ul class="details">
1393 <li class="skills">Architect, Developer</li>
1394 <li class="technologies">Java, Eclipse RCP</li>
1395 <li class="description">A POC to wrap legacy software in a SOAP API with a Java client prototype.</li>
1396 </ul>
1397 </div>
1398 <div>
1399 <h3 id="FidesReportingEngine"><a href="https://fides.ch">Fides</a> Reporting Engine</h3>
1400 <h4><time datetime="2006-06">Jun 2006</time>—<time datetime="2014-06">Jun 2014</time></h4>
1401 <ul class="details">
1402 <li class="skills">Architect, Lead Developer, Support</li>
1403 <li class="technologies">Delphi Pascal, VCL</li>
1404 <li class="description">A reporting engine and full-fledged designer for fixed-width text, HTML and PDF reports.</li>
1405 </ul>
1406 </div>
1407 <div>
1408 <h3 id="FidesClient"><a href="https://fides.ch">Fides Client</a></h3>
1409 <h4><time datetime="2006-06">Jun 2006</time>—<time datetime="2014-06">Jun 2014</time></h4>
1410 <ul class="details">
1411 <li class="skills">Architect, Developer, Support</li>
1412 <li class="technologies">Delphi Pascal, VCL</li>
1413 <li class="description">A client/server component to communicate in parallel and asynchronously via a custom, secure XML-based protocol.</li>
1414 </ul>
1415 </div>
1416 <div>
1417 <h3 id="QZAG"><a href="https://www.zag.zh.ch">Q-ZAG</a></h3>
1418 <h4><time datetime="2005-12">Dec 2005</time>—<time datetime="2014-10">Oct 2014</time></h4>
1419 <ul class="details">
1420 <li class="skills">Architect, Developer, Support</li>
1421 <li class="technologies">Java, Tapestry, JavaScript</li>
1422 <li class="description">A document management system for organizing materials related to the Quintessenz system.</li>
1423 </ul>
1424 </div>
1425 <div>
1426 <h3 id="ZAGEntlastungskontrolle"><a href="https://www.zag.zh.ch">ZAG Entlastungkontrolle</a></h3>
1427 <h4><time datetime="2005-10">Oct 2005</time>—<time datetime="2014-10">Oct 2014</time></h4>
1428 <ul class="details">
1429 <li class="skills">Architect, Developer, Support</li>
1430 <li class="technologies">Java, Tapestry, JavaScript</li>
1431 <li class="description">A product for teachers and administrators to manage compensated and continuing-education time.</li>
1432 </ul>
1433 </div>
1434 </div>
1435 </div>
1436 </div>
1437
1438 <div class="page-break">
1439 <h2>Opus Software GmbH</h2>
1440 <h3 title="3 years">October 2002—August 2005</h3>
1441 <p>I moved from New York City to Switzerland to work for Opus, where I went back to working with Object Pascal and Delphi.</p>
1442
1443 <h3>Overview</h3>
1444 <div class="timeline">
1445 <table class="basic left-labels legend early">
1446 <caption title="Legend"></caption>
1447 <tr>
1448 <th title="Lead Dev"></th>
1449 <td class="lead-developer"></td>
1450 </tr>
1451 <tr>
1452 <th title="Developer"></th>
1453 <td class="developer"></td>
1454 </tr>
1455 <tr>
1456 <th title="Architect"></th>
1457 <td class="architect"></td>
1458 </tr>
1459 </table>
1460 <div class="timeline-box">
1461 <div class="years">
1462 <div title="1985"></div>
1463 <div title="1990"></div>
1464 <div title="1995"></div>
1465 <div title="2000"></div>
1466 <div title="2005"></div>
1467 <div title="2010"></div>
1468 <div title="2015"></div>
1469 <div title="2020"></div>
1470 </div>
1471 <table class="projects">
1472 <thead>
1473 <tr>
1474 <th>Years</th>
1475 <th>Product</th>
1476 <th>Roles</th>
1477 </tr>
1478 </thead>
1479 <tbody>
1480 <tr><th></th><td class="employee"><?php employee_area ("mid2002", "mid2005");?></td><td></td></tr>
1481 <tr><th>2003–2005</th><td><?php project_line ("Dialba 2000", "developer", "year2003", "mid2005"); ?></td><td>Developer</td></tr>
1482 <tr><th>2003–2005</th><td><?php project_line ("Atlas", "architect lead-developer", "mid2003", "mid2005"); ?></td><td>Architect, Lead developer</td></tr>
1483 <tr><th>2002–2003</th><td><?php project_line ("Atlas", "developer", "mid2002", "mid2003"); ?></td><td>Developer</td></tr>
1484 <tr><th>2005</th><td><?php project_line ("Sql Server Data Driver", "developer", "year2005", "mid2005"); ?></td><td>Developer</td></tr>
1485 <tr><th>2004</th><td><?php project_line ("Allbase Data Driver", "developer", "mid2004", "year2005"); ?></td><td>Developer</td></tr>
1486 <tr><th>2003</th><td><?php project_line ("Atlas Startup", "developer", "year2003", "year2004"); ?></td><td>Developer</td></tr>
1487 <tr><th>2003</th><td><?php project_line ("Atlas Logging", "developer", "year2003", "year2004"); ?></td><td>Developer</td></tr>
1488 <tr><th>2002</th><td><?php project_line ("earthli Projects 2.5", "developer", "mid2002", "year2003"); ?></td><td>Developer</td></tr>
1489 </tbody>
1490 </table>
1491 </div>
1492 </div>
1493
1494 <h3>Details</h3>
1495 <div class="grid projects">
1496 <div>
1497 <h3 id="Atlas">Atlas</h3>
1498 <h4><time datetime="2002-10">Oct 2002</time>—<time datetime="2005-08">Aug 2005</time></h4>
1499 <ul class="details">
1500 <li class="skills">Architect, Lead Developer</li>
1501 <li class="technologies">Delphi Pascal, VCL</li>
1502 <li class="description">A metadata-centric framework to develop client and service applications. Included an ORM, automated schema-migration, and generated user interfaces.</li>
1503 </ul>
1504 </div>
1505 <div>
1506 <h3 id="SqlServerDataDriver">SQL Server Data Driver</h3>
1507 <h4><time datetime="2005-01">Jan 2005</time>—<time datetime="2005-08">Aug 2005</time></h4>
1508 <ul class="details">
1509 <li class="skills">Lead Developer</li>
1510 <li class="technologies">Delphi Pascal, SQL Server 2000</li>
1511 <li class="description">A data driver for Atlas for SQL Server databases.</li>
1512 </ul>
1513 </div>
1514 <div>
1515 <h3 id="AllbaseDataDriver">Allbase Data Driver</h3>
1516 <h4><time datetime="2004-06">Jun 2004</time>—<time datetime="2004-12">Dec 2004</time></h4>
1517 <ul class="details">
1518 <li class="skills">Lead Developer</li>
1519 <li class="technologies">Delphi Pascal, HP Allbase</li>
1520 <li class="description">A data driver for Atlas for HP Allbase databases.</li>
1521 </ul>
1522 </div>
1523 <div>
1524 <h3 id="Dialba2000">Dialba 2000</h3>
1525 <h4><time datetime="2003-06">Jun 2003</time>—<time datetime="2005-08">Aug 2005</time></h4>
1526 <ul class="details">
1527 <li class="skills">Developer</li>
1528 <li class="technologies">Delphi Pascal, VCL, Btrieve/Powerflex</li>
1529 <li class="description">Support and enhancements for a feature-rich and powerful banking front-end written with Atlas.</li>
1530 </ul>
1531 </div>
1532 <div>
1533 <h3 id="AtlasStartup">Atlas Startup</h3>
1534 <h4><time datetime="2003-02">Feb 2003</time>—<time datetime="2003-06">Jun 2003</time></h4>
1535 <ul class="details">
1536 <li class="skills">Lead Developer</li>
1537 <li class="technologies">Delphi Pascal</li>
1538 <li class="description">A flexible and declarative configuration and startup system for Atlas applications.</li>
1539 </ul>
1540 </div>
1541 <div>
1542 <h3 id="AtlasLogging">Atlas Logging</h3>
1543 <h4><time datetime="2003-04">Apr 2003</time>—<time datetime="2003-06">Jun 2003</time></h4>
1544 <ul class="details">
1545 <li class="skills">Lead Developer</li>
1546 <li class="technologies">Delphi Pascal</li>
1547 <li class="description">Add configurable and semantic/information-rich logging for Atlas applications.</li>
1548 </ul>
1549 </div>
1550 <div class="page-break">
1551 <h3 id="earthliProjects25">earthli Projects 2.5</h3>
1552 <h4><time datetime="2002-11">Nov 2002</time>—<time datetime="2003-01">Jan 2003</time></h4>
1553 <ul class="details">
1554 <li class="skills">Lead Developer</li>
1555 <li class="technologies">PHP 4</li>
1556 <li class="description">Extend issue-tracker emails, subscriptions, and add multiple branch statuses.</li>
1557 </ul>
1558 </div>
1559 </div>
1560 </div>
1561
1562 <div class="page-break">
1563 <h2>Logicat, Inc.</h2>
1564 <h3 title="8 years">August 1994—August 2002</h3>
1565 <p>I moved from upstate New York to New York City to start my professional career at Logicat as a developer.</p>
1566 <h3>Overview</h3>
1567 <div class="timeline">
1568 <table class="basic left-labels legend early">
1569 <caption title="Legend"></caption>
1570 <tr>
1571 <th title="Technical PM"></th>
1572 <td class="project-manager"></td>
1573 </tr>
1574 <tr>
1575 <th title="Lead Dev"></th>
1576 <td class="lead-developer"></td>
1577 </tr>
1578 <tr>
1579 <th title="Developer"></th>
1580 <td class="developer"></td>
1581 </tr>
1582 <tr>
1583 <th title="Architect"></th>
1584 <td class="architect"></td>
1585 </tr>
1586 </table>
1587 <div class="timeline-box">
1588 <div class="years">
1589 <div title="1985"></div>
1590 <div title="1990"></div>
1591 <div title="1995"></div>
1592 <div title="2000"></div>
1593 <div title="2005"></div>
1594 <div title="2010"></div>
1595 <div title="2015"></div>
1596 <div title="2020"></div>
1597 </div>
1598 <table class="projects">
1599 <thead>
1600 <tr>
1601 <th>Years</th>
1602 <th>Product</th>
1603 <th>Roles</th>
1604 </tr>
1605 </thead>
1606 <tbody>
1607 <tr><th></th><td class="employee"><?php employee_area ("mid1994", "mid2002");?></td><td></td></tr>
1608 <tr><th>2002</th><td class="years_2002_mid_2002"><?php project_line ("Logicat Course Administrator", "project-manager architect lead-developer", "year2002", "mid2002"); ?></td><td>Project-manager, Architect, Lead developer</td></tr>
1609 <tr><th>2001–2002</th><td class="years_2001_2002"><?php project_line ("Logicat CE Manager", "project-manager architect lead-developer", "year2001", "mid2002"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1610 <tr><th>2001</th><td class="years_2001_mid_2001"><?php project_line ("Online Testing", "lead-developer", "year2001", "mid2001"); ?></td><td>lead-developer</td></tr>
1611 <tr><th>1999–2001</th><td class="years_1999_2001"><?php project_line ("One-on-One with the SAT 2.0", "project-manager architect lead-developer", "year1999", "year2001"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1612 <tr><th>1998–1999</th><td class="years_1998_1999"><?php project_line ("Logicat Test Engine", "project-manager architect lead-developer", "year1998", "year1999"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1613 <tr><th>1997</th><td class="years_mid_1997_1998"><?php project_line ("CPA Live Courses", "architect lead-developer", "mid1997", "year1998"); ?></td><td>Architect, Lead developer</td></tr>
1614 <tr><th>1997</th><td class="years_1997_mid_1997"><?php project_line ("Performance Transfer", "lead-developer", "year1997", "mid1997"); ?></td><td>Lead developer</td></tr>
1615 <tr><th>1996–1997</th><td class="years_1996_1997"><?php project_line ("Logicat CPA Review", "architect lead-developer", "year1996", "year1997"); ?></td><td>Architect, Lead developer</td></tr>
1616 <tr><th>1996</th><td class="years_1996_mid_1996"><?php project_line ("ELF", "architect lead-developer", "year1996", "year1997"); ?></td><td>Architect, Lead developer</td></tr>
1617 <tr><th>1995–1996</th><td class="years_1995_1996"><?php project_line ("PassMaster CPA Review Web Site", "lead-developer", "year1995", "year1996"); ?></td><td>Lead developer</td></tr>
1618 <tr><th>1995</th><td class="years_1995_mid_1995"><?php project_line ("Counselor Utility", "lead-developer", "year1995", "mid1995"); ?></td><td>Lead developer</td></tr>
1619 <tr><th>1994–1995</th><td class="years_mid_1994_mid_1995"><?php project_line ("One-on-One with the SAT", "developer", "mid1994", "mid1995"); ?></td><td>Developer</td></tr>
1620 </tbody>
1621 </table>
1622 </div>
1623 </div>
1624
1625 <h3>Details</h3>
1626 <div class="grid projects">
1627 <div>
1628 <h3 id="LogicatCourseAdministrator"><a href="https://cemanager.micronapps.com">Logicat Course Administrator</a></h3>
1629 <h4><time datetime="2002-05">May 2002</time>—<time datetime="2002-08">Aug 2002</time></h4>
1630 <ul class="details">
1631 <li class="skills">Project Manager, Architect, Lead Developer</li>
1632 <li class="technologies">Visual Basic, ASP.Net, IIS 5, SQL Server 2000</li>
1633 <li class="description">Added multi-tenancy to CE Manager with features/permissions per customer and improved evaluation, reporting and views.</li>
1634 </ul>
1635 </div>
1636 <div>
1637 <h3 id="LogicatCEManager"><a href="https://cemanager.micronapps.com">Logicat CE Manager</a></h3>
1638 <h4><time datetime="2001-04">Apr 2001</time>—<time datetime="2002-04">Apr 2002</time></h4>
1639 <ul class="details">
1640 <li class="skills">Project Manager, Architect, Lead Developer</li>
1641 <li class="technologies">Visual Basic, ASP.Net, IIS 5, SQL Server 2000</li>
1642 <li class="description">A web-based application with reports, reminders and statements for lawyers to track and manage continuing-education credits and licenses.</li>
1643 </ul>
1644 </div>
1645 <div>
1646 <h3 id="OnlineTesting">Online Testing</h3>
1647 <h4><time datetime="2001-02">Feb 2001</time>—<time datetime="2001-04">Apr 2001</time></h4>
1648 <ul class="details">
1649 <li class="skills">Lead Developer</li>
1650 <li class="technologies">Visual C++ 6, IIS 5, SQL Server 2000, HTML/CSS/JS</li>
1651 <li class="description">An HTML-based testing platform for online learning solutions.</li>
1652 </ul>
1653 </div>
1654 <div>
1655 <h3 id="OneonOnewiththeSAT20">One-on-One with the SAT 2</h3>
1656 <h4><time datetime="1999-01">Jan 1999</time>—<time datetime="2001-02">Feb 2001</time></h4>
1657 <ul class="details">
1658 <li class="skills">Project Manager, Architect, Lead Developer</li>
1659 <li class="technologies">Visual C++ 6, MFC, Win32, Metrowerks CodeWarrior 5, Macintosh Toolbox</li>
1660 <li class="description">Add full cross-platform support for Mac OS 9/Windows 95/98 for the Logicat Test Engine (including full renderer and file-format abstraction). Authors had significant scripting/formatting/layouting control.</li>
1661 </ul>
1662 </div>
1663 <div>
1664 <h3 id="LogicatTestEngine">Logicat Test Engine</h3>
1665 <h4><time datetime="1997-11">Nov 1997</time>—<time datetime="1998-12">Dec 1998</time></h4>
1666 <ul class="details">
1667 <li class="skills">Project Manager, Architect, Lead Developer</li>
1668 <li class="technologies">Visual C++ 6, MFC, Win32</li>
1669 <li class="description">Extended ELF with sounds, images, videos, forms and event-based scripting to build a feature-rich and powerful testing framework. Initial content was for a BNL (Brookhaven National Labs) training manual.</li>
1670 </ul>
1671 </div>
1672 <div>
1673 <h3 id="CPALiveCourses">Logicat CPA Review Software Live Courses</h3>
1674 <h4><time datetime="1997-05">May 1997</time>—<time datetime="1997-11">Nov 1997</time></h4>
1675 <ul class="details">
1676 <li class="skills">Architect, Lead Developer</li>
1677 <li class="technologies">Visual C++ 5, MFC, Win32, Delphi 3, OLE/COM</li>
1678 <li class="description">Integrate study plan, calendar and PowerPoint presentations to support/enhance live instruction.</li>
1679 </ul>
1680 </div>
1681 <div>
1682 <h3 id="PerformanceTransfer">Performance Transfer Utility</h3>
1683 <h4><time datetime="1997-02">Feb 1997</time>—<time datetime="1997-04">Apr 1997</time></h4>
1684 <ul class="details">
1685 <li class="skills">Lead Developer</li>
1686 <li class="technologies">Delphi 2.0, Wise 5.0, HTML/CSS</li>
1687 <li class="description">A hardware copy-protection utility for Logicat CPA Review with custom installer and detailed (100-page) manual.</li>
1688 </ul>
1689 </div>
1690 <div>
1691 <h3 id="LogicatCPAReview">Logicat CPA Review</h3>
1692 <h4><time datetime="1996-08">Aug 1996</time>—<time datetime="1997-01">Jan 1997</time></h4>
1693 <ul class="details">
1694 <li class="skills">Architect, Lead Developer</li>
1695 <li class="technologies">Visual C++ 4.1/5, MFC, Win32, ELF</li>
1696 <li class="description">A rewrite of the popular PassMaster DOS program for Windows 95 using ELF.</li>
1697 </ul>
1698 </div>
1699 <div>
1700 <h3 id="ELF">ELF (Extended Logicat Format)</h3>
1701 <h4><time datetime="1996-02">Feb 1996</time>—<time datetime="1996-08">Aug 1996</time></h4>
1702 <ul class="details">
1703 <li class="skills">Architect, Lead Developer</li>
1704 <li class="technologies">Borland Delphi 2, Microsoft Visual C++ 4.1</li>
1705 <li class="description">A content pipeline and rendering library that included a markup language, RTF parser and structured binary document format/database.</li>
1706 </ul>
1707 </div>
1708 <div>
1709 <h3 id="PassMasterCPAReviewWebSite">PassMaster CPA Review Web Site</h3>
1710 <h4><time datetime="1995-12">Dec 1995</time>—<time datetime="1996-01">Jan 1996</time></h4>
1711 <ul class="details">
1712 <li class="skills">Lead Developer</li>
1713 <li class="technologies">JavaScript, HTML, Delphi</li>
1714 <li class="description">An online demonstration of some of the functionality of the DOS-based PassMaster CPA review software.</li>
1715 </ul>
1716 </div>
1717 <div>
1718 <h3 id="CounselorUtility">One-on-One with the SAT Counselor Utility</h3>
1719 <h4><time datetime="1995-09">Sep 1995</time>—<time datetime="1995-11">Nov 1995</time></h4>
1720 <ul class="details">
1721 <li class="skills">Lead Developer</li>
1722 <li class="technologies">Borland Object Pascal 7, Win32</li>
1723 <li class="description">A management and reporting utility for multi-user, networked school distributions of One-on-One with the SAT.</li>
1724 </ul>
1725 </div>
1726 <div>
1727 <h3 id="OneonOnewiththeSAT">One-on-One with the SAT</h3>
1728 <h4><time datetime="1994-08">Aug 1994</time>—<time datetime="1995-09">Sep 1995</time></h4>
1729 <ul class="details">
1730 <li class="skills">Developer</li>
1731 <li class="technologies">Borland Object Pascal 7, Win32</li>
1732 <li class="description">The official College Board SAT-preparation tool for Windows 3.1/95.</li>
1733 </ul>
1734 </div>
1735 </div>
1736 </div>
1737
1738 <div class="page-break">
1739 <h2>Personal Projects</h2>
1740 <h3 title="<?php echo $current_year - 1997; ?> years">January 1997—present</h3>
1741 <p>This list includes open-source projects and the software running this web site.</p>
1742
1743 <h3>Overview</h3>
1744 <div class="timeline">
1745 <table class="basic left-labels legend early">
1746 <caption title="Legend"></caption>
1747 <tr>
1748 <th title="Technical PM"></th>
1749 <td class="project-manager"></td>
1750 </tr>
1751 <tr>
1752 <th title="Lead Dev"></th>
1753 <td class="lead-developer"></td>
1754 </tr>
1755 <tr>
1756 <th title="Developer"></th>
1757 <td class="developer"></td>
1758 </tr>
1759 <tr>
1760 <th title="Architect"></th>
1761 <td class="architect"></td>
1762 </tr>
1763 </table>
1764 <div class="timeline-box">
1765 <div class="years">
1766 <div title="1985"></div>
1767 <div title="1990"></div>
1768 <div title="1995"></div>
1769 <div title="2000"></div>
1770 <div title="2005"></div>
1771 <div title="2010"></div>
1772 <div title="2015"></div>
1773 <div title="2020"></div>
1774 </div>
1775 <table class="projects">
1776 <thead>
1777 <tr>
1778 <th>Years</th>
1779 <th>Product</th>
1780 <th>Roles</th>
1781 </tr>
1782 </thead>
1783 <tbody>
1784 <tr><th></th><td class="employee"><?php employee_area ("year1997");?></td><td></td></tr>
1785 <tr><th>2004–2005</th><td><?php project_line ("TuneSync", "project-manager architect lead-developer", "year2004", "year2005"); ?></td><td>Architect, Lead developer</td></tr>
1786 <tr><th>2003–2010</th><td><?php project_line ("PHPDocumentor", "developer", "year2003", "year2010"); ?></td><td>Developer</td></tr>
1787 <tr><th>2002</th><td><?php project_line ("earthli Projects", "lead-developer", "year2002", "mid2002"); ?></td><td>Lead developer</td></tr>
1788 <tr><th>2002</th><td><?php project_line ("earthli News", "lead-developer", "year2002", "mid2002"); ?></td><td>Lead developer</td></tr>
1789 <tr><th>2002</th><td><?php project_line ("earthli Recipes", "lead-developer", "year2002", "mid2002"); ?></td><td>Lead developer</td></tr>
1790 <tr><th>2001–present</th><td><?php project_line ("earthli WebCore", "project-manager architect lead-developer", "year2001"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1791 <tr><th>2001</th><td><?php project_line ("earthli Themes", "lead-developer", "year2001", "mid2001"); ?></td><td>Lead developer</td></tr>
1792 <tr><th>2000</th><td><?php project_line ("earthli Forums", "architect lead-developer", "year2000", "mid2000"); ?></td><td>Architect, Lead developer</td></tr>
1793 <tr><th>1999–2000</th><td><?php project_line ("earthli Albums", "architect lead-developer", "year1999", "year2000"); ?></td><td>Architect, Lead developer</td></tr>
1794 <tr><th>1997–present</th><td><?php project_line ("earthli.com", "project-manager architect lead-developer", "year1997"); ?></td><td>Project manager, Architect, Lead developer</td></tr>
1795 </tbody>
1796 </table>
1797 </div>
1798 </div>
1799
1800 <h3>Details</h3>
1801 <div class="grid projects">
1802 <div>
1803 <h3 id="earthliWebCore"><a href="https://www.earthli.com/software/webcore/">earthli WebCore 3.x</a></h3>
1804 <h4><time datetime="2002-04">Aug 2002</time>—present</h4>
1805 <ul class="details">
1806 <li class="skills">Project Manager, Architect, Lead Developer</li>
1807 <li class="technologies">PHP 5, MySQL, HTML5, LESS/ CSS, JS</li>
1808 <li class="description">Continued maintenance (migrated to PHP5 and PHP7) as well as introducing features (newsfeeds, social optimization and mobile/responsive support).</li>
1809 </ul>
1810 </div>
1811 <div>
1812 <h3 id="TuneSync"><a href="https://www.earthli.com/news/view_article.php?id=1428">TuneSync</a></h3>
1813 <h4><time datetime="2004-12">Dec 2004</time>—<time datetime="2005-12">Dec 2005</time></h4>
1814 <ul class="details">
1815 <li class="skills">Project Manager, Architect, Lead Developer</li>
1816 <li class="technologies">Delphi 7</li>
1817 <li class="description">An application for comparing and syncing iTunes libraries (ID3 tags, ratings, play counts, etc.).</li>
1818 </ul>
1819 </div>
1820 <div>
1821 <h3 id="PHPDocumentor"><a href="https://www.phpdoc.org">PHPDocumentor</a></h3>
1822 <h4><time datetime="2003-04">Apr 2003</time>—<time datetime="2010-12">Dec 2010</time></h4>
1823 <ul class="details">
1824 <li class="skills">Developer</li>
1825 <li class="technologies">PHP 4/5</li>
1826 <li class="description">A documentation generator for PHP. Enhanced data and templates (HTML4/CSS valid) and fixed bugs.</li>
1827 </ul>
1828 </div>
1829 <div>
1830 <h3><a href="https://www.earthli.com/software/webcore/">earthli WebCore 2</a></h3>
1831 <h4><time datetime="2002-04">Apr 2002</time>—<time datetime="2002-08">Aug 2002</time></h4>
1832 <ul class="details">
1833 <li class="skills">Architect, Lead Developer</li>
1834 <li class="technologies">PHP, MySQL 4</li>
1835 <li class="description">A refactoring of the framework to centralize common logic. Migration of all applications.</li>
1836 </ul>
1837 </div>
1838 <div>
1839 <h3 id="earthliProjects"><a href="https://www.earthli.com/software/webcore/app_projects.php">earthli Projects</a></h3>
1840 <h4><time datetime="2002-03">Mar 2002</time>—<time datetime="2002-07">Jul 2002</time></h4>
1841 <ul class="details">
1842 <li class="skills">Lead Developer</li>
1843 <li class="technologies">PHP, MySQL, WebCore</li>
1844 <li class="description">An issue-tracker and version/release manager built with the earthli WebCore.</li>
1845 </ul>
1846 </div>
1847 <div>
1848 <h3 id="earthliNews"><a href="https://www.earthli.com/software/webcore/app_news.php">earthli News</a></h3>
1849 <h4><time datetime="2002-01">Jan 2002</time>—<time datetime="2002-02">Feb 2002</time></h4>
1850 <ul class="details">
1851 <li class="skills">Lead Developer</li>
1852 <li class="technologies">PHP, MySQL, WebCore</li>
1853 <li class="description">A blogging platform built with the earthli WebCore (replaced Forums).</li>
1854 </ul>
1855 </div>
1856 <div>
1857 <h3 id="earthliRecipes"><a href="https://www.earthli.com/software/webcore/app_recipes.php">earthli Recipes</a></h3>
1858 <h4><time datetime="2002-01">Jan 2002</time>—<time datetime="2002-02">Feb 2002</time></h4>
1859 <ul class="details">
1860 <li class="skills">Lead Developer</li>
1861 <li class="technologies">PHP, MySQL, WebCore</li>
1862 <li class="description">A recipe-management application built with the earthli WebCore.</li>
1863 </ul>
1864 </div>
1865 <div>
1866 <h3><a href="https://www.earthli.com/software/webcore">earthli WebCore</a></h3>
1867 <h4><time datetime="2001-10">Oct 2001</time>—<time datetime="2001-12">Dec 2001</time></h4>
1868 <ul class="details">
1869 <li class="skills">Architect, Lead Developer</li>
1870 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1871 <li class="description">Built a web-application framework with themes, security, search, an ORM, an email publication engine and more. Rebuilt Albums with this framework.</li>
1872 </ul>
1873 </div>
1874 <div>
1875 <h3 id="earthliThemes">earthli Themes</h3>
1876 <h4><time datetime="2001-06">Jun 2001</time>—<time datetime="2001-09">Sep 2001</time></h4>
1877 <ul class="details">
1878 <li class="skills">Lead Developer</li>
1879 <li class="technologies">HTML, CSS</li>
1880 <li class="description">Rewrote web front-end with CSS to support multiple color schemes.</li>
1881 </ul>
1882 </div>
1883 <div>
1884 <h3 id="earthliForums">earthli Forums</h3>
1885 <h4><time datetime="2000-10">Oct 2000</time>—<time datetime="2000-12">Dec 2000</time></h4>
1886 <ul class="details">
1887 <li class="skills">Architect, Lead Developer</li>
1888 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1889 <li class="description">Bulletin board with full-text search, nested commenting and ACL-based permissions.</li>
1890 </ul>
1891 </div>
1892 <div>
1893 <h3 id="earthliAlbums"><a href="https://www.earthli.com/software/webcore/app_albums.php">earthli Albums</a></h3>
1894 <h4><time datetime="1999-10">Oct 1999</time>—<time datetime="2000-07">Jul 2000</time></h4>
1895 <ul class="details">
1896 <li class="skills">Architect, Lead Developer</li>
1897 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1898 <li class="description">Albums with journal entries, photos, a calendar and support for multiple users.</li>
1899 </ul>
1900 </div>
1901 <div>
1902 <h3 id="earthlicom"><a href="https://www.earthli.com/">earthli.com</a></h3>
1903 <h4><time datetime="1999-10">Oct 1997</time>—present</h4>
1904 <ul class="details">
1905 <li class="skills">Architect, Lead Developer</li>
1906 <li class="technologies">PHP, MySQL, HTML, CSS, JS</li>
1907 <li class="description">Personal web site that integrates several PHP applications.</li>
1908 </ul>
1909 </div>
1910 </div>
1911 </div>
1912
1913 <div class="page-break">
1914 <h2>Hamilton College</h2>
1915 <h3 title="4 years">September 1990—June 1994</h3>
1916 <p>This list includes teaching jobs and larger projects I did for various computer-science courses.</p>
1917
1918 <h3>Overview</h3>
1919 <div class="timeline">
1920 <table class="basic left-labels legend early">
1921 <caption title="Legend"></caption>
1922 <tr>
1923 <th title="Technical PM"></th>
1924 <td class="project-manager"></td>
1925 </tr>
1926 <tr>
1927 <th title="Instructor"></th>
1928 <td class="instructor"></td>
1929 </tr>
1930 <tr>
1931 <th title="Lead Dev"></th>
1932 <td class="lead-developer"></td>
1933 </tr>
1934 <tr>
1935 <th title="Author"></th>
1936 <td class="author"></td>
1937 </tr>
1938 </table>
1939 <div class="timeline-box">
1940 <div class="years">
1941 <div title="1985"></div>
1942 <div title="1990"></div>
1943 <div title="1995"></div>
1944 <div title="2000"></div>
1945 <div title="2005"></div>
1946 <div title="2010"></div>
1947 <div title="2015"></div>
1948 <div title="2020"></div>
1949 </div>
1950 <table class="projects">
1951 <thead>
1952 <tr>
1953 <th>Years</th>
1954 <th>Product</th>
1955 <th>Roles</th>
1956 </tr>
1957 </thead>
1958 <tbody>
1959 <tr><th></th><td class="employee"><?php employee_area ("mid1990", "mid1994");?></td><td></td></tr>
1960 <tr><th>1994</th><td><?php project_line ("Halcyon 5", "project-manager author", "year1994", "mid1994"); ?></td><td>Project manager, Developer</td></tr>
1961 <tr><th>1994</th><td><?php project_line ("SICLY", "lead-developer", "year1994", "mid1994"); ?></td><td>Lead developer</td></tr>
1962 <tr><th>1993-1994</th><td><?php project_line ("Chemistry Tutor", "instructor", "mid1993", "mid1994"); ?></td><td></td></tr>
1963 <tr><th>1992-1994</th><td><?php project_line ("Comp. Sci. TA", "instructor", "mid1992", "mid1994"); ?></td><td></td></tr>
1964 <tr><th>1992-1994</th><td><?php project_line ("Radio Station Engineer", "developer", "mid1992", "mid1994"); ?></td><td></td></tr>
1965 <tr><th>1992</th><td><?php project_line ("FIGHT!", "lead-developer", "year1992", "mid1992"); ?></td><td>Lead developer</td></tr>
1966 </tbody>
1967 </table>
1968 </div>
1969 </div>
1970
1971 <h3>Details</h3>
1972 <div class="grid projects">
1973 <div>
1974 <h3 id="Halcyon5">Halcyon 5</h3>
1975 <h4><time datetime="1994-01">Jan 1994</time>—<time datetime="1994-05">May 1994</time></h4>
1976 <ul class="details">
1977 <li class="skills">Project Manager, Developer, Writer, Designer</li>
1978 <li class="technologies"></li>
1979 <li class="description">Developed a timeline as well a energy and transportation systems for a hypothetical space colony as part of a team participating in a feasibility study; Coordinated and edited final draft as well as all graphics.</li>
1980 </ul>
1981 </div>
1982 <div>
1983 <h3 id="ChemistryTutor">Chemistry Tutor</h3>
1984 <h4><time datetime="1993-09">Sep 1993</time>—<time datetime="1994-05">May 1994</time></h4>
1985 <ul class="details">
1986 <li class="skills">Instructor</li>
1987 <li class="technologies">N/A</li>
1988 <li class="description">Private tutoring for beginning chemistry students.</li>
1989 </ul>
1990 </div>
1991 <div>
1992 <h3 id="CompSciTA">Computer Science Teaching Assistant</h3>
1993 <h4><time datetime="1992-09">Sep 1992</time>—<time datetime="1994-05">May 1994</time></h4>
1994 <ul class="details">
1995 <li class="skills">Instructor</li>
1996 <li class="technologies">Hypercard</li>
1997 <li class="description">Graded papers and projects; ran labs; tutoring and support.</li>
1998 </ul>
1999 </div>
2000 <div>
2001 <h3 id="RadioStationEngineer"><a href="http://www.whcl.org">WHCL</a> Radio Station Engineer</h3>
2002 <h4><time datetime="1992-09">Sep 1992</time>—<time datetime="1994-05">May 1994</time></h4>
2003 <ul class="details">
2004 <li class="skills">Engineer</li>
2005 <li class="technologies">N/A</li>
2006 <li class="description">Electronics repair for various station equipment for a 24h campus radio station; assisted in installing, setting up, and configuring a whole new studio in the Bristol building basement.</li>
2007 </ul>
2008 </div>
2009 <div>
2010 <h3 id="SICLY">SICLY</h3>
2011 <h4><time datetime="1994-01">Jan 1994</time>—<time datetime="1994-05">May 1994</time></h4>
2012 <ul class="details">
2013 <li class="skills">Lead Developer</li>
2014 <li class="technologies">Apple Basic</li>
2015 <li class="description">Extended and finished a compiler/assembly/runtime for a little language with a visual editor and debugger.</li>
2016 </ul>
2017 </div>
2018 <div>
2019 <h3 id="FIGHT">FIGHT!</h3>
2020 <h4><time datetime="1992-01">Jan 1992</time>—<time datetime="1992-02">Feb 1992</time></h4>
2021 <ul class="details">
2022 <li class="skills">Lead Developer</li>
2023 <li class="technologies">HyperCard</li>
2024 <li class="description">Designed and built a two-player 2D fighting game in Apple HyperCard with an optional computer opponent (homage to <i>Karateka</i>).</li>
2025 </ul>
2026 </div>
2027 </div>
2028 </div>
2029
2030 <div class="page-break">
2031 <h2>Ilion High School</h2>
2032 <h3 title="4 years">September 1986—June 1990</h3>
2033 <p>This list includes larger projects I did for computer-science courses.</p>
2034
2035 <h3>Overview</h3>
2036 <div class="timeline">
2037 <table class="basic left-labels legend early">
2038 <caption title="Legend"></caption>
2039 <tr>
2040 <th title="Lead Dev"></th>
2041 <td class="lead-developer"></td>
2042 </tr>
2043 </table>
2044 <div class="timeline-box">
2045 <div class="years">
2046 <div title="1985"></div>
2047 <div title="1990"></div>
2048 <div title="1995"></div>
2049 <div title="2000"></div>
2050 <div title="2005"></div>
2051 <div title="2010"></div>
2052 <div title="2015"></div>
2053 <div title="2020"></div>
2054 </div>
2055 <table class="projects">
2056 <thead>
2057 <tr>
2058 <th>Years</th>
2059 <th>Product</th>
2060 <th>Roles</th>
2061 </tr>
2062 </thead>
2063 <tbody>
2064 <tr><th></th><td class="employee"><?php employee_area ("mid1986", "mid1990");?></td><td></td></tr>
2065 <tr><th>1990</th><td><?php project_line ("Checkers", "lead-developer", "mid1989", "year1990"); ?></td><td>Lead developer</td></tr>
2066 </tbody>
2067 </table>
2068 </div>
2069 </div>
2070
2071 <h3>Details</h3>
2072 <div class="grid projects">
2073 <div>
2074 <h3 id="Checkers">Checkers</h3>
2075 <h4><time datetime="1989-10">Oct 1989</time>—<time datetime="1989-12">Dec 1989</time></h4>
2076 <ul class="details">
2077 <li class="skills">Lead Developer</li>
2078 <li class="technologies">Apple Basic</li>
2079 <li class="description">Designed and built a two-player checkers game in Apple Basic with 16-color, 2D graphices on the Apple IIE with a rudimentary computer opponent (capable of playing only a few moves).</li>
2080 </ul>
2081 </div>
2082 </div>
2083 </div>
2084 </div>
2085 </section>
2086 <?php } ?>
2087 </div>
2088 </div>
2089 <?php
2090 $Page->finish_display ();
2091 ?>