emanote/content/About/Work.md

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..
  • 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
  • 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