#![desc = "Random thoughts of a software engineer"]

About me


I'm Andreas Neuhaus, a software engineer and architect located in Schwerte (near Dortmund, the Ruhr Area, Germany) and this is my personal blog about software development and IT stuff in general. I got a degree in computer science in 2006 at the University Of Applied Sciences in Dortmund. Since then, I'm working self-employed, mostly on iOS and Ruby projects. If you're looking for a software engineer to hire for a project or to help on your team, feel free to contact me.

This blog will mainly cover topics that are in my area of focus during my development work, which is:

Backend architecture and development

I usually feel at home most when working on backend architecture. I love using new technologies and work with/on open source software. The internet brings up great solutions for nowadays problems day by day. Technology I enjoy to use most include NoSQL databases like MongoDB, key-value-stores like Redis, HTTP-services with REST/JSON and new technologies in general.

When it comes to software development, my main choices of programming languages are Ruby (standalone as well as with Sinatra or Rails) and NodeJS for web application backends. For any programming closer to system level, I usually use C or recently Rust.

I enjoy agile development with short communication paths and flat hierarchies. It greatly improves work and product quality.


I started to develop iPhone apps in 2009 and iPad apps later as well. Besides the challenge of writing performant and energy-optimized code for mobile devices, it's great to use the various frameworks that come with iOS. So I often ended up connecting an iOS app to a Rails backend server, e.g. to provide In App Purchase verification or asynchronous remote (push-) notifications.


Back those days at the university, I used Linux a lot and got experienced with administrating Linux servers as well as the development of system-level code like device drivers. I initiated the first open source Wavelan IEEE driver for Linux, named wvlan_cs. I mainly focused on networking, IPv6, VPNs, X.509, later also KVM virtualization, administration of servers and created some smaller tools. This isn't my primary area of activity now, though these insights are useful today to write performant code. And I still run my own dedicated server for fun.


You can contact me via email by writing to "info" at this domain.