Why it’s worth having playground
I started an open-source project called Planik. It is the collection of projects in one repository.
The main goal is to implement the same application in different frameworks, and programming languages. Frameworks are Android, Flutter, iOS, Dot Net 5 and Spring boot. Languages Kotlin, Dart, Swift and C#.
Why? You might ask. The answer is to learn, repeat, explore, struggle, create, show, and have fun.
Let me elaborate.
Learn
You might have read before here why it’s worth working on a personal project to learn better. As I stated before:
One of the best ways of learning is meaningful deliberate practice. We need to make an environment that allows us to grow. It’s better to create one rather than wait for it.
A personal project is an environment that will help you to grow. The great things about it are that, we are going to come up with ideas, plans, and solutions. Then we will try to execute the plan and implement solutions to make ideas come to life. By doing so, we will try to solve real problems and by solving them we will learn.
Learn by doing.
Repeat
Our brain and body, work in a way it requires repetition. We need to use our skills to keep our brain and body in the form. It is not possible to learn something once and then just stop because over time memory and skill deteriorate.
It’s why we have to back to basics, to refresh memory and skill. To remind ourselves about principles. Working on a personal project allows such repetition.
Imagine that you knew a foreign language, but you don’t use it often because you don’t have opportunities. After some time, you realize that you can’t speak it anymore, you can only understand, but even that comes with a strain.
It’s worth keeping skill alive.
Explore
We don’t know what we don’t know. We can’t ask the right questions when we don’t know what to ask about. It’s why we should keep exploring, trying to inspire ourselves with new information. This will allow us to find questions and solutions for problems we have now, or we will have in the future. We might become better at what we do.
Exploration informs us.
Struggle
Coming up with the idea, plan, solutions and then executing them all at once is really hard. It’s as if we need to be four different people at the same time. It will bring great struggle to us. That’s fantastic because we have to struggle, without it, we lose meaning, and that’s a horrible place to be in.
We develop when we struggle.
Create
The act of creation is really rewarding. It gives us the feeling of autonomy and agency. Be creating we face with the responsibility for our creation. We see how hard is to create something good, and it reminds us about the struggle I mentioned earlier.
Creating is meaningful.
Show
Sharing is rewarding too, but at the same time exposing ourselves to the judgement of others takes courage. It can be scary, but it’s necessary. It can give us information from others. We can ask people what do they think about it. We could get information on what we could improve. The feedback we could get will help us to learn.
Expose to the judgement of others.
Have fun
Any activity without fun is dreadful. We must have fun to keep doing. Otherwise, we will stop, and it will stop our progress too.
Having fun is fun.
Summary
As an example I took programming because it’s what I do and care about but those ideas I described can be applied to anything. I am using this attitude towards language learning too.
Remember to learn, repeat, explore, struggle, create, show, and have fun.