- Just some games
- Emotional approach when learning (easy/hard exercises)
- Self training (music [improvise vs reading])
- Understanding the computer machine
- Career
- Development
- Data Science
- Architecture
- Programming paradigms [how to think about problems]
- Functional
- Object Oriented
- Actor Based
- Resources (tutorials, blogs, videos, courses, books, communities, chat)
- Tools
- Git
- SQL
- Messaging
-> important update: everyone can subscribe to https://www.datacamp.com and become a python programmer or data scientist in a easy and amazing interactive learning.
This is what seems to be a good path to start and have all the base to suceed on the long run. Read this article. You should konw that if you understand the root of the computer science, you will be able to learn several languages much much more faster that the ones that can't understand it. Finally I found a course that teach the principals: From Nan to Tetris
- Learn Javascript and it's derivatives (Nodejs, Angularjs), why, because is the language of the web more will be easy to learn.
- Solve Hackerrank and project Euler problems (after phase 2), or even better, solve problems for non-profit institutions on freecodecamp and get a job proposoal directly from them.
- Train keyboard typing
- Know how to extract knowledge from google (use good search keywords), use stack overflow, forums, etc... write and chat with people out there
- Learn linux (optional), but very very important
- Learn how you learn, so you boost your learning. Use concept maps
- See this article, on how someone got a Developer job in 4 months.
After you got some experience with Javascript, consider learning Haskell, to it will be easy to learn every other language. But programming, is more than art and science, see this link 10 traits that you should develop also, and will for sure determine your relationship with the market.
Programming languages can abstract nouns and verbs, or both.
Imagine you would like to open a washing machine company. And you go to buy the equipment, and find that for every kind of vehicle, you have to buy and maintain a machine. One machine to wash Fiat, one for Audi, one for Toyota, etc... It's so expensive that you decide to keep only the most famous models. Finally you find a machine that can clean "CARS" ! Oho, that's a good business, one machine, one space to rent, one worker to pay! that's amazing, you can have a wash machine that can wash the abstract concept of "cars", and all models can be washed there, for a low cost.
This is how we should write our code, some lines of code that are able to do a lot of stuff, this is, code abstraction, code that can deal with wider concepts instead of specific ones.
Functional programming like Scala, Erlang, R, Elixir, Closure and others are becoming incresely important, specially in this big data era. If you already know the Object Oriented paradigm and discover the Functional paradigm, you will understand why the word "fun" is fun and also a function: because programming in functional languages is pure fun :) . It means, that you should write pure functions, i.e. a function where the return value is only determined by its input values, without observable side effects. This is how functions in math work: Math.cos(x) will, for the same value of x , always return the same result. And this will be really fun, because you get back control of your software behaviour, so you discover that predictability and happiness come together :). After you have some good dose of pure functions, you start composing the main architecture with your side effects functions. Clean, well written software means good money for the company you work, and also for your pocket ;)
- duolingo - Learn english with games
- problem-solving-approach - How you should approach problems
- linux-survival -
- learn-shell - It's essential to know the basics of shell programming for every programmer.
- linux-foundation-video
- video
- code-monkey - start here and succeed, and finish until the last challenge
- coffescript - coffescript is a simplified javascript syntax, so get it well before entering the caos of javascript
- javascript1
- Javascript
- javascript2
- Javascript 2
- javascript - All you need for Javascript coding, click it :)
- project-euler - world selection of interesting problems to solve
- hacker-rank - world competition of solving problems
- hacker-earth - competition, traning and very good tutorials!
- 99-functional-problems - very elegant haskell solutions, and also in java, closure.
- free-code-camp - solve problems and help others at the same time
- learn-how-to-learn - learn how to learn
- front-end - base to know how to develop web application
- mongodb - NoSQL database with mongodb
- sql - also know SQL!
- sql - start SQL here
- git-basics - Basics of GIT
- github - this is where you share code, participate on commercial or open-source projects teams
- github-flow - basic flow to start your project
- vim-interactive - learn vim online interactively
- vim-shortcuts - cheat sheet vim shortcuts
- typing-tutorial - typing tutorial (15 minutes/day, pls...)
- javascript - list of best javascript libs
- front-end-begginers-list - complete and detailed list of resources
- eloquent-javascript - incredible book
- angular - google framework to develop web application, good to know to find a job
- advanced-git - Advanced GIT
- the-new-javascript
- learn the last javascript version
- impostor-handbook - Amazing book
- basic-haskell - Beginers book
- learn-you-a-haskell - Amazing book
- learn-haskell-the-hard-way - Oho...
- haskell-web-site - Resources
- lambda-calculus - If you want and like theory, what is behind functional programming
- C# design-patterns - C# super clear examples on design patterns.
- neural-net-playground - Pure fun for you and your family :)
- nn-lib - Tiny Javascript Neural Net lib
- tensor-flow - Yeah, google opened source of their super machine learning library !!!
-
upwork - Start here, build a five stars feedback track, and learn how to work remote with the incredible tool. You can meet there more than 10.000.000 people working on-line.
-
remote-job-list - Fantastic full featured list of many kinds of links !!!!
-
toptal - The best companies are outsourcing there, and for good slaries.
-
25 places to work - Market place list.
-
awesome-list - Best reference ever possible
-
exercism - train here
-
code - many sources