I have taken two months out to find the best of the best resources on the above topics. I have learned in 46 years and one career in which I excelled, that it is always good to have a good foundation and being my age with some other challenges other than time, concerning my health, I want to do thing as optimally as possible and for the long-term.
I do freeCodeCamp curriculum, and Open Source Society University Computer Science Curriculum (https://github.com/open-source-society/computer-science#introduction-to-computer-science) at this stage.
The languages that I want to focus on will be CSS3 and HTML5, JavaScript and the different frameworks in the fCC curriculum and secondary, in order of importance, C++, Java, C# and GO.
The reason I decided to do more than the fCC curriculum is that I read two books that influenced my choices and I can highly recommend:
97 Things Every Programmer Should Know: Collective Wisdom from the Experts
The Pragmatic Programmer: From Journeyman to Master
My goal is to be not only a web programmer but a programmer and later on a Software Architect.
I also do not end up in the position where the web development market is going slow and I do not have other programming skills to utilize in another sector.
My Computer Science studies is done for the reason to be able to do the chunked up mindset and to be able to be able to learn the algorithms, architecture, math, patterns, processes, principles and systems (as in thinking) to create and design great software.
GO language was selected as it is one of the emerging languages for instance and C++ because it is versatile, C# and Java because they are similar and widely used for many use cases.
I also choose to do more than one language in order to not get bored. My time focus is Âľ fCC and ÂĽ the rest of the material discussed above.
I am essentially creating a new career and obviously the main specialization in terms of languages will be done as I find my fit in the environments.
To have balance, I do still do writing, studies in the English Language and writing thereof, philosophy, helping other in as many ways as possible and also increasing general knowledge and personal development in general.
I also do find time to keep my body active and in shape and to meditate I have to, because of a pain syndrome not because I like physical exercise, but I sure like the effects it has on my general health and well-being. Meditation especially keep me in flow, mentally and physically.
On learning I found two of the best books explaining how we learn new skills and also the art of learning to be:
How we learn: http://www.goodreads.com/book/show/19288640-how-we-learn
The Talent Code: https://www.goodreads.com/book/show/5771014-the-talent-code
Both are available as audiobooks so you do not have to read it.
To confirm the theory and studies set forth in both these books you can look at the UCLA Bjork Learning and Forgetting LAB. They confirm through research the optimal methods that have been found recently in terms of learning and retention of knowledge: https://bjorklab.psych.ucla.edu/research/
In terms of remembering syntax of languages and other knowledge a flashcard tool Anki is available for free for most platforms. You can find it here, http://www.ankisrs.net/
In terms of tracking my studies I will be using a combination of Microsoft Excel, Pomello, Rescuetime, Trello and Wakatime.
Excel to keep track of the tasks and time spend on it.
Pomello to time myself per session of study. Please note that you can change the length of a task and also your breaks in the dashboard of the app to suite your individual needs and preferences so it is not set in stone that you need to do 25 minutes, you can play around till you find your optimal times. It can be downloaded here: https://www.pomelloapp.com/. You can also integrate Pomello with Trello to track your tasks created on Trello with Pomello using Pomedoras (a time slice).
Rescuetime is great, it will actually show you the time you spend on the fCC site and also other sites and if you use the pro version you can actually track time away from the computer and together with triggers like Zapier and IFTTT you can do some funky stuff. I however do not have the money to use the services so I will not go that route so there for the use of Excel. You can find it here and you can use it free: https://www.rescuetime.com/ and more on integrations in terms of triggers here: https://zapier.com/help/rescuetime/ and here: https://www.rescuetime.com/integrations/ifttt
Wakatime is a great little tool that will allow you to track your usage/time spent in most programming IDE’s and text editors, Atom, Brackets, WebStorm, Chrome, Sublime Text, Visual Studio Code and Visual Studio 2015, VIM and more, and also on a per language bases, i.e. JavaScript, HTML etc. It has the following features: Automatically tracks when you start and stop working, with detailed metrics per:
project
file
branch
commit
feature
operating system
editor/IDE
language
It integrates into GitHub, GitLab, Bitbucket
NOTE the free version only give a week worth of tracking.
Excel and Trello: I will most probably use Trello (https://trello.com/) with multiple boards to do task tracking but for time planning medium to long term I will still use Excel for now although less sophisticated.
IDE’s and OS’s:
Two factors came into play for me, money and mean time to learn.
Background, I grew up with DOS, Netware and Windows NT and later. I supported the server environments and I know the command-line and registry of Windows well.
I love the open source philosophy and believe Linux open doors for many people who do not have the money for top of the range hardware and software.
That said I do not have the time to learn Linux to the same skill level I have in the Windows environment. I however do have two Linux VM instances(PCLinuxOS (http://www.pclinuxos.com/) and LinuxMint Sarah 18 (https://www.linuxmint.com/ )on VMWare Workstation running on my beast of a PC laptop with 16GB RAM and a 3Mhz CPU.
The reason for the two Linux distribution is simple, one runs systemd as an init system and the other not. It is a discussion for another day. Some tools do run better in Linux and was built for that environment especially in the web development space and I tinker around with it.
In terms of IDE’s I found the following open source packages to be have the most plugins and support for general programming:
Visual Studio Code (https://code.visualstudio.com/ )
Atom (https://atom.io/ )
Visual Studio 2015 Community Edition (https://www.visualstudio.com/products/visual-studio-community-vs )
And one paid:
Sublime Text (https://www.sublimetext.com/ )
Two is supported in both Linux and Windows, Atom and Visual Studio Code.
I settled on Visual Studio 2015 as I do have access to MSDN network and I have worked before in the IDE and it support most of the languages I intend to learn. I also do not care for the memory load as I do not intend to game and do multiple concurrent stuff while coding:
Visual Studio 2015 Professional and Enterprise (https://www.visualstudio.com/products/visual-studio-community-vs )
I will iterate in between the Visual Studio 2015, Visual Studio Code and Atom as I do understand that different development houses will use different tools and these 3 are the main ones used in general for local machine development. I also cannot settle for an online IDE/GUI as I do not have a dependable and fast internet connection. Iterating in between these free will allow me to get to know the quirks of each interface and also the integrations each have with GIT services like GitHub which I use as repository.
All the above mentioned tools have integration packages for GIT.
I will edit and expand this writing as I progress through my learning with sources on for instances REACT and other general “tools”/resources.
I hope this save somebody some time. I will not recommend any method, tools or system as better or the best for a specific usage. I am not connected to any of the organizations mentioned in this writing.
Each tool has strengths and weaknesses and as in each environment there are a lot of zealots that will promise you the “holy grail” of tools.
Do not fall for the rhetoric.
This is my path and way, find your own, create your own Lego Wonderland with the blocks I gave you here, it will authentically yours and beautiful.