How to become an abstract thinker

Samuel Pouyt
9 min readNov 23, 2020
This is not a pipe. Plato would agree.

As developers, we are told many things about “abstraction” it is sometimes perceived as evil as it makes the code obscure and not understandable to others. On the other hand some say it is good and we should strive to achieve good abstraction as abstraction is what makes the difference between a normal developer and a 10x developer.

We have all heard about abstraction. The concept is simple: find similarities, create an abstraction from it, use that abstraction by specializing it with what is different in a specific instance of your code.

We know many abstractions. We use it all the time: algorithms, data structures, frameworks, and many others. But we often do see abstraction for what it is. Abstraction is obscured to us, it is in front of our eyes, and we do not see it. Even early at school we learn it, but no one names it:

The sky is blue

The moon is shining

The two sentences have exactly the same part of speech (Article — Noun — Verb — Adjective) but totally different meanings. The part of speech is an abstraction. Nowadays AI is very good at find those abstractions whether it is in text or in images. But we human have a much thought after ability, we can do knowledge transfer. We can transfer a learned concept from one domain to the other. Machine still struggle at that.

--

--

Samuel Pouyt

Tech Lead/Software engineer. I am currently working on Legal Technologies and Computational Law. I enjoy opera, philosophy nature and literature.