The following are some lessons I’ve learnt over the years. They are, by the way, my personal opinions, which may very person to person, so take it with a grain of salt.
- It is not neccessary to understand a concept/tool/framework completely before you can use or play around with it. Learn only as much is required to get started then you’ll keep learning along the way. The barrier to trying new things should be as low as possible.
- Go in depth of the concepts while learning, dig deep deep down.
- If you really like it, keep doing it even if you feel bored,demotivated,etc, and then you can reach the point of nirvana, after which these things won’t distract you. Otherwise, it can be a good self introspection to know whether you really like doing it or not.
- Read carefully, be in a deep work state, try to understand the meaning of every word, specially the man pages, the developer must have written with some purpose, don’t just try out the different permutation and combination of what you understand with a shallow read and just get it to work. Have patience.
- Try to find the right mentor, one whom you can have a total faith and pay high respect, that mentor can improve you completely.