Here I collect my favorite things: insightful talks, amazing books, great movies, awesome tv series and more.



show more talks about programming








The art of programming is the art of organizing complexity.

— Edsger W. Dijkstra

Programmers know the benefits of everything and the trade-offs of nothing.

— Rich Hickey

There are only two hard things in Computer Science: cache invalidation and naming things.

— Phil Karlton

If you want everything to be familiar, you will never learn anything new.

— Rich Hickey

Simplicity is prerequisite for reliability.

— Edsger W. Dijkstra

People seem to misinterpret complexity as sophistication.

— Niklaus Wirth

Testing shows the presence, not the absence of bugs.

— Edsger W. Dijkstra

Legacy code is code without tests.

— Michael Feather

Make illegal states unrepresentable.

— Yaron Minsky

The way to shorten programs is using procedures, not to omit vital declarative information.

— Hoare

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.

— Melvin Conway (Conway’s law)

A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system.

— John Gall

Quality is a collection of attributes. Various people define those attributes differently, but a commonly accepted collection is portability, reliability, efficiency, human engineering, testability, understandability, and modifiability

— Robert L. Glass

Our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed.

— Edsger W. Dijkstra

I conclude that there are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.

— Antony Hoare


Success is the feeling of contribution.

— Simon Sinek

One of the most important duties of your manager is to keep you out of meetings.

— Robert C. Martin

If you want more effective programmers, you will discover that they should not waste their time debugging, they should not introduce the bugs to start with.

— Edsger W. Dijkstra

The most important factor in attacking complexity is not the tools and techniques that programmers use but rather the quality of the programmers themselves.

— Robert L. Glass

Pragmatism is the belief that today’s deadline is more important than future deadlines, possibly all of them combined.

— Bryan Edds

The driving force of a career must come from the individual. Remember: Jobs are owned by the company, you own your career!

— Earl Nightingale

If you think it’s expensive to hire a professional, wait until you hire an amateur.

— Red Adair

Work expands so as to fill the time available for its completion.

— Parkinson’s law

80% of the effects come from 20% of the causes.

— Pareto principle

Whenever you find yourself on the side of the majority, it is time to pause and reflect.

— Mark Twain


A designer solves problems within a set of contraints.

— Mike Monteiro

The first step to designing anything: ask Why are we doing this? If the answer isn’t clear to you, or just doesn’t exist, you can’t design anything.

— Mike Monteiro

Unless it is enjoyable or educational in and of itself, interaction is an essentially negative aspect of information software.

— Bret Victor

The most effective way of helping people remember is to make it unnecessary.

— Don Norman