I think since we are young every one of us has this natural curiousness that unfortunately to often decreases as we grow older.
This can have many reasons: Maybe we know we already know enough and there is nothing interesting left to learn anymore. Or maybe we think we are too old to learn new things (from my experience especially in Europe we think that way).
I got inspired by stories like this and therefore think it's really important to keep learning fun. There are people who think learning has to be hard (like in the school when learning math) but I am convinced that even math and certainly programming can be taught in a fun way and that right from the start.
Why dont we use this philosophy more often? For learning programming that could mean: Build applications together with your friends. Build something that really motivates you and that you consider as a cool application.
For example you build a spotify clone or your own personal website. Something that brings value to you even.
This is one lesson that I learned when starting the violin. There it's almost impossible to learn all steps that need to be done at the same time all at once. Therefor you often separate each task and practice this one isolated until it feels more natural.
I think we should also do this for learning programming. When we want to learn a new framework it can be very overwhelming learning all at once.
Why not just learn it step per step?
For example when learning Angular you could start just doing one big component that contains the whole html. And when it grows too big then you will divide it into smaller components.
So that you first can concentrate purely on the html and later learn the splitting. The data don't have to come from a service right from the start.
It's enough when they come from an array which mocks your data. Just ask yourself do I really need this solution right now?
Here you should follow the 80/20 principle. Do 80 percent of your work just in 20 percent of the time.
Another approach could be that you check out an existing project and you play around with it and customize it. You could also create a new feature that's similar to an existing one. For me good and motivating learning is 70% copying and 30% transfer/own ideas.
One more idea is that when you follow a tutorial, don't just copy and paste what they tell you. Instead be creative and again do transfer here. When they are for example programming a website about displaying and rating movies.
Ask yourself: What I am else interested in? And do for example a website about books or sports.
Learning the same thing with a lot of variations is the most efficient way of learning!
Remember learning is about experiencing something yourself and not only listening to someone that tells you how to do things right.
When you ask what would be an approach to split your steps into small enough steps I would say a good small step is a step that has like 40-60% difficulty to you. Of course this will vary from one person to another.
I think the best way of learning things is by a mentor who supports you and encourages you to grow. We are social creatures and learning should be no exception to that.
Also often its just more efficient and motivating to ask another person for a solution or at least a hint so that you won't have to search for a solution a whole day alone.
Of course it can also have benefits to learn things on your own as you are forced to reflect on certain things.
My rule of thumb would be try to learn a thing for 30min-2h hours alone. If it's just not possible for the moment then you should definitely ask!
It would be really cool if you would participate in that.
Just contact us under:
We are searching for every kind of experience from absolute beginner to absolute expert.
Of course there are also a lot of cool meetups and conferences that you could go to. It is always a good idea to connect to other people who already know things that you also want to learn and to get inspiration from.
To find meetups in your location just download the App
Meetup and search for topics that could be interesting for you.
This is maybe the most important point in my opinion for good learning. I am doing this experience myself since years of watching animes in japanese now and only learned a few expressions out of context so far. Spanish I learned almost in 1 year with help of just music.
What was the difference here?
The level of consciousness.
When I am watching an anime I just focus on the content but I don't take the time to really go into detail and learn all the words. (of course japanese is a bit more difficult than spanish but you get the point :D)
So applied to learning programming that means that you should ask yourself:
Why am I doing this now? What is the benefit of doing x? Could I achieve y in another more simple way?
So this is all that I could spontaneously think of how to learn program the fastest way.
And feeling stuck and how to get over this is also part of the learning process (for learning programming there is even a term for it. It is called the desert of despair).
Here I want to show you some resource that I found quite helpful when starting programming:
1. https://stackoverflow.com --> still the number one resource even for experienced programmers
2. https://www.w3schools.com --> from learning sql to python and making your own website (comes together with a try out editor)
3. https://stackblitz.com --> code your applications directly in the browser without doing the whole painful setup that is often worse for beginners.
5. https://onemonth.com --> cool site to learn about a lot of languages/frameworks by doing projects yourself in about one month (not for free)
6. https://cssclass.es --> organization that does workshops for people who want to learn CSS