a thoughtful web.
Good ideas and conversation. No ads, no tracking.   Login or Take a Tour!
comment by partysnatcher
partysnatcher  ·  3467 days ago  ·  link  ·    ·  parent  ·  post: How did you learn programming?

I'm 38 years old, employed fulltime as a senior developer (engine developer and part project manager), and a self taught programmer (did programming since I was about 11 years old up until my career, did a uni education along the way which contributed with little - most of what I know came from working on projects on my own).

The main thing I tell people who want to learn programming, is, as others have mentioned, to have a project, to have an actual goal, and to find new projects. Experiment with ideas or get an actual programmer to give you a list of ideas. Look for the projects that give you just a tiny spark of energy or motivation, and where you can build up a sense of ownership and control ("this is mine, and I know exactly how it works!").

A goal is the main "engine" that will drive your learning process, and an important reason why self taught programmers with many different projects are usually better, more motivated and more flexible programmers than those who learnt it in college / uni (with some exceptions of course).

Why are projects so important? Every single component in programming; conditionals, loops and so on, exist only because they have a specific mechanistic purpose they can solve. So it will be a very slow and difficult process to try to learn programming without any guiding purpose (like reading a book).

The project is actually the only place programming comes from. Many people want to make you believe that programming is just different words with different meanings, that you can use "patterns" for development, or that making a project is about what sort of third party applications you include, but believe me, those people have a superficial knowledge of programming at best.

Each project has its own language, and its own shape and structure. Programming arises from the project.

Anyway, good luck! As you fight yourself through the pain of debugging and rewriting, and your projects start getting gradually bigger, you will slowly acquire new skills, such as fast typing speed, more efficient planning, and endurance.