Writing on software engineering, design, product development, and other musings.

All of my long-form thoughts on programming, design, product design, and more, collected in chronological order.

More variables, harder problem

Reduce the amount of variables to simplify your problems, also in design problems.

Where knowledge lives

Designing and building a product is comprised of a set of tasks. There are 3 places where the knowledge about each task can live: people's heads, processes, or machines.

Good design is nothing being a random choice

What we universally consider good design, is where no detail was left to chance, and the designer reflected upon every single aspect of the product.

The art of conversation

Don't ever approach a conversation trying to change someone's mind. Instead, ask questions and learn about how they got to think what they think.

Write things down, have better meetings

Most meetings are useless. People sit down, discuss a topic, or 1000, since often there isn’t even a clear agenda. No one takes notes, so in the end of the discussion, no one remembers exactly what happened, and what they’re supposed to do about it. You get the picture.

Finding motivation for side projects

How can you find motivation to work on your side projects, when you get home after work? It all starts by focusing on the process, not the outcome.

Understanding the why

When you have a task before you, it is important to start by defining why you are doing it.

Can’t go full throttle forever

How we tend to try to maximize our productivity all the time, but need periods of boredom in order to have creative thoughts.

Does this spark joy in my life?

There's a lot of power to editing things out of your life. I like the Marie Kondo method of asking, for each item you own, does this spark joy in my life? It's a useful question for more than just physical things.

Creativity is play

To be creative you need to get into the mindset of a child who is playing.

How to stifle innovation

Don't put bureaucratic processes and other roadblocks in front of innovative people.

Every company should operate like a remote company

Remote companies require clarity. You need to promote communication, write down everything, define your processes with precision. These are all things that will make any company better.

Jumping to solution mode is natural and dangerous

When we are faced with a problem, we tend to immediately try to find a solution. Sometimes this is good - you won’t be very effective if you question everything all the time. However, many times, this will prevent you from truly understanding the problem.

Designing a logo

How to think when designing a logo.

What is innovation?

We often think that innovation is inventing new things. It is not.

Design is choices

Describes how design is, to a good part, about persistence.

To HTTP2 or not to

If you are a web developer, you are likely to have heard of HTTP2. You heard how much faster it is, how it allows you to do as many requests as you want, how you should switch to it as soon as possible. Other things you don’t hear so much about. How does it work? Does it make sense to switch from HTTP1.1, in your particular case? What benefits will you get, and how?