$ cat hello.md

My name is Niklas Gruhn.

I'm a graduate computer science student with roots in web development. I started out building websites with 14 somewhere in 2008. That was just the right time to witness the end of an era of stagnation. I saw the death of Flash, the mobile revolution and the rise of JavaScript. Today the web is an amazingly rich ecosystem and I'm sure it has a bright future.

I'm still mainly doing front end engineering but nevertheless I slowly feel myself transitioning away from it. Today I'm increasingly working on testing, pipeline configuration and generally trying to improve the development workflow of my peers.

A nice result from doing front end is solid intuition for usability. Usability principles have much wider application than just graphical user interfaces. And I believe that this insight is not as popular as it should be. API design, code readability, documentation, automated tests, development environment setup. All of that is subject to human interaction and quality can quickly suffer when this is not taken into account. So I keep endorsing ideas like: All configuration options should have defaults. The most common task should require the least number of actions. If you can write a step-by-step documentation for this task, why not automate it?

My other passion is programming languages. I enjoy exploring different paradigms like functional- and logic programming and understanding their theoretical foundations. I'm also interested in formal verification, compiler construction and computability theory. Here some of my favorite literature in this area:

In my spare time I'm

Check out my stuff on GitHub or send me a message niklas@gruhn.me.