DEV Community

Discussion on: A framework for learning for programmers

Collapse
 
millebi profile image
Bill Miller

If I may add a small suggestion: When learning new things, make sure to "spread" them around within a field.

For example: If interested in data, play with a new database (Btree, NoSQL, BigTable); when interested in a new programming language/tool, cycle around between low-level (assembler-ish), high level (Ruby) and "strange" (Prolog). You may find history repeating itself in new ways.

It's amazing how many concepts from one area are implemented/expressed differently in another area. You may discover that something you learned in Lisp is applicable to data analysis and data storage. Sometimes the connections you can make after "playing" with a number of things can be astonishing. You'll essentially become a "renaisance man/woman" within technology. If you really want to expand you're knowledge of "uncommon things" then mix in some hardware once in a while and look into automotive or something mildly related for interesting ideas and problems.

I personally am at 30 languages doing just this and have found the ideas for implementing solutions in any technology can be profoundly interesting when mixing in ideas from what would be considered "unrelated" areas