Many people believe that programming mindset is something you have to be born with or it will take incredibly long time to be able to write websites, develop web and mobile apps.

All they see is the finished product and their mind goes like “wow, I don’t even know what to start with, not even mention to build something like this”.

When in fact all they see is the intricate dance of multiple easy to grasp concepts working together thought multiple layers of abstraction. It’s just like starting with atoms, to molecules, to cells, to multicellular organisms and all of a sudden we have a human.

Layers of Abstraction Layers of Abstraction

Don’t be intimidated by the finished version of what you’ve seen or have in mind. Start asking what’s most basic thing I can learn in order to build the crudest version of the smallest part of that product?

A lot of people, myself included, often struggle with having an idea and then getting paralyzed by where to start. I believe you have to internalize through multiple trials and errors that no matter how hard project seems, you just have to start. You can’t find a way by trying to analyze every fork and detour on the road to successfully accomplishing your task. We are not built this way, and it’s waste of time to even try.

Just the act of starting will change your thoughts, the way you approach to solving issues, your mind starts racing with practical ideas instead of theorizing of what would happen.

I wrote this post more as a reminder to myself when I start learning something new and get stuck trying to learn as much as possible before doing anything.