4.2 KiB
4.2 KiB
Work-Experience
-
Mar. 2023 to Sep. 2023:
- Developer for 2Lambda.co. Role migrated from just coding stuff to
architecting and rewriting the whole software from the ground up using a
small modular approach instead of the shaky one-off systems in place.
Was later a "nanny for everything". - Did a lot of work to have self-documenting code (i.e. generate documentation from the actual values used in the program, not some comments that always get out of date)
- Setting up a knowledge-base (Zettelkasten-approach) to track experiments and hyperlink them to the documentation generated above (and due to Zettelkasten you then get "this thing was used in Experiments a, b and c" automatically
- Technologies used:
- Clojure
- Complete application was written in Clojure
- Never touched that language before March - got up to speed in just 2 days, poked the expert on the team detailed questions about the runtime-system after 1 month (like inlining-behavior, allocation-things, etc.)
- Emanote
- autogenerated & linked documentation of internal modules
- integrated with manual written tutorials/notes
- crosslinking documentation of experiments with documentation of modules
- Web of knowledge
- bidirectional discovery of things tried/done in the past to optimize finding of new strategies (meta-optimizing the decisions on what to optimize/try)
- Infrastructure
- Organized and co-administrated the 4 Root-Servers we had
- Set up Kubernetes, Nexus, Docker, Nginx, letsencrypt-certs, dns-entries, etc..
- Clojure
- Developer for 2Lambda.co. Role migrated from just coding stuff to
architecting and rewriting the whole software from the ground up using a
small modular approach instead of the shaky one-off systems in place.
-
Oct. 2018 to Aug. 2021:
- ML-Specialist at Jobware (Paderborn; german Job-Advertising-Platform)
- Extraction/Classification of sentences from JobAds (Requirements, Benefits, Tasks, ...)
- Extraction of Information from JobAds (Location of company, Location of workplay, contact-details, application-procedure, etc.) including geocoding of those information (backed by OpenStreetMap)
- Embedding of JobAds into a meaningful space (i.e. "get me similar ads. btw. i dislike ad a, b, c").
- Analyse & predict search-queries of users on the webpage and offer likely but distinct queries (i.e. similar when typo or complete different words (synonyms, hyponyms, etc.))
- Technologies used:
- Haskell (currently GHC 8.6, soon GHC 8.8)
- stack + stackage-lts
- fixplate (recursion-schemes-implementation)
- many usual technologies like lens, http-simple, mtl, ..
- golden-testing via tasty
- several inhouse-developments:
- templating based on text-replacement via generics (fieldname in Template-Type == variable replaced in template)
- activeMQ/Kibana-bridge for logging via hs-stomp
- generic internal logging-framework
- Python
- tensorflow
- pytorch
- sklearn
- nltk
- Haskell (currently GHC 8.6, soon GHC 8.8)
- ML-Specialist at Jobware (Paderborn; german Job-Advertising-Platform)
-
2013-2018:
- several jobs at my University including
- Worked 6 Months in the Workgroup "Theoretical Computer Science" on migrating algorithms to CUDA
- Tutor "Introduction to Machine Learning"
- Was awarded Tutoring-Award of the Faculty of Technology for excellent tutoring
- Lecture "FFPiH"
- Originally developed as student-project in cooperation with Jonas Betzendahl
- First held in Summer 2015
- Due to high demand held again in Summer 2016 and 2017
- Was awarded Lecturer-Award "silver Chalk" in 2016
- First time that this award was given to students
- Many lecturers at our faculty never get any teaching-award until retirement
- Development of Pandoc-Filters for effective generation of lecture-slides
for Mario Botsch (Leader "Workgroup Computer Graphics") using Pandoc & reveal.js
- Framework: https://github.com/mbotsch/revealSlides
- Example: https://github.com/mbotsch/eLearning
- Pandoc-Filters: https://github.com/mbotsch/pandoc-slide-filter
- several jobs at my University including