The facility for to learn anything depends on how we ourselves, there are auditive persons for to learn and because not need annotate, only listen, other are visuals persons and with an example is enough, others are kinesthetic persons and need interaction with the subject.
Analize yourself and test different learning methods until that understand that class of person you are, test viewing videos, written articles, annotating or programming directly. In this post i pretend share my learning method me being a kinesthetic person. take the useful of this post and take the freedom of change what doesn't work to you.
I had developed thought the years of learning different skills an instinct that i indicate me if want i do brings me closer to my goal, this, even if seems obviously, it does not seem so.
you have noticed that when various persons that practice in the same conditions, only a few persons fast forward, but the most not no matter how much they practice? This is symptom that stagnant person still really doesn't understand you are does or simply believe that the repetition you will go to mastery, when what leads to mastery is the conscious analysis of what is being done.
If you are first time learning a programming language most suggest that start step by step with programming bases, my personal advice is that search an exciting subject for you, you do a basic course, the reason that i suggest this is because the difficulties will force you to investigate the questions yourself and possibly it is resolve doing a basic course related. I think to start for the project poses several problems that are solved by consulting the internet, the that you do better understand the problem causes and the solution than a basic course with no motivating examples of supposed inexistent costumers for fill into database.
If you know a language programming and want migrate to other language, investigate if it is worth learning, but if you are sure, think in a project with many challenges that help you to enhance in many aspects, for example: you know #Python but don't know #DataBases and don't know about of web sites and don't know about of design patterns, propose you make a #Websites that fill a form for anime or movies catalogue, that saves info into #SQLite database and upload to #GitHub, this will be very difficult and surely end in failures, but try will do that quickly enhance to learn #HTML, #CSS, #JavaScript, #SQL, #GIT and #MVC pattern, surely for solve it, you will to learn basic courses of each technology proposed.
many courses propose to use an IDE of preference of author, generally #VisualStudioCode, #SublimeText with #GitHubCopilot, these environments facilitate to you the process of programming in specific languages, not work for all and you do to be laziest. Mi advice is that start from to most basic, that to be multilanguage, that work in terminal or to be multiplatform with any basic helps, it forces to you to be more active to write each line and keep the order on your own, you will have to do an extra effort in all, but a long term you will have less need to depurate code.
I know many people that believe that, for use the most modern applications, they feel the security of that it will does better programmers, when the reality this is about making the biggest impact with the precarious tools, because we haven't the security in the future, we will have programming in terminal.
Work on a non-Windows system, because all tends to work wonderful, if you change the system, this will poses challenges how: to learn to use the terminal, install your applications in other system or use alternatives and fit into system, although this seem like another torture to the list, you will do more recursive, you will notice the dependance of libraries into applications, you will learn to programming using the existen libraries and you will give knowledge of another operative system and useful environments for server administration jobs.
Don't copy code with ¨Ctrl + C - Ctrl + V¨ from #StackOverflow or other site, copy the code manually, this will you make you reflect for a moment the code and may find a better solution from your copy.
Try all the time of keep motivated, else change to other. If the current course bores you, change the course and subject, the reason for this is that your brain not learn being forced and demotivated to you, although it is worse advice i think that if you carefully analyze the reason for boredom, you can value if you are tired, if you have a worse focus, or a bad choices of technologies or your current skills are not enough for the project or course, but if you still consider that challenge is worth it, quit temporally and resume when you feel able.
Take notes of all things that take your atención, specific solution, sites where get specific knowledges, but first of all reflect on how to take note and save it. I have a post about it, in my case i decide take notes into codes, this saves me time.
Document the code in English, included the notes taken, this will you do your mind make structured in English and later be easiest read, write and understand the language, don't use the translator or you will fool yourself. My last posts are in English for this reason.
If you are newcomer programming, you have the maximum effort to end a good course, if you are known programming in some language and you want migrate to another, leave the course as soon as you master the syntax, because you don't have all time in the world to start over, focus you to learn to manage the environment, to use popular libraries.
Upload your projects to GitHub, although this are not complete, this forces you to use the terminal occasionally using GIT, it forces you to document the code using markdown, this in long term help you to create a portfolio.
Summary.
All this tips i apply in my life to enhance like programmer, it's very difficult, slow and frustrating, but i start in the quarantine of 2020 until now, i have learned a lot in a short time compared to how i did before. I enhance in Python to mid-advanced level with OOP, i am changed to Linux, I used new libraries, I made littles programs, i learn to use GIT, i used Bash, i enhanced shorthand, typing, drafting and English in only two years compared with six years with C# and Unity. I summarize my method in the following list
Identify your way of learning that fits your personality.
If you are a novice, start a project that challenges you in the technologies you want to learn.
Take courses on the technologies you want to learn.
It uses a modest multilanguage and cross-platform IDE. The tool does not make the programmer, the programmer makes the tools.
Change your operating system and adjust to it.
Upload your code to GitHub and maintain it over time.
Try to stay motivated or switch to something else within your line of interest.
Take notes, manage notes well and write them in English.
If you already know how to program, start a course to the point of mastering the syntax and abandon it and practice a lot.
Comment what methods to use to learn programming, I'm interested in learning what has worked for you to improve my study method. Not being more see you in a next Post.
Comments