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 &amp; 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 &amp; 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>&mdash;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>&mdash;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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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 &amp; 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 &amp; 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>&mdash;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>&mdash;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>&mdash;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&mdash;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>&mdash;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>&mdash;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&mdash;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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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 &amp; 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>&mdash;<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>&mdash;<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&ndash;present</th><td><?php skill_line ("Groovy", "level-proficient", "year2019", "mid2020"); ?></td><td>Proficient</td></tr>
586               <tr><th>2019&ndash;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&ndash;present</th><td><?php skill_line ("Swift", "level-proficient", "year2016"); ?></td><td>Proficient</td></tr>
589               <tr><th>2015&ndash;present</th><td><?php skill_line ("SCSS", "level-proficient", "year2015"); ?></td><td>Proficient</td></tr>
590               <tr><th>2014&ndash;present</th><td><?php skill_line ("TypeScript", "level-expert", "year2014"); ?></td><td>Expert</td></tr>
591               <tr><th>2013&ndash;present</th><td><?php skill_line ("LESS", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
592               <tr><th>2019&ndash;present</th><td><?php skill_line ("Delphi Pascal", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
593               <tr><th>2002&ndash;present</th><td><?php skill_line ("PowerShell", "level-proficient", "year2010"); ?></td><td>Proficient</td></tr>
594               <tr><th>2007&ndash;present</th><td><?php skill_line ("C#", "level-expert", "year2007"); ?></td><td>Expert</td></tr>
595               <tr><th>2005&ndash;present</th><td><?php skill_line ("Java", "level-proficient", "year2005"); ?></td><td>Proficient</td></tr>
596               <tr><th>2002&ndash;present</th><td><?php skill_line ("Bash", "level-proficient", "year2002"); ?></td><td>Proficient</td></tr>
597               <tr><th>2002&ndash;2014</th><td><?php skill_line ("Delphi Pascal", "level-expert", "year2002", "year2014"); ?></td><td>Expert</td></tr>
598               <tr><th>2000&ndash;2002</th><td><?php skill_line ("VB", "level-competent", "year2000", "year2002"); ?></td><td>Competent</td></tr>
599               <tr><th>1998&ndash;present</th><td><?php skill_line ("CSS", "level-expert", "year1998"); ?></td><td>Expert</td></tr>
600               <tr><th>1998&ndash;present</th><td><?php skill_line ("PHP", "level-expert", "year1998"); ?></td><td>Expert</td></tr>
601               <tr><th>1998&ndash;2002</th><td><?php skill_line ("C++", "level-proficient", "year1998", "year2002"); ?></td><td>Proficient</td></tr>
602               <tr><th>1996&ndash;1997</th><td><?php skill_line ("Delphi Pascal", "level-competent", "year1996", "year1997"); ?></td><td>Competent</td></tr>
603               <tr><th>1996&ndash;2006</th><td><?php skill_line ("Eiffel", "level-competent", "year1996", "year2006"); ?></td><td>Competent</td></tr>
604               <tr><th>1995&ndash;present</th><td><?php skill_line ("JavaScript", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
605               <tr><th>1995&ndash;present</th><td><?php skill_line ("HTML", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
606               <tr><th>1994&ndash;present</th><td><?php skill_line ("MS-DOS Batch", "level-proficient", "year1994"); ?></td><td>Proficient</td></tr>
607               <tr><th>1994&ndash;1996</th><td><?php skill_line ("Object Pascal", "level-expert", "year1994", "year1996"); ?></td><td>Expert</td></tr>
608               <tr><th>1992&ndash;1994</th><td><?php skill_line ("Pascal", "level-proficient", "year1992", "year1994"); ?></td><td>Proficient</td></tr>
609               <tr><th>1990&ndash;1994</th><td><?php skill_line ("HyperTalk", "level-proficient", "year1990", "year1994"); ?></td><td>Proficient</td></tr>
610               <tr><th>1985&ndash;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 &amp; 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&ndash;2021</th><td><?php skill_line ("Groovy/Gradle", "level-expert", "year2019", "year2021"); ?></td><td>Expert</td></tr>
655               <tr><th>2019&ndash;2020</th><td><?php skill_line ("Angular", "level-proficient", "year2019", "mid2020"); ?></td><td>Proficient</td></tr>
656               <tr><th>2019&ndash;present</th><td><?php skill_line ("Java Runtime", "level-proficient", "year2019"); ?></td><td>Proficient</td></tr>
657               <tr><th>2019&ndash;present</th><td><?php skill_line ("Delphi VCL", "level-expert", "year2019"); ?></td><td>Expert</td></tr>
658               <tr><th>2018&ndash;2021</th><td><?php skill_line ("Unity", "level-proficient", "year2018", "year2021"); ?></td><td>Proficient</td></tr>
659               <tr><th>2018&ndash;present</th><td><?php skill_line (".NET Core", "level-expert", "year2018"); ?></td><td>Expert</td></tr>
660               <tr><th>2017&ndash;2019</th><td><?php skill_line ("Material UI", "level-competent", "year2017", "mid2019"); ?></td><td>Competent</td></tr>
661               <tr><th>2017&ndash;present</th><td><?php skill_line ("Xamarin", "level-competent", "year2017"); ?></td><td>Competent</td></tr>
662               <tr><th>2017&ndash;2020</th><td><?php skill_line ("MobX", "level-proficient", "year2017", "mid2020"); ?></td><td>Proficient</td></tr>
663               <tr><th>2016&ndash;2020</th><td><?php skill_line ("React", "level-expert", "year2016"); ?></td><td>Expert</td></tr>
664               <tr><th>2016&ndash;2020</th><td><?php skill_line ("iOS/XCode", "level-proficient", "year2016", "mid2020"); ?></td><td>Proficient</td></tr>
665               <tr><th>2016&ndash;2020</th><td><?php skill_line ("Android", "level-proficient", "year2016", "mid2020"); ?></td><td>Proficient</td></tr>
666               <tr><th>2014&ndash;2017</th><td><?php skill_line ("Knockout", "level-competent", "year2014", "mid2017"); ?></td><td>Competent</td></tr>
667               <tr><th>2010&ndash;present</th><td><?php skill_line ("AntLR", "level-competent", "year2010"); ?></td><td>Competent</td></tr>
668               <tr><th>2008&ndash;present</th><td><?php skill_line ("ASP.NET", "level-expert", "year2008"); ?></td><td>Expert</td></tr>
669               <tr><th>2007&ndash;present</th><td><?php skill_line (".NET Framework", "level-expert", "year2007"); ?></td><td>Expert</td></tr>
670               <tr><th>2005&ndash;2014</th><td><?php skill_line ("Java Runtime", "level-proficient", "year2005", "mid2014"); ?></td><td>Proficient</td></tr>
671               <tr><th>2002&ndash;2014</th><td><?php skill_line ("Delphi VCL", "level-expert", "year2002", "mid2014"); ?></td><td>Expert</td></tr>
672               <tr><th>2000&ndash;2002</th><td><?php skill_line ("ASP", "level-competent", "year2000", "mid2002"); ?></td><td>Competent</td></tr>
673               <tr><th>1999&ndash;2001</th><td><?php skill_line ("Metrowerks PowerPlant", "level-proficient", "year1999", "mid2001"); ?></td><td>Proficient</td></tr>
674               <tr><th>1999&ndash;2001</th><td><?php skill_line ("MacOS Toolbox", "level-competent", "year1999", "mid2001"); ?></td><td>Competent</td></tr>
675               <tr><th>1998&ndash;present</th><td><?php skill_line ("PHP Runtime", "level-proficient", "year1998"); ?></td><td>Proficient</td></tr>
676               <tr><th>1995&ndash;2002</th><td><?php skill_line ("MFC", "level-competent", "year1995", "mid2002"); ?></td><td>Competent</td></tr>
677               <tr><th>1995&ndash;2002</th><td><?php skill_line ("STL", "level-proficient", "year1995", "mid2002"); ?></td><td>Proficient</td></tr>
678               <tr><th>1994&ndash;present</th><td><?php skill_line ("Win32", "level-proficient", "year1994"); ?></td><td>Proficient</td></tr>
679               <tr><th>1992&ndash;1994</th><td><?php skill_line ("Think Pascal", "level-proficient", "year1992", "mid1994"); ?></td><td>Proficient</td></tr>
680               <tr><th>1990&ndash;1994</th><td><?php skill_line ("Hyper&shy;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&ndash;present</th><td><?php skill_line ("CI/CD", "level-expert", "year2013"); ?></td><td>Expert</td></tr>
725               <tr><th>2012&ndash;present</th><td><?php skill_line ("IOC", "level-expert", "year2012"); ?></td><td>Expert</td></tr>
726               <tr><th>2010&ndash;present</th><td><?php skill_line ("SOLID", "level-expert", "year2010"); ?></td><td>Expert</td></tr>
727               <tr><th>2008&ndash;present</th><td><?php skill_line ("Functional", "level-expert", "year2008"); ?></td><td>Expert</td></tr>
728               <tr><th>2005&ndash;present</th><td><?php skill_line ("Project Management", "level-proficient", "year2005"); ?></td><td>Proficient</td></tr>
729               <tr><th>2002&ndash;present</th><td><?php skill_line ("Technical Documentation", "level-expert", "year2002"); ?></td><td>Expert</td></tr>
730               <tr><th>2002&ndash;present</th><td><?php skill_line ("Automated Testing", "level-expert", "year2002"); ?></td><td>Expert</td></tr>
731               <tr><th>2001&ndash;present</th><td><?php skill_line ("Technical Writing/Blogging", "level-expert", "year2001"); ?></td><td>Expert</td></tr>
732               <tr><th>1995&ndash;present</th><td><?php skill_line ("Architecture", "level-expert", "year1995"); ?></td><td>Expert</td></tr>
733               <tr><th>1992&ndash;present</th><td><?php skill_line ("OO", "level-expert", "year1992"); ?></td><td>Expert</td></tr>
734               <tr><th>1985&ndash;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 &amp; 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&ndash;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&ndash;present</th><td class="years_2017_present"><?php skill_line ("Docker", "level-expert", "year2017"); ?></td><td>Expert</td></tr>
780               <tr><th>2017&ndash;present</th><td class="years_2017_present"><?php skill_line ("ProxMox", "level-competent", "year2017"); ?></td><td>Competent</td></tr>
781               <tr><th>2016&ndash;present</th><td class="years_2016_present"><?php skill_line ("GitHub", "level-proficient", "year2016"); ?></td><td>Proficient</td></tr>
782               <tr><th>2015&ndash;present</th><td class="years_2015_present"><?php skill_line ("GitLab", "level-proficient", "year2015"); ?></td><td>Proficient</td></tr>
783               <tr><th>2013&ndash;present</th><td class="years_2013_present"><?php skill_line ("TeamCity", "level-proficient", "year2013"); ?></td><td>Proficient</td></tr>
784               <tr><th>2011&ndash;2016</th><td class="years_2011_2016"><?php skill_line ("Mongo", "level-competent", "year2011", "mid2016"); ?></td><td>Competent</td></tr>
785               <tr><th>2011&ndash;2014</th><td class="years_2011_2014"><?php skill_line ("Sqlite", "level-competent", "year2011", "mid2014"); ?></td><td>Competent</td></tr>
786               <tr><th>2010&ndash;present</th><td class="years_2010_present"><?php skill_line ("Jenkins", "level-expert", "year2010", "mid2020"); ?></td><td>Expert</td></tr>
787               <tr><th>2010&ndash;present</th><td class="years_2010_present"><?php skill_line ("Git", "level-expert", "year2010"); ?></td><td>Expert</td></tr>
788               <tr><th>2007&ndash;present</th><td class="years_2007_present"><?php skill_line ("PostgreSql", "level-proficient", "year2007"); ?></td><td>Proficient</td></tr>
789               <tr><th>2004&ndash;present</th><td class="years_2004_present"><?php skill_line ("Sql Server", "level-proficient", "year2004"); ?></td><td>Proficient</td></tr>
790               <tr><th>2004&ndash;present</th><td class="years_2004_present"><?php skill_line ("Jira", "level-expert", "year2004"); ?></td><td>Expert</td></tr>
791               <tr><th>2002&ndash;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&ndash;present</th><td class="years_2002_present"><?php skill_line ("Ubuntu/Debian", "level-proficient", "year2002"); ?></td><td>Proficient</td></tr>
793               <tr><th>1999&ndash;present</th><td class="years_1999_present"><?php skill_line ("MySql", "level-proficient", "year1999"); ?></td><td>Proficient</td></tr>
794               <tr><th>1997&ndash;2010</th><td class="years_1997_2010"><?php skill_line ("Perforce", "level-proficient", "year1997", "mid2010"); ?></td><td>Proficient</td></tr>
795               <tr><th>1994&ndash;present</th><td class="years_1995_present"><?php skill_line ("Windows", "level-expert", "year1994"); ?></td><td>Expert</td></tr>
796               <tr><th>1990&ndash;present</th><td class="years_1990_present"><?php skill_line ("MacOS", "level-expert", "year1990"); ?></td><td>Expert</td></tr>
797               <tr><th>1985&ndash;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>&mdash;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&ndash;present</th><td><?php project_line ("Azure DevOps Migration", "developer instructor", "year2022"); ?></td><td>Developer, Instructor</td></tr>
864               <tr><th>2022&ndash;present</th><td><?php project_line ("Git Trainings", "instructor", "year2022"); ?></td><td>Instructor</td></tr>
865               <tr><th>&nbsp;</th><td>&nbsp;</td><td></td></tr>
866               <tr><th>&nbsp;</th><td>&nbsp;</td><td></td></tr>
867               <tr><th>&nbsp;</th><td>&nbsp;</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>&mdash;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>&mdash;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&mdash;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&ndash;present</th><td><?php project_line ("Introductory JavaScript", "instructor", "mid2020"); ?></td><td>Instructor</td></tr>
928               <tr><th>2021&ndash;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>&mdash;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>&mdash;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&mdash;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&ndash;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&ndash;2021</th><td><?php project_line ("FutureLab SmartPolice", "developer", "year2020", "year2021"); ?></td><td>Developer</td></tr>
1024                 <tr><th>2019&ndash;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&ndash;2021</th><td><?php project_line ("Roche UA", "architect reviewer", "mid2018", "year2022"); ?></td><td>Architect, Reviewer</td></tr>
1026                 <tr><th>2018&ndash;2021</th><td><?php project_line ("Performa CRM", "developer support", "mid2018", "year2021"); ?></td><td>Developer, Support</td></tr>
1027                 <tr><th>2007&ndash;2021</th><td><?php project_line ("IT", "support", "mid2007", "year2022"); ?></td><td>Support</td></tr>
1028                 <tr><th>2019&ndash;2020</th><td><?php project_line ("Roche LabCore Web Modules", "architect developer", "mid2019", "mid2020"); ?></td><td>Architect, Developer</td></tr>
1029                 <tr><th>2019&ndash;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&ndash;2019</th><td><?php project_line ("Crealogix TimeWarp", "developer", "mid2018", "year2019"); ?></td><td>Developer</td></tr>
1034                 <tr><th>2018&ndash;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&ndash;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&ndash;2018</th><td><?php project_line ("Micron Hand-off Trainings", "instructor", "mid2017", "year2018"); ?></td><td>Instructor</td></tr>
1039                 <tr><th>2016&ndash;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&ndash;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&ndash;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&ndash;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&ndash;2013</th><td><?php project_line ("Roche MUA", "developer", "year2012", "year2013"); ?></td><td>Developer</td></tr>
1048                 <tr><th>2011&ndash;2012</th><td><?php project_line ("QQL Specification", "author", "year2012", "year2013"); ?></td><td>Author</td></tr>
1049                 <tr><th>2011&ndash;2015</th><td><?php project_line ("Git Handbook", "author", "year2011", "year2015"); ?></td><td>Author</td></tr>
1050                 <tr><th>2010&ndash;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&ndash;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&ndash;present</th><td><?php project_line ("eZagAdmin", "developer support", "mid2007", "year2022"); ?></td><td>Developer, Support</td></tr>
1053                 <tr><th>2007&ndash;2009</th><td><?php project_line ("eZagAdmin", "developer", "mid2007", "year2009"); ?></td><td>Developer</td></tr>
1054                 <tr><th>2008&ndash;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&ndash;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&ndash;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&ndash;2014</th><td><?php project_line ("Fides Client", "developer support", "year2007", "year2014"); ?></td><td>Developer, Support</td></tr>
1059                 <tr><th>2006&ndash;2007</th><td><?php project_line ("Fides Client", "lead-developer", "year2006", "year2007"); ?></td><td>Lead developer</td></tr>
1060                 <tr><th>2007&ndash;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&ndash;2007</th><td><?php project_line ("Q-ZAG", "lead-developer", "mid2006", "mid2007"); ?></td><td>Lead developer</td></tr>
1062                 <tr><th>2006&ndash;2014</th><td><?php project_line ("ZAG Entlastungskontrolle", "project-manager support", "year2006", "year2014"); ?></td><td>Project manager, Support</td></tr>
1063                 <tr><th>2005&ndash;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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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 &amp; 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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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 &amp; 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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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&mdash;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&ndash;2005</th><td><?php project_line ("Dialba 2000", "developer", "year2003", "mid2005"); ?></td><td>Developer</td></tr>
1482                 <tr><th>2003&ndash;2005</th><td><?php project_line ("Atlas", "architect lead-developer", "mid2003", "mid2005"); ?></td><td>Architect, Lead developer</td></tr>
1483                 <tr><th>2002&ndash;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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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&mdash;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&ndash;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&ndash;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&ndash;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&ndash;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&ndash;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&ndash;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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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&mdash;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&ndash;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&ndash;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&ndash;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&ndash;2000</th><td><?php project_line ("earthli Albums", "architect lead-developer", "year1999", "year2000"); ?></td><td>Architect, Lead developer</td></tr>
1794                 <tr><th>1997&ndash;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>&mdash;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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;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&mdash;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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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>&mdash;<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&mdash;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>&mdash;<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 ?>