Consider finding a Coding Dojo near your location.
There is a subtle but deep distinction between learning a programming language and learning how to program. The latter is more important and abstracts away from any particular language or any particular programming paradigm.
To get a feeling for the difference, look at this animation of Paul Graham writing an article—crossing the chasm between ideas in his head and ideas expressed in words. (Compared to personal experience this “demo” simplifies the process of writing an article considerably, but it illustrates neatly what books can’t teach about writing.)
What I mean by “learning how to program” is the analogue of that animation in the context of writing code. It isn’t the same as learning to design algorithms or data structures. It is what you’ll learn about getting from algorithms or data structures in your head to algorithms expressed in code.
Coding Dojos are an opportunity to pick up these largely untaught skills from experienced programmers.
Consider finding a Coding Dojo near your location.
There is a subtle but deep distinction between learning a programming language and learning how to program. The latter is more important and abstracts away from any particular language or any particular programming paradigm.
To get a feeling for the difference, look at this animation of Paul Graham writing an article—crossing the chasm between ideas in his head and ideas expressed in words. (Compared to personal experience this “demo” simplifies the process of writing an article considerably, but it illustrates neatly what books can’t teach about writing.)
What I mean by “learning how to program” is the analogue of that animation in the context of writing code. It isn’t the same as learning to design algorithms or data structures. It is what you’ll learn about getting from algorithms or data structures in your head to algorithms expressed in code.
Coding Dojos are an opportunity to pick up these largely untaught skills from experienced programmers.