Interview with Armin Unruh

March 18, 2018

How did you become a developer?

When I was young I often did really simple websites using Dreamweaver.

I was always interested in real programming since I was like 14. I went to a C++ course when I was 14 but didn't understand anything. Also in school i joined computer science classes but didn't understand anything.

When I studied graphic design I met two guys who did really nice websites and it fascinated me. I was so curious.

I felt I needed more brain stimulation than "just" graphic design. I kind of felt I'm getting dumber and missed the challenge of trying to understand abstract stuff like when I had to try really hard to understand Maths and Physics. I was really bad at both and you don't really need these two when you are programming. Depends on what you are programming of course.

We had so much spare time, especially during semester breaks. So I started learning C++. Bought a book and said to myself: Ok, you're gonna read 50 pages everyday. I also watched all of the C++ course videos on Stanford's YouTube Channel. While I haven't used C++ much, it taught me all of the programming basics and this you can apply to any language. The concepts are often the same. I mean, a loop is a loop, right? Yes you need to be patient and curious.

What is more important for you: Your design projects for clients or the products you sell? (just like the lay theme or the lay gridder)

I guess you mean, what's more important, the "designy" websites that I develop or my products. Because the websites I did, most of them I haven't designed. I only helped with interaction ideas mostly.

Well lately, I've been thinking about this a lot. You know, when you got a digital product like lay theme, people buy it while you're asleep. It's a complex project that I want to keep improving and it pays off long-term. Small designy websites don't pay much in comparison. Designy websites for clients who can't pay a lot is not a huge business opportunity.

Doing designy websites is nice, because it's like a flashy thing that gets attention and you did it for the love of it. It's more like, ok you did it because there is a higher goal of trying to do something fresh and hopefully iconic. I mean you grow up admiring all these famous designers and artists who've come and gone and you wanna be one of them somehow right? It's this romantic idea of maybe you can become someone who can do something that feels new. Then people will remember you. That's the approach of an artist, that's what I wanted to be years ago. And when you do only that, of course you will be broke. Cool but broke. Don't do too much of it.

At one point I realized, probably I won't be a groundbreaking designer or artist, but when I develop websites at least I can work with designers who I'm a fanboy of. And when CSS3 came along, there were possibilites to do something that felt fresh, because now browsers could do better animations. Nowadays if you want to do a really fresh cool website, I think you need to learn WebGL. I'm amazed by websites like this one by bureau___cool

Now I'm more like, ok I did this, not gonna do it anymore. I think improving lay theme is a much better time investment for me than trying to do small websites that are cool. And if I do a small cool website that doesn't pay much, give me full control. I do the design and the development like for the sucukundbratwurst website <3. Follow them, seriously @sucukundbratwurst.

Right now, I want to do big complex websites, I want to work in a team, I want to take more of a business approach instead of an artist approach.

Tell us a bit about your stack. Which frameworks do you use?

I use WordPress a lot and for my Frontends I used Backbone JS with Marionette JS a lot. With WordPress of course there's much PHP. I just get JSON with the WordPress REST-API and then mostly my websites are JavaScript applications like This way you can do nice transitions when navigating, slick!

I've heard kirby is great for simple websites. I'm hyped about using or Services that are API based. WordPress works well for me, because I have used it a LOT. But I admit, WordPress is a little bloated, so it can be hard to grasp everything it can do when you're a beginner. WordPress is not perfect but it is the most used CMS. Just install it, disable everything you don't need with some setup code, install the Advanced Custom Fields plugin (and maybe ? <3), do a simple PHP website. Or do a JavaScript frontend using the REST API and Angular or React or something.

All of your websites seem to work a bit different, both from a creative and a technical perspective. What is your secret ingredient?

If all of my websites were designed by the same person, maybe they would be more similar. Also there's no use in doing the same thing over and over again. You want to try different things so you feel you're progressing right?

You have used React.js for the development of the "Lay Gridder". What is the main benefit of working with single-page-frameworks?

Mostly my teammate Felix Albert did the re-development of the Gridder. He is an amazing software developer, so clever! He could already do C++ when he was 14, unlike me. Redux, which you can use with React is great for complex state management. Imagine there's an application in your browser that can do a hundred things and when you click one button, that affects other things in different places of the application. Like when you use facebook. The Gridder is the most complex part of Lay Theme and we needed to completely redo it to be able to add more features in the future.

Ok, time of basics. JavaScript is great because you can update small parts of your website, instead of the whole website. Load content in dynamically, send requests to other servers and just do rich complex things. Open google maps in your browser. If we didn't have JavaScript, that level of interactivity in a browser would be impossible. Using JavaScript frameworks like React, Angular, Vue etc is great for code structure, separation of concerns, state management.

How long did you need to learn React.js?

We did this one website in 2 weeks. We said to ourselves, ok let's do it differently this time, let's use React. We didn't know React or Redux, we just quickly watched some React tutorials. I don't recommend doing a project that has a tight deadline with a technology you haven't used before. Unless you are hardcore xD. I had to get up at like 5 or 6 in the morning every day to be able to finish the project.

Also we didn't really need to use Redux for this, that was overkill for a small restaurant website. But we did it anyway just to learn it. Well, even months later I was still stressed out just thinking about the project. And then the deadline was so arbitrary because after we finished, they waited months to really go online. That was a few months prior to me taking a break from programming for almost half a year.

Do you have developer-partners which support you in your daily business? Or do you even have employees?

Felix Albert is my teammate, we complement each other perfectly. He is a fullstack developer and I'm doing more frontend, I can understand designers. Marius Jopen helps me with Lay Theme support, love that guy! I want to work with Denis Yilmaz, maybe with Ben Wegscheider or Jack Wild. I only want to work with people who are as good or better than me. I don't want to be someones boss, I want to be your teammate. I'm so impressed by people who are good at webgl or who are good with backend development.

Who would you love to work for?

My dream is to make a cool real estate website for some big ass futuristic penthouse skyscraper that's on Miami Beach. With cool renderings on the website. I want to work on big websites for big brands with big budgets. I need a challenge. And then I need a break. And then I need a challenge again.

Everybody listen, don't put your career success over your general well-being. Take good care of yourself. You might think that career success will make you happy, but it's the mix of career, health and feeling connected, meaning good friends and relationships.

And doing work that you dislike but being really good at it, well that's not my definition of success. I know it can be hard but try to be able to do only what you want to do.

Future plans?

We are in the process of creating our own web development company. I want to travel more and work more on lay theme. I want to learn WebGL. But I'm not sure if I even have the time for that. I wanna do fitness more and balance out all parts of my life. I want to do great work, in a relaxed way.