Skills, advanced level, applied on a daily base in the last 10 years

  • IoT (automation and monitoring)
  • design and implementation of authoring software for expert users (custom IDEs)
  • custom programming languages (bison based) / custom visual block languages (VPL)
  • automation and customization of factory hardware/machinery (CNC machines, ModBus, Industry 4.0 …)

Skills acquired in the past but no longer applied in the last 10 years 

  • development of game engines (playstation-1,..) and it’s authoring software
  • development of AR/VR applications
  • physic engines / simulation

General

Age: 41

Nationality: German

Languages: German – native, English – fluent, primary language since 10 years

Interests/activities: machine building, animals, gardening

Education

  • Trainings in private institutions/programs: Network administration, IoT – Advanced- IBM – Watson, IoT – Advanced – MIT
  • 5 years informatic at the university Dresden-Germany
  • A – Level – HighSchool – Germany, profile : electronics

Professional – Activities

Full Stack developer at Pearls-Media Ltd. in cooperation with Media – Merge Inc.  2013 – 2018

Product: advanced authoring interface for hardware programming, automation and interface building, primarily targeting IoT and advanced audio-video hardware.

Used frameworks/libraries: Dojo-1 and later custom only, using react as infrastructure

Used languages: Typescript as primary language, C++ for FFI addons and others for forks

Created components/libraries/frameworks: 

  • Advanced ui for file management (screenshot)
  • Universal visual block programming language (screenshot, more screenshots), used as “DSL” to script devices/services and HMIs, runs client and server side. Development time: 2 years
  • IDE-UI, complete implementation of UI components as accordion, dockable tabs,..
  • Internationalization library
  • Visual HTML editor, with integrated visual block language (screenshot). Development time : 2 years
  • Device/Service – acquisition & management component, in charge to acquire & unify any networkable hardware or services within the domain, subject to automation & interface building (HMI) as seen in the screenshots above, also using the internal created DSL/VPL. Impl./supported protocols: TCP, HTTP-REST/JSONP (inherited from TCP), SSH, UDP, Serial. GPIO, IoT protocols: MQTT, CoAP, AMQP (RabbitMQ)
  • Library to unify local – file access, SSH, SFTP, Google-Drive, AWS,… as virtual file systems into the domain
  • Advanced grid component satisfying power users (context menus, keyboard navigation, multiple renderers as tree, thumb …) with support for virtual rendering & large data, see screenshots above. The grid has been used for all key components: navigation, data management and the internal VPL
  • advanced store library, similar to redux store

Target platforms/deployments: installable offline desktop application (electron), Node.JS, Docker, Rancher, stand-alone, web-service, advanced terminal applications (blessed). All operating systems are supported natively, without virtualization or containers

Applied styles/pattern: we started with object oriented programming (Dojo-1) but switched later on to pure functional & aspect oriented programming, also using concepts of the ELM architecture

Used testing framework/libraries: intern, custom selenium webdriver, mocha. we developed an own framework to automate unit, functional and integration tests

Used project management tools: kanban (kanbanize.com)

Used design/documentation tools: Sparx Enterprise Architect (UML2), used for behavioural, structural, component and sequence diagrams, used to document and design low level implementation & high level business logic

Used principles: ‘document first, code after’, ‘code less, do more’

Previous positions