Are you looking for an expert in designing software architectures for your web application? I can support you with more than a decade of in depth experience. Knowing the pitfalls of big projects - microservices, mighty APIs, fancy features and software stacks, the sunk cost fallacy and scalable applications, I can help you to savely circumnavigate them. I focus on getting things done in time and making the client happy.
My expertise lies in the following tasks:
- Rapid prototyping
- Lean development
- Software architectures that are tuned to your real world requirements
- Modernization of legacy software
- Migrations of big projects
- Micro- and Macroservice architectures
- API design
- Domain models
I enjoy designing software architectures, but I do also very much enjoy software development. Both are intertwined and I can bring both to the table. While I had many other responsibilities in my career, I never stopped actively developing software.
Some of my strongholds are:
- GraphQL and RESTful APIs
- Micro- and Macroservices
- Domain models
- Relational and document databases
Hosting web applications can be a very complex task. Designing and setting up simple and complex hosting solutions were always part of my responsibilities. Over the years I could gain much expertise in the field
I have experience with the following technologies
- Linux / Ubuntu
- Apache / Nginx / Caddy Server
- DNS, Networking and load balacing
- AWS Networking, S3, RDS, VPC, Route53, Containers etc.
- GCP Networking, VPC, Databases, Cluod Storage, Containers etc.
- MySQL, PostreSQL and MongoDB
- Lambda & Cloud Functions
I’m a avid user of cloud technologies since the early days. My first contact with those technologies were with NASAs Nebula Platform and with AWS, when there were merely VMs and S3 available. Since then I used many of the AWS services and switched some time ago to Google GCP since it's a much more integrated platform, which makes the management and setup much easier and thus less costly.
I like to use open source software and libraries. I prefer to use, whenever possible, cloud technologies and infrastructure. I'm a bit sceptical of using technologies that lock you in with a vendor, like GCP cloud functions - but still, that may sometimes be the best way of doing things.
Working cleanly, having well defined concepts and carefully selected software stacks helps to develop and deploy a software successfully in time. Oftentimes less is more: a simpler technology stack is better, a not implemented feature will oftentimes help focus on the relevant functionality of a product. Lean development is viewed as a luxury, but it’s often the right path to take.
German is my native language but I'm also fluent in english especially in the technical domain. I'm used to working in an english environment and never used another language when writing code, concepts and documentation.
I was a co-founder and CTO of a small Software company with 10 employees. Apart from my technical responsibilities I also had the opportunity to manage a team of software engineers - oftentimes I was their interface to our clients. This role gave me the opportunity to develop strong communication and problem solving skills. My motivation is generally very high and I take a real interest in doing things the right way and in making clients happy.
An application for antimicrobial resistance mangement
A pet project of mine that grew into a full featured and well funded Web Application over time. The application is currently mainly used in Switzerland by infectologists and doctors treating patients with bacterial infections. It gives them up to date data for choosing the correct substances for the patients.
My responsibilities include product development as well as backend development using node.js and postgreSQL. It is also my reponsibility to manage the applications hosting setup on Google GCP.
I'm currently working on a concept for the next version of INFECT which may include a full overhaul of all parts of the application in order to simplify the user interface and the tech-stack. The project is fully open source!infect.info GitHub Request More Details
DIY Hue Ligths
A simple controller for creating DIY HUE compatible light appliances
My first serious venture into C++ and IOT. Since I wasn't ready to pay a fortune for official HUE lights for my garden, I decided to take things in my own hands and produce the controllers for the 40 cheap but good aliexpress garden lights myself.
Apart from the software, which is written in C++ and runs on an ESP8266F board, I had to design the electronics and the PCB myself. The image above shows some of the components used for the prototype. Version 1 will be ready soon. It includes a DC-DC converter, a 16 Channel PWM dimmer using a separate IC and a dedicated zigbee controller. Version 1 will be published as open source.Get Full Project List
A set of node.js libraries for your everyday use
Because I was one of the very early people to adopt node.js, I had to write a fair share of libraries myself. I also like to explore new technologies by implementing libraries for them, so that I deeply understand what their capabilities and limitations are.
I wrote a leaky bucket implementation, a class implementation that is compatible with es6 classes (although es6 classes were not a thing yet), a pretty mighty ORM (there was no usable ORM at the time; discontinued), a Unit Test Framework, two logging libraries, a HTTP2 Server and client and much much more (the documentation is missing for most of the projects, since many of them are just a technology exploration). You can find most of the code on NPM and GitHubNPM GitHub 1 GitHub 2 GitHub 3 Get Full Project List
LINA VAN DER WEG
I'm a passionate Web-Application engineer
After I finished my apprenticeship as a software engineer, I started doing freelance work. Later on, I founded a startup with a couple of people, which ultimately failed because we wanted too much. With some members of that startup I founded a company. Since we had gained much experience in developing web applications, we did now develop applications for our clients. Our clients included Swisscom, RUAG, SAIA Burgess Controls, INFECT and the Corner Bank.
I gained most of my soft skills during the time at Joinbox, where I was CTO and had the possibility to manage a team of software engineers. My responsibilities also included product development and especially designing software and hosting architectures. In the last couple of years, the company shifted its focus more towards building websites, which I enjoy less. I decided to start into new ventures by working as a freelance web application engineer and by working on my new startup projects.
Freelance Software Engineer
After nearly 10 years as CTO and Co-founder at my software company, I decided to dive into new ventures. I am currently working as a freelance software engineer. In my spare time, I work on some of my new startup ideas which helps me to stay on top of new developments in the industry.
I enjoy being able to continue to work as a web application engineer - I have a lot of experience and can adapt to new projects and frameworks fast.
CTO at Joinbox GmbH
Joinbox, the software company, started as a successor of the startup project Joinbox. From the beginning on my role was CTO. My responsibilities included the design of software and hosting architectures, the development of backend services and APIs as well as product development from a technical standpoint.
I managed a team of software engineers and supervised the development process. I was responsible to introduce new technologies and to make sure they were implemented correctly. We developed many small and medium sized web applications for our clients - sometimes in an extremely security sensitive setting. This required us to make sure that our software is secure by following standards and by implementing best practices. Some of our applications were regularly tested and scanned by external entities which never resulted in any relevant problems.
The time at Joinbox gave me the opportunity to learn the relevant aspects of software engineering. I learned how hard it can be to get things done in time - when to implement a solid foundation and when to progress using rapid prototyping. I learned the risks and advantages of using new technologies. I learned the advantages of the KISS principle. I learned the value of trying to keep a software small and simple and much, much more.
CTO, Backend Engineer, Software Architect, Cloud Engineer, Team-Lead, Project Manager
Joinbox was a startup project that provided an unified inbox to its users. It combined email, rss feeds, facebook, twitter and google+ in an unified inbox. The users were able to crosspost between all of those channels. The project had about 9'000 users. The project failed because the technical hurdles were much too high since we wanted to replicate the features of many of the platforms involved.
In the process of creating Joinbox, we learned to develop complex web applications and especially what the pitfalls for those kinds of projects are.
Freelance Web Designer
After my apprenticeship as a software developer, I started to work as a freelance web designer. I created many websites for small businesses, societies and private persons.
Freelance Web Designer
Apprenticeship Software Developer
In 2003 I started my apprenticeship as a software developer. I had already a sizable knowledge about the topic before I started the apprenticeship. During that time I was able to focus my skills and was able to implement small but interesting projects for the company I was working for.
Freelance Web Designer