Contact

Marco Von Ballmoos

Software Architect & Developer

Profile

I've been writing software since 1985 and have 25 years of experience as a professional software developer, systems architect and technical project manager. I'm interested in high-quality solutions to tough problems. I co-founded Encodo Systems AG 14 years ago.

My focus has always been on generalization and DRY using metadata and common libraries. I've written frameworks leveraging these concepts in C#, C++, Delphi and PHP.

Roles

Systems Architect

Design and document back-end and front-systems. Integration with existing systems. Maintainable. Extendable. Understandable.

Full-stack Developer

Comfortable and experienced in writing high-performance, readable code in various languages and with various frameworks, libraries and technologies.

Trainer & Educator

Plan and execute trainings for small- to medium-sized teams. Write technical documentation and share knowledge via code reviews and frequent blogging.

Technical Project Manager

Collect and create requirements. Coordinate with customers. Manage issues and releases.

Employment & Education

Encodo Systems AG

Winterthur, Switzerland

—present

  • Founding Partner
  • Technical Project Manager
  • Architect
  • Lead Developer
  • Support

Opus Software AG

Wetzikon, Switzerland

  • Architect
  • Lead Developer
  • Support

Logicat, Inc.

New York, New York

  • Architect
  • Lead Developer

Hamilton College

Clinton, New York

  • Bachelor of Arts in Mathematics
  • Minor in physics
  • Undeclared major in computer science

Personal

Languages

Language Level
English Native
German Fluent
Swiss-German Fluent
Italian Mixed
French Mixed

Mixed: Intermediate (comprehension, reading); Basic (speaking, writing)

Publications

Project History

Encodo Systems AG

September 2005—present

Our goal at Encodo is to build interesting and useful software. I've worked on many projects with a wide range of technologies and target platforms. Our emphasis is on using the best, most appropriate tools for the job.

Overview

Years Product Roles
2007–presentQuinoProject manager, Architect, Lead developer
2018–2019Crealogix TimeWarpDeveloper
2018–presentPerforma CRMDeveloper
2018–presentInsite FAKProject manager, Architect, Lead developer
2018Insite .NET/C#/Quino TrainingsTrainer
2018Daylight Quino UpgradeProject manager, Lead developer
2018Aplix LogistikProject manager, Architect, Developer
2017–2018Micron Hand-off TrainingsTrainer
2016–2018Micron Top PerformanceProject manager, Architect, Developer
2016–2018MULTIVAC Polymer TrainingTrainer
2016–2017Crealogix MAPProject manager, Architect, Lead developer
2015Alps Hand-off TrainingTrainer
2013–2016AlpsProject manager, Architect, Developer
2013–2015QontisArchitect, Developer
2014Crealogix MUX TrainingTrainer
2013Roche HTML5 TrainingTrainer
2012–2013Roche UADeveloper
2011–2012QQL SpecificationArchitect
2011–2015Git HandbookLead developer
2010–2012Peak6 LaunchpadProject manager, Architect, Lead developer
2009–2010M9Project manager, Architect, Developer
2009–presenteZagAdminDeveloper, Support
2007–2009eZagAdminDeveloper
2008–2017C# HandbookLead developer
2007PoC RaiffeisenDeveloper
2007–2011Fides Reporting Enginelead-developer, Support
2006–2007Fides Reporting EngineArchitect, Lead developer
2007–2014Fides ClientDeveloper, Support
2006–2007Fides ClientLead developer
2007–2014Q-ZAGProject manager, Lead developer, Support
2006–2007Q-ZAGLead developer
2006–2014EntlastungskontrolleProject manager, Support
2005–2006EntlastungskontrolleDeveloper

Details

Quino

—present

  • Technical PM, Architect, Lead Developer
  • C#, Winforms, WPF, Web API, TypeScript, Less, React
  • Designed, built and supported a powerful, flexible, modular and modern metadata framework for .NET (API servers, SPAs, Winform, WPF).

Crealogix TimeWarp

  • Developer
  • C#
  • Wrote the data model and game-world algorithm for a 3D financial-planner prototype.

Performa CRM

—present

  • Architect, Developer
  • C#
  • Worked on a server to transform metadata and data from Microsoft Dynamics CRM to Quino for delivery to a generic Quino web client.

Insite FAK

—present

  • Architect, Technical PM, Developer
  • C#
  • Rewrite an existing line-of-business application using Quino, connecting to a legacy database.

Insite .NET/C#/Quino Trainings

  • Architect, Technical PM, Developer
  • C#
  • 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.

Daylight Quino Upgrade

  • Architect, Technical PM, Developer
  • C#
  • Upgraded a sophisticated event-management/school-management product based on Quino 1.13 to Quino 6 (latest).

Aplix Logistik

  • Architect, Technical PM, Developer
  • C#
  • Supervised, provided guidance and helped develop the back-end for a mobile-based, "picker" app for food warehouses (SwissBio).

Micron Hand-off Training

  • Trainer
  • C#, Quino, Web API, TypeScript, Less, Material UI
  • Created presentations and tutorials and presented 10 90-minute trainings to on-board a medium-sized team.

MULTIVAC HTML/Polymer Training

  • Architect, Trainer
  • HTML 5, JavaScript, Less/Css, Polymer
  • Created presentations and tutorials and presented a 2-day, JS/Polymer training with a focus on architecture.

Micron Top Performance

  • Architect, Technical PM, Developer
  • C#, TypeScript, React, Redux

Crealogix MAP

  • Architect, Developer
  • Java, Swift, TypeScript, React, Android & iOS SDKs

Alps Hand-off Training

  • Architect
  • C#, Quino, Web API, TypeScript, Less, Knockout
  • Created presentations and tutorials and presented a 5-day training to on-board a small team.

Alps

  • Technical PM, Architect, Developer
  • C#, Quino, Web API, TypeScript, Less, Knockout
  • Services and web front-end for processing, overview and management of ACATS for Apex Clearing Corporation.

Qontis

  • Architect, Developer
  • C#, WCF, Meniga, JavaScript, Less, jQuery
  • A personal finance manager with integration into various online banking systems.

Crealogix MUX Training

  • Architect, Trainer
  • HTML 5, JavaScript, Less/Css
  • Created a framework recommendation for a web-based project. Created presentations and tutorials and presented a 5-day training to onboard a small team.

Roche HTML5 Training

  • Architect, Trainer
  • HTML 5, JavaScript, Less/Css
  • Created presentations and tutorials and presented a 3-day, HTML5 introduction and training with a focus on architecture.

Roche MUA

  • Developer
  • HTML 5, JavaScript, Less/Css
  • A full-fledged port of a Silverlight user-assistance application to HTML for mobile devices.

QQL Specification

  • Architect
  • QQL
  • Wrote a detailed specification for the Quino Query Language (QQL), which defines a syntax and semantics for formulating data requests against hierarchical data structures.

Git Handbook

  • Writer
  • Git
  • Wrote a detailed handbook for using Git at Encodo, with best practices, a branching model and development process.

Peak6 Launchpad

  • Architect, Developer
  • C#, Winforms, Quino
  • A highly concurrent and high-performance query and display client for options traders.

M9

  • Architect, Developer
  • C#, Winforms, Entity Framework
  • A large-scale and high-volume contact bulk mail/campaign manager.

eZag Admin

—present

  • Architect, Developer, Support
  • C#, Winforms, Quino, ASP.Net, Exchange integration
  • A product for managing a school, including basic data, curriculum and lesson planning software.

C# Handbook

—Jun 2017

  • Writer
  • Markdown, C#
  • 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.

POC Raiffeisen

  • Architect, Developer
  • Java, Eclipse RCP
  • A POC to wrap legacy software in a SOAP API with a Java client prototype.

Fides Reporting

  • Architect, Lead Developer, Support
  • Delphi Pascal, VCL
  • A reporting engine and full-fledged designer for fixed-width text, HTML and PDF reports.

Fides Client

  • Architect, Developer, Support
  • Delphi Pascal, VCL
  • A client/server component to communicate in parallel and asynchronously via a custom, secure XML-based protocol.

Q-ZAG

  • Architect, Developer, Support
  • Java, Tapestry
  • A document management system for organizing materials related to the Quintessenz system.

ZAG Entlastungkontrolle

  • Architect, Developer, Support
  • Java, Tapestry
  • A product for teachers and administrators to manage compensated and continuing eductation time.

Opus Software GmbH

October 2002—August 2005

I moved from New York City to Switzerland to work for Opus, where I went back to working with Object Pascal and Delphi.

Overview

Years Product Roles
2003–2005Dialba 2000Developer
2003–2005AtlasArchitect, Lead developer
2005Sql Server Data DriverDeveloper
2004Allbase Data DriverDeveloper
2003Atlas StartupDeveloper
2003Atlas LoggingDeveloper
2003Atlas CoreDeveloper
2002earthli Projects 2.5Developer

Details

Atlas

  • Architect, Lead Developer
  • Delphi Pascal, VCL
  • A metadata-centric framework to develop client and service applications. Included an ORM, automated schema-migration, generated user interfaces and much more.

SQL Server Data Driver

  • Lead Developer
  • Delphi Pascal, SQL Server 2000
  • A data driver for Atlas for SQL Server databases.

Allbase Data Driver

  • Lead Developer
  • Delphi Pascal, HP Allbase
  • A data driver for Atlas for HP Allbase databases.

Dialba 2000

  • Developer
  • Delphi Pascal, VCL, Btrieve/Powerflex
  • Support and enhancements for a feature-rich and powerful banking front-end written with Atlas.

Atlas Startup

  • Lead Developer
  • Delphi Pascal
  • A flexible and declarative configuration and startup system for Atlas applications.

Atlas Logging

  • Lead Developer
  • Delphi Pascal
  • Add configurable and semantic/information-rich logging for Atlas applications.

earthli Projects 2.5

  • Lead Developer
  • PHP 4
  • Install and support earthli Projects as issue-tracker for Opus. Improve emails and subscriptions. Enrich job/issue data with multiple branch statuses.

Logicat, Inc.

August 1994—August 2002

I moved from upstate New York to New York City to start my professional career at Logicat as a developer.

Overview

Years Product Roles
2002Course AdministratorProject-manager, Architect, Lead developer
2001–2002Logicat CE ManagerProject manager, Architect, Lead developer
2001Online Testinglead-developer
1999–2001One-on-One with the SAT 2.0Project manager, Architect, Lead developer
1997–1998Logicat Test EngineProject manager, Architect, Lead developer
1997CPA Live CoursesArchitect, Lead developer
1997Performance TransferLead developer
1996–1997Logicat CPA ReviewArchitect, Lead developer
1996ELFArchitect, Lead developer
1995–1996PassMaster WebLead developer
1995Counselor UtilityLead developer
1994–1995One-on-One with the SATDeveloper

Details

Logicat Course Administrator

  • Project Manager, Architect, Lead Developer
  • Visual Basic, ASP.Net, IIS 5, SQL Server 2000
  • Added multi-tenancy to CE Manager with features/permissions per customer and improved evaluation, reporting and views.

Logicat CE Manager

  • Project Manager, Architect, Lead Developer
  • Visual Basic, ASP.Net, IIS 5, SQL Server 2000
  • A web-based application with reports, reminders and statements for lawyers to track and manage continuing-education credits and licenses.

Logicat Online Testing

  • Lead Developer
  • Visual C++ 6, IIS 5, SQL Server 2000, HTML/CSS/JS
  • An HTML-based testing platform for online learning solutions.

One-on-One with the SAT 2

  • Project Manager, Architect, Lead Developer
  • Visual C++ 6, MFC, Win32, Metrowerks CodeWarrior 5, Macintosh Toolbox
  • 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.

Logicat Test Engine

  • Project Manager, Architect, Lead Developer
  • Visual C++ 6, MFC, Win32
  • 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.

Logicat CPA Review Software Live Courses

  • Architect, Lead Developer
  • Visual C++ 5, MFC, Win32, Delphi 3, OLE/COM
  • Integrate study plan, calendar and PowerPoint presentations to support/enhance live instruction.

Performance Transfer Utility

  • Lead Developer
  • Delphi 2.0, Wise 5.0, HTML/CSS
  • A hardware copy-protection utility for Logicat CPA Review with custom installer and detailed (100-page) manual.

Logicat CPA Review

  • Architect, Lead Developer
  • Visual C++ 4.1/5, MFC, Win32, ELF
  • A rewrite of the popular PassMaster DOS program for Windows 95 using ELF.

ELF (Extended Logicat Format)

  • Architect, Lead Developer
  • Borland Delphi 2, Microsoft Visual C++ 4.1
  • A content pipeline and rendering library that included a markup language, RTF parser and structured binary document format/database.

PassMaster CPA Review Web Site

  • Lead Developer
  • JavaScript, HTML, Delphi
  • An online demonstration of some of the functionality of the DOS-based PassMaster CPA review software.

One-on-One with the SAT Counselor Utility

  • Lead Developer
  • Borland Object Pascal 7, Win32
  • A management and reporting utility for multi-user, networked school distributions of One-on-One with the SAT.

One-on-One with the SAT

  • Developer
  • Borland Object Pascal 7, Win32
  • The official College Board SAT-preparation tool for Windows 3.1/95.

Personal Projects

January 1998—present

This list includes larger school projects, open-source projects and the software running this web site.

Overview

Years Product Roles
2004–2005TuneSyncArchitect, Lead developer
2003–2010PHPDocumentorDeveloper
2002earthli ProjectsLead developer
2002earthli NewsLead developer
2002earthli RecipesLead developer
2001–presentearthli WebCoreProject manager, Architect, Lead developer
2001earthli ThemesLead developer
2000earthli ForumsArchitect, Lead developer
1999–2000earthli AlbumsArchitect, Lead developer
1997–presentearthli.comProject manager, Architect, Lead developer
1994Halcyon 5Project manager, Developer
1994SICLYLead developer
1992FIGHT!Lead developer
1990Check­ersLead developer

Details

earthli WebCore 3.x

—present

  • Project Manager, Architect, Lead Developer
  • PHP 5, MySQL, HTML5, LESS/ CSS, JS
  • Continued maintenance (migrated to PHP5) as well as introducing features (newsfeeds/social optimization).

TuneSync

  • Project Manager, Architect, Lead Developer
  • Delphi 7
  • An application for comparing and syncing iTunes libraries (ID3 tags, ratings, play counts, etc.).

PHPDocumentor

  • Developer
  • PHP 4/5
  • A documentation generator for PHP. Enhanced data and templates (HTML4/CSS valid) and fixed bugs.

earthli WebCore 2

  • Architect, Lead Developer
  • PHP, MySQL 4
  • A refactoring of the framework to centralize common logic. Migration of all applications.

earthli Projects

  • Lead Developer
  • PHP, MySQL, WebCore
  • An issue-tracker and version/release manager built with the earthli WebCore.

earthli News

  • Lead Developer
  • PHP, MySQL, WebCore
  • A blogging platform built with the earthli WebCore (replaced Forums).

earthli Recipes

  • Lead Developer
  • PHP, MySQL, WebCore
  • A recipe-management application built with the earthli WebCore.

earthli WebCore

  • Architect, Lead Developer
  • PHP, MySQL, HTML, CSS, JS
  • Built a web-application framework with themes, security, search, an ORM, an email publication engine and more. Rebuilt Albums with this framework.

earthli Themes

  • Lead Developer
  • HTML, CSS
  • Rewrote web front-end with CSS to support multiple color schemes.

earthli Forums

  • Architect, Lead Developer
  • PHP, MySQL, HTML, CSS, JS
  • Bulletin board with full-text search, nested commenting and ACL-based permissions.

earthli Albums

  • Architect, Lead Developer
  • PHP, MySQL, HTML, CSS, JS
  • Albums with journal entries, photos, a calendar and support for multiple users.

Halcyon 5

  • Project Manager, Developer, Writer, Designer
  • 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.

SICLY

  • Lead Developer
  • Apple Basic
  • Extended and finished a compiler/assembly/runtime for a little language with a visual editor and debugger.

FIGHT!

  • Lead Developer
  • HyperCard
  • Designed and built a two-player 2D fighting game in Apple HyperCard with an optional computer opponent (homage to Karateka).

Checkers

  • Lead Developer
  • Apple Basic
  • 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).

Skills History

Techniques

Years Technology Level
2012–presentIOCExpert
2010–presentSOLIDExpert
2008–presentFunctionalExpert
2005–presentProject ManagementProficient
2002–presentTechnical DocumentationProficient
2002–presentAutomated TestingExpert
2001–presentTechnical Writing/BloggingExpert
1995–presentArchitectureExpert
1992–presentOOExpert
1985–1994ProceduralProficient

Languages

Years Technology Level
2016–2017SwiftCompetent
2016–2017JavaCompetent
2015–presentSASSCompetent
2014–presentTypeScriptExpert
2013–presentLESSExpert
2007–presentC#Expert
2005–2014JavaCompetent
2002–2014Delphi PascalExpert
2002–presentBashCompetent
2000–2002VBCompetent
1998–presentCSSExpert
1998–2002C++Proficient
1998–presentPHPExpert
1996–2003EiffelCompetent
1996–1997Delphi PascalCompetent
1995–presentJavaScriptProficient
1995–presentHTMLExpert
1994–1996Object PascalExpert
1992–1994PascalProficient
1990–1994HyperTalkProficient
1985–1990BasicExpert

Libraries & Frameworks

Years Technology Level
2018–presentUnityCompetent
2017–presentMaterial UICompetent
2017–presentXamarinCompetent
2016–presentiOS/XCodeProficient
2016–2017AndroidProficient
2016–presentReactCompetent
2014–presentKnockoutCompetent
2010–presentAntLRCompetent
2008–presentASP.NETExpert
2007–present.NETExpert
2005–2014Java RuntimeProficient
2002–2014Delphi VCLExpert
2000–2002ASPCompetent
1999–2001Metrowerks PowerPlantProficient
1999–2001MacOS ToolboxCompetent
1998–presentPHP RuntimeProficient
1995–2002MFCCompetent
1995–2002STLProficient
1994–presentWin32Proficient
1992–1994Think PascalProficient
1990–1994Hyper­CardExpert

Administration & Tools

Years Technology Level
2018–presentAzure DevOpsCompetent
2017–presentDockerProficient
2017–presentProxMoxCompetent
2016–presentGitHubProficient
2015–presentGitLabProficient
2013–presentTeamCityProficient
2011–2016MongoCompetent
2011–2014SqliteCompetent
2010–2017JenkinsCompetent
2010–presentGitExpert
2007–presentPostgreSqlProficient
2004–presentSql ServerProficient
2004–presentJiraExpert
2002–2007SybaseProficient
2002–presentUbuntu/DebianCProficient
1999–presentMySqlProficient
1997–2010PerforceProficient
1995–presentWindowsProficient
1990–presentMacOSProficient
1985–1995DOSExpert