A picture of Marco.

Hey, I'm Marco Pennekamp

I'm a software engineer, writer and musician. On this website, I intend to give you an overview of my projects, interests, work experience and education.

After finishing my Computer Science degree in late 2017, I had the pleasure to work on my own projects and ideas throughout 2018 and 2019. You can see more detailed descriptions of my efforts in the various sections below. Going into the new decade, I am seeking fresh opportunities as a software engineer.

Feel free to contact me at [email protected]. Also consider visiting my Github profile.

Education

TU Dortmund University
Oct 2014 – Sep 2017
B.Sc. Computer Science
I acquired a Bachelor of Science in Computer Science from the Technical University of Dortmund. I graduated "mit Auszeichnung" ("with distinction") and achieved the second-best possible mark of 1.1 (on a grade scale of 1.0 to 4.0) with an ECTS Grade of A. My courses focused on broad Computer Science concepts, but in later semesters I also took electives in functional programming, compiler construction, computer graphics, theoretical computer science, knowledge representation and reasoning, and data science. I wrote my Bachelor's thesis (German) in the field of software synthesis.

Software Engineering

As a software engineer, I have a strong interest in functional programming and programming languages. My current go-to languages are Scala for general-purpose and backend work and Javascript for frontend work, but I have worked and do work with an extensive range of languages. These include Haskell, Python, Java, Lua, Typescript, and C++.

I am experienced in web development across the stack. I have built backends for Wordpace and Collap mostly using Scala and the Play Framework. I have used Hugo and Tailwind to build static sites (such as the Kaynef shop, and the Wordpace landing page/blog) and love working with Vue.js for my frontend needs. I have designed relational database schemas from the ground up, using mostly PostgreSQL, but would have no issues translating these skills to other DBMS.

Over almost a decade of actively programming I've had many interests, including graphics and game programming (building many game prototypes with OpenGL and C++ or Java), language design and implementation (such as a templating language compiled directly to JVM bytecode), virtual machines (studying the JVM, and building my own prototype VM), game modding, and, of course, web development.

Wordpace
Sep 2017 – Dec 2019 (on hiatus)
Founder & Software Engineer
Wordpace is a platform for creative writing education, initially focusing on English vocabulary learning. I am responsible for all aspects of the product, including concept and architecture, web design, and the frontend and backend. The web application is implemented using Play Framework, Scala, PostgreSQL, and VueJS. The landing page and blog are developed with Hugo, Webpack, LESS and Tailwind. (wordpace.app)
Lore
Feb 2017 – Present
Language Designer
Lore is a programming language that explores multi-functions, component-based classes, intersection types, and semantic types. An experimental compiler is being implemented in Scala, but I am still mainly working on the specification. (Github)
Kaynef
Nov 2017 – Dec 2019
Co-Founder & IT Lead
Kaynef was a high-quality streetwear accessory brand. Our first product was a man's bracelet made from bicycle tires. We sold directly through kaynef.de. I was responsible for the IT, advised on general strategy and did copy editing. I built the website as a static site with Hugo, Webpack, LESS and Tailwind. Additionally, we used services like Snipcart to support backend functionality. After our general launch in September 2018, we continually added new products throughout 2019 and redesigned the website multiple times. Ultimately, we didn't find sufficient traction in the German market. (kaynef.de)
Collap
Jul 2015 – Feb 2017
Co-Founder & Software Engineer
Collap was a web-based content publishing system with an emphasis on versioning and collaboration, originally built for and developed with the team from Icy Veins. I designed and implemented the frontend and backend. Sadly, it never got past the prototype stage. It was implemented with Play Framework, Scala, PostgreSQL, Angular 2 and TypeScript.
Bryg
Jun 2014 – Nov 2014
Language Designer
Bryg is a statically typed markup language that compiles to JVM bytecode. It supports the generation of HTML and other textual formats, as well as typical programming language constructs such as expressions, conditions, loops, variables and functions. Interoperability with Java is supported. It was implemented with Java, ANTLR and ObjectWeb ASM. (Github)

Writing

I write novels and short stories at the crossroads of fantasy and the paranormal, combining my love for imaginative worlds, weird fiction, vivid dreams, and captivating accounts of hauntings and cryptids.

I started writing seriously in October 2018 and have since finished a novel, several short stories, and a novella. In 2019, I wrote over 300,000 words and intend to continue that pace going into the new decade. I am currently working on another novel and novella, whose first drafts I am aiming to finish by the end of February 2020. Even though my native language is German, I write entirely in English, as I simply prefer it both in reading and in writing.

Almost all of my stories are set in a world I've been building since 2018. I am very excited to share my work, but also recognise that I still need time to mature as a writer. I am looking forward to 2020 being the year during which I can list some published works on this website.

NSTB

In February 2019, I created a Discord writing community called NSTB, which I have been leading and developing continually. Our main draw is the 6-month novel writing challenge: We challenge ourselves to write a first draft within six months, starting in March and September. We have grown steadily and as of January 2020 have about 100 members who are active at least weekly.

Building this community has been an extensive learning experience for me. I am continually improving my moderation, management and leadership skills and am looking forward to developing the community even further. A website is forthcoming, but right now you can read more about NSTB on Disboard.

Music

As a musician, I play bass in a rock band called Among Those People. I am very fond of our composition process, which involves every member of the band and has lead to some very interesting songs. With my bass, I strive to create music, not just basslines. We are currently working on our first album.