Personal details

Dominik S. - Remote

Dominik S.

Timezone: Taipei (UTC+8)

Summary

I have been passionate about coding for most of the past 20 years. I offer the following: (1) Help people design, scaffold and understand customized learning paths to really kickstart your programmer life, (2) highlight, address and overcome the most difficult parts in the learner process, and (3) help people solve complex and frustrating programming problems.

My PhD dissertation was all about investigating and innovating on debugging tools. To that end, I have developed Dbux, an advanced Integrated Debugging Environment for JavaScript in VSCode.

When in the mode (and time allows), I would code for 60-80 hours a week, just going deeper and deeper, uncovering what the languages and frameworks are trying to hide from me, and using that to make things run the way I want them to. When I get coding, it's hard to stop me.

Before starting with my thesis, among many other things, I worked (only vert short-term) as a full-time engineer. I also worked as a coding coach and teacher for middle school, high school and university students, trying to organize "co-learning cohorts" that work together to learn programming fundamentals and use that to build awesome projects, mostly small games and web apps.

Been living in Taipei for 15+ years, fluent in Chinese.

Work Experience

Software Engineer and Professional Debuggerer
Replay.io | Nov 2022 - Present
C++
TypeScript
JavaScript
Reinventing debugging
Teacher/Coach
(various) | Aug 2015 - Present
HTML/CSS
Python
JavaScript
Processing.js
Roblox
I have been teaching/coaching/workshopping computing and programming to and also done projects with students age 10 to 50. I have identified many basic obstacles that programming beginners struggle with and, especially in the beginning, spend time discussing and eliminating exactly these obstacles, often leading to a smooth overall learning experience. It has become very clear to me that everyone's learning experience is unique, there are many common elements on each student's learning path, but also too many differences to create a single one-box-fits all solution, that is why I have spent a lot of time researching and working on strategies for self-directed learning in particular. In preparation for my classes, I have built many small and medium projects with Scratch, Khan Academy (ProcessingJS), Codepen, Unity and, most recently, Roblox (Lua).

Personal Projects

DBDI: Databinding for React and FirebaseIconOpenNewWindows
2018
Firebase
React
JavaScript
DBDI (short for DataBinding via Dependency Injection) allows to easily data-bind any DataProvider (e.g. a database, file-system, cache etc.) in with React components. I had this idea after I felt disappointed by other modules that are supposed to deliver React and Redux data-binding for firebase. Note: While this project is independent from it, it currently still resides in another on-going prototype of mine.
Classroom Presentation Management System [name pending]IconOpenNewWindows
2018
YouTube API
OAuth 2.0
Firebase
Bootstrap
React
JavaScript
I use this in my classes to easily record, manage and upload arbitrary amounts of student presentation videos. Features include: - Google login - Manage lists of scheduled presentations - Automatically start, pause, resume and finish recordings and move through your list at the click of a button - YouTube integration: Upload all videos to YouTube and add them to a given playlist at the click of a button ... and more