The most important is: Why? It is way more important than how because the boolean outcome and float result of your studying is based on this parameter. What does it mean in English? Well, that different goals lead to different outcomes.
I know you may be just curious about coding or you’ve heard from friends that there is good money in this. Whatever reason you have for starting you should definately expend them.
Try writing down as many reasons as comes to you mind before moving forward.
You may be this lucky person that has a clear, well guessed vision, that fits your character, is and will be valid for the years to come. You may.. but probably you aren’t. There is many reasons for which people start coding, some of them include:
One of the most common reasons I hear is not on the list - money. It’s not on this list because having it for a reason is very decieving. A reason should be something that is embedded in coding itself, the process of coding should be rewarding thus affecting the reson behind it. Otherwise coding will become a displeasing, enforced activity that is just bothering instead of helping. If you set up money for a goal then you won’t be focusing on the process which usually is quite long (don’t believe in Coding for Dummies in 3 weeks).
The reson for writing down other motives that you can come up with was as follows:
If you didn’t find at least two not-money resons to code, leave it. Close the tab and forget about it.
If you’re following reading then the chances that your reasons are on the list are high. Great! Let’s divide them to 3 groups of reasons:
|Easy||Long Term||Super Hard|
|having fun||having fun|
|easing life||easing life|
|improving thinking||improving thinking|
|making a website||making a website|
|curiosity & understanding||curiosity & understanding||curiosity & understanding|
|solving problems||solving problems||solving problems|
|contributing to open source||contributing to open source||contributing to open source|
|controlling hardware||controlling hardware||controlling hardware|
|making an app||making an app||making an app|
|writing thesis / paper||writing thesis / paper|
|changing work field||changing work field|
|making beautiful app|
|better working conditions|
Disclosure: This grouping is natually subjective
Easy is self explanatory. Long Term is in between the Easy and Hard but it doesn’t mean it’s difficult, it still can be easy but just requires more time in order to learn. Learning is never a quick process. Maybe for dummies that think about finishing studying in 30 days. Don’t be dummy. Know, that learning never ends and first you need to enjoy it at least a bit or sometimes. Otherwise it won’t work.
You may wonder why things that are super hard are also easy? That depends on the approach. Solving problems or contributing to open source are very general descreiptions. You can contribute by reading code and making a documentation and you can contribute by developing some features that are super hard to implement. You can solve an easy problem on hackerrank or you can solve some of quantum computing problems. You can make a simple app in a weekend or you can make an app that solves complicated problem.
I would start from the resons that are Easy and once you know how do you feel about programming I would move to one of the reason that is both easy and hard because it won’t bore you, there will always be a reason to become better.
2 years ago I started with #oneyearcoding but I stopped after 3 months. My approach was wrong as I tried doing things from tutorials and books, replicating them which was cumbersome and made me feel like an idiot. I was also having difficult times in life so again, I stopped on being beginner in everything.
Around 1 year ago I got an idea for helping friend with a project and it triggered a need. This is easing life, solving a problem and bootstrapping in one project. That’s why I was saying that the more reasons you have the easier it gets because in order to learn coding you need to be persistent. Some ideas or knowledge breaking moments come to you like lighting, struck in the middle of developing something similar.
There’s nothing worse then developing another To-do list. It may be a good way to see how things work but not to replicate it. There is tons of ideas to implement. Doing so always pushes you to think on yourself and makes you using the pieces of knowledge you have as well as learning what you need. It’s crucial.
This time I was able to code 1 year straigt mostly because of the projects and the fun they bring. Helping a friend was 1 thing but after that I’ve tried developing some of my ideas. I need to firmly state that I was trying different languages, projects, doing it with different people. Sticking with 1 language or idea would bring me something completly different. What? I don’t know, that is my 2020 resolution. Do things once at a time. So far, I’ve learned tons of stuff about software:
Try it for yourself. Maybe you will find it useful to you!