As said in the comments, I think I'm gonna ask the questions separately, so this question doesn't need an answer :p, except if you think you have a general advice.
You start building a house by making plans, then building the structure, and finally "filling" it. Doing it in the other order results in an organization mess, stress, loss of time, weak points because some parts of the "fundamentals" were made, fixed, changed after other things depending on it were put on it. A web browser can't work correctly if not provided the necessary dependencies, like use of network... Sometimes, maintainance is harder than doing something again from scratch and can have worse results. It's also better when you do it right for the beginning.
I thing these statements can apply for everything as well as human beings. For example, learning personal productivity before finishing school is useful to do successful studies, otherwise we can end up with no job in one of the worst cases. I know life is not perfectly planned and that we have to take opportunities as they pass by, but it's better to be able to choose if we're given the possibility to, and today with Internet, for example, we have access to many resources. Also, thinking too much about a planning as complex as life can end up in headaches, so it's sometimes better to start doing something, whatever, acting instead of thinking forever.
I'm asking for priorities so I can do things in the right order when possible. I started to learn about personal productivity a bit late and school didn't provide any learning process af far as I remember. For a programmer, it's better to start learning the best designed languages such as Haskell than to go straight into imperative programming. When you start something, you don't exactly know if you're starting from the right place with the right pre-requisites.