Technical Skills

Cloud and Infrastructure

I am able to take full usage of the cloud and have worked with both AWS and
Azure
to create scalable solutions.
I apply the twelve-factor app methodology in my projects and use Ansible
and Docker to manage my infrastructure.
I work a lot with CoreOS and its
surrounding technologies (etcd, fleet, systemd).
I have built up a private PaaS with Deis that I managed with InfluxDB
and Grafana and learned a lot of lessons the hard way.

Python

Python is my current language of choice to get real work done quickly and glue things together, it is an indispensable tool in my belt.
I have a very good understanding of the language and know the community, libraries and tools around it well.
I have built multiple web applications using Django and know the limits of Python due to maintainability.

HTML and CSS

Even though I am more engineer than designer, I am able to create good looking websites with proper HTML and CSS.
I put a lot of emphasis on proper separation of concerns and HTML5 semantics.
I have an very good knowledge of CSS and use SASS together with Compass to create responsive websites in a mobile-first approach.

JavaScript

I have a deep knowledge of JavaScript and its quirks. I've used it in many client projects to provide
additional functionality and to create Single Page Applications (using Angular or Knockout).
I am familiar with the current JavaScript frameworks and ecosystem (NodeJS,
npm,grunt and gulp).

.NET Platform

I have a very good understanding of C# and the .NET platform, as I have used C# and the .NET platform
intensively in the four years of my apprenticeship. I've built ASP.NET MVC web applications (mainly custom eShops)
in a team and have good expertise with LINQ, Entity Framework, WCF Web Services and IIS.

Java

Java is the lingua franca of programming and I have worked with it a lot
in the courses and assignments of my Bachelor's Degree.
I have experience using Gradle, Maven and sbt and working
with the PlayFramework, JSF and NHibernate.
I have also created small Android applications.

Linux

I've made my first steps in the Windows world but have since fully converted to Linux.
I have a good understanding of Linux systems and how to maintain them.
I am using ArchLinux on my client machines and use Ubuntu, Debian or CoreOS on the server side and
really like the transparency and simplicity of Linux and the
UNIX philosophy.

Data Engineering

I know how to solve big data problems by distributing it on multiple hosts.
I have used message queues like RabbitMQ
and AWS SQS to distribute jobs across multiple workers
(like cloning entire GitHub).
I have also written open source message queue utilities like pipecat
and redis-pipe to make messaging
more approachable.

I know how to scale and tune PostgreSQL to cope with large data sets, handling a billion rows and dealing with a data throughput of 30+ TB.

Database

I've picked up a very good knowledge of SQL and database design along the way.
I have mainly worked with Postgres and MSSQL,
but have also used MySQL before. I have expertise in writing advanced queries, stored procedures and using databases through an ORM. I can also write advanced spatial queries with PostGIS (extensive use in our open source Mapbox alternative osm2vectortiles). I've written an import tool for importing JSON and CSV files into PostgreSQL.
I'm familiar with the concepts of NoSQL and used RavenDB, MongoDB and the Azure Key/Value store.

Go

I use Go for CLI applications that need to be crosscompiled
for different platforms. In my opinion it is the ideal systems programming language.
I have built multiple popular tools with it (pipecat, nigit, pgfutter, redis-pipe).

Haskell

I am currently learning Haskell and have written a Dockerfile linter with Parsec.
I love the concepts of separating the pure and dirty code and am
astonished by the stable software Haskell produces.

PHP

I have used PHP for small projects due to its ease of hosting and popularity. I have used WordPress
and Perch for client solutions.