Many beginning programmers approach me with expectations of some kind of work or want to learn some new technology or do some open source projects. For me, it's important to check how seriously the person feels the importnace of work he want to carry out. To make sure with this fact, I question them with general techonolgy topics he/she mention or overall aspects of mentioned technology they confidently said yes. They end blank or end up arguing in some specific topic that really doesn't impress me. Both seem wrong to me as I think a good technology enthusist should consider following points
1. Idea of technology and reason of his/her curiosity over it.
2. Why was the technology created in first place?
3. What are other similar technology available and what task it better solves?
4. What prerequisite are required to work on/learn the technology?
I personally feel any individual should understand aspects of technology rather then memorizing it up. As it's ovious that with time the thing we require repetatively will be stored in our mind automatically. Try to learn how to solve some task in better way before solving the problem as this will improve your skill.
If you have got idea of above synopsis then you have already won a battle. Now, I will mention various points you need to consider to be better programmer. This may be guided with some theoretical concepts also. Primarily, this article is dedicated to make you better programmer, so that you can build great relationship with better programmers than you and start to learn any technology in great ease and fun.
Be patient and feel the technology
You might have started technology because you have started engineering or your friend have shown some cool things he carried out with technology and you don't want to remain behind or you may have felt this is the future and it is cool think to begin with. Whatever the reason is believe you have taken great decision. Now, you need to be aware that these technologies come to you when they are analyzed and used by great programmers unless you are trying to create your own technology from scratch. Also, you need to understand that most of the technology that you are goint to use probably have been created before you born or they rely on the concepts that was given by the people before you took birth.
Put over confidence down before you realize you should have kept it down
This really amazes me as I find beginner programmer are more confident and try to show off what cool things they have created. You may present couple of things that you recently learned and be a superhero in your small group but remember you will always find people who are smarter in some way than you. It may be case that you know something better but those people are stable who know many things good. So, next time when confidence kicks you just remember Dunning-Kruger Effect which basically states the level of confidence person presents over the person's experience.
Be regular and keep it simple
Most learners are very energetic at beginning, but soon they are frustrated with the difficulty that increases with time. It is better to allocate certain hours daily and try get some refreshment when you stuck at any problem. You can try to think of problem when you are not working on it by comparing it with real life cases. I personally find this very helphul as it doesn't stress me and saves my time when I am free.
Seek a good mentor
You are lucky if you have a guide/mentor. Try to ask him lot of questions that can improve learning rather then topics as material for learning any technology are abundent in internet. Try to regularly take remarks form the mentor and make sure the review improves over time.
Most technological geeks are lonely nerds and want to work privately, which is truly wrong as this prevents you from the great person you could have become if you had worked with team. There are cases when sometimes beginner may provide better solution on some topic then Expert (Remember this happens rarely). So, gather some people, give easy work to beginners which will save your time or work with more knowledgeable person who can help you to improve skill or just do some social work just to make sure you haven't forgotten what you have learnt ;)
This was all on this topic. If I find any more point I will add on the article. Wish you luck on the great journey of programming world where there are immense things to learn one after another.
IMG Source: https://graphpaperdiaries.com/2017/08/20/the-real-dunning-kruger-graph/