Erik Müller


Personal data

What? Where
build. @erikmueller
share. @slackoverflow
think. @Air2ick
mail. e.mueller.mail[at]gmail.com

I ❤️ functional, declarative and clean programming and its powerful abstractions like pure functions and immutable data. It makes programs easier to read and reason about. It also reduces cognitive load and brings the bug count down. My favourite Tech-Stack consists of a React-based frontend, neatly bundled and transpiled to use the latest ECMA features. I also love Node.js bundled with TypeScript in the backend but prefer the BEAM with Elixir or Gleam for its more functional nature.

Technical Experience

JavaScript & TypeScript experience working professionally since 2013, extending existing architectures and conceptualizing new projects. Besides working with modern language features I utilised popular frameworks and libraries in production such as:

  • React(-Native) and redux on client, server, and mobile
  • Two popular node.js web frameworks: Express and Fastify
  • ORM/ODM wrappers for mongodb (mongoose) and mysql (sequelize)
  • Build tools and transpilers: Webpack, Metro, babel, Esbuild
  • Several test frameworks and assertion libraries (jest, unexpected, karma, mocha, playwright)

I also created and contributed to several open source projects including:

  • eslint (pluggable tool for identifying and reporting on patterns in JavaScript)
  • react-stdio (render React.js components on any backend)
  • cond-flow (Inspired by Elixir's cond for functional data flow)
  • unexpected-immutable (immutable.js assertions for unexpected.js)
  • an-old-hype (port of an atom syntax theme for hyper)

Elixir. Hobby alchemist since 2016. Although still being a niche language Elixir helped me in becoming a better programmer and made me rethink established object oriented ways of thinking and programming patterns. A lot of the functional paradigms found in Elixir can be applied to the JavaScript language as well. I was part of the Hamburg.ex user group and created several side projects and playgrounds:

  • Luke (server-side rendered react-router with the cowboy webserver)
  • JellyShot (blog engine based on Phoenix powered by markdown)
  • Edmin (image slider backed by ex_admin CRUD interface)
  • JAZ_ex_treme (sorts different heat pump's SCOPs based on flow and return temps & for efficiency)

HTML & CSS. Besides efficient JavaScript I consider writing semantically correct markup and stylesheets the bread and butter of successful web development.

SQL & MongoDB. Experience with running relational and document-oriented databases in production gives me the proficiency to chose the best technology for the job.

Docker & CI/CD. I use Docker a lot. Be it for easy reproducible deployments or faster development workflows. I also did docker multistage builds in the CI environment as well as bundle optimizations like code and route splitting.

Work

When? What
2021–* Senior Software Engineer, Fullstack, NewStore GmbH, Berlin
- Payment context deepdives
- Connecting payment terminals and cash drawers to mobile devices (iOS)
- Elixir services in production, maintaining Golang and Python services
2018–2021 Software Engineer, Mobile Development, NewStore GmbH, Berlin
- React-Native development
- Monorepo optimisations, project and app restructuring
- Clearing technical debt with industry best-practices (and TypeScript)
2014–2018 JavaScript Engineer, ePages GmbH, Hamburg
- Part of a cross-functional fullstack team
- From scratch rewrite of an ecommerce frontend with react & redux
- Backend for frontend implementation with express, sequelize and TypeScript
- Examining applications and conducting technical job interviews
2012–2014 JavaScript Engineer, ePages GmbH, Jena
- Part of the frontend team
- Working with jQuery and the Dojo Toolkit as well as require.js and Backbone
- Building a new asset pipeline with nodejs (0.8)
- Greenfield project based on node.js and express with universal rendering
10/11–3/12 Intern, ePages GmbH, Jena
- Evaluating several mobile frameworks as part of the master thesis
- Prototypal implementation of a multi platform app for administrating epages6

Education

When? What
2010–2012 Applied Computer Science, University of Applied Sciences Erfurt
Thesis: Mobile Cross Platform Development
Degree: Master of Science, final grade: 1.8
2007–2011 Applied Computer Science, University of Applied Sciences Erfurt
Thesis: Tool for Heuristic Evaluation Online (THEO)
Degree: Bachelor of Science, final grade: 2.0
2006–2007 Media Systems, Bauhaus University Weimar
1998–2006 Gustav-Freytag-Gymnasium Gotha
Thesis: The Venus Transit`
Degree: Abitur, final grade: 1.6

Language skills

Language Proficiency
German Native speaker (first language)
English Highly proficient in both spoken and written English (C1)
French Basic (3 yrs)

Interests

  • Sports: Volleyball, cycling, snowboarding
  • IoT and SFF: Raspberry projects, home automation, soldering, sizing down computers
  • Music festivals and concerts