Middle-Earth Ways To Learn Programming
Tags: programming, learning, beginners, career
Published: 2020-04-04 17:22:46

---
title: Middle-Earth Ways To Learn Programming 
published: true
description: Alternative view on how to find the one most suitable and surefire for you personally 
cover_image: https://res.cloudinary.com/fyodorio/image/upload/w_1000,h_420,c_fill,g_auto/v1585988013/middle-earth-learning/cover_mtum0p.jpg
tags: [programming, learning, beginners, career]
canonical_url: https://fyodor.io/middle-earth-ways-to-learn-programming/
series: false
---

I love [The Hobbit](https://en.wikipedia.org/wiki/The_Hobbit_(film_series)) and [The Lord Of The Rings](https://en.wikipedia.org/wiki/The_Lord_of_the_Rings_(film_series)). The [Tolkien](https://en.wikipedia.org/wiki/J._R._R._Tolkien)'s Middle-earth universe is such an awesome place to be, at least in dreams. There's so much inspiration in all the characters inhabiting it. And so much to learn from, like courage, responsibility, curiosity, trust, friendship, and whatnot. But today I'm going to draw a slightly comic analogy between some movie episodes and ways one can learn to program. Many a true word is spoken in jest, so let us take a look at learning processes from a different angle and see which one is more suitable for each of us.  

## Self Teaching

![Self Teaching Like Bilbo loves](https://res.cloudinary.com/fyodorio/image/upload/w_860,h_450,c_fill,g_auto/v1585988009/middle-earth-learning/solo_learning_lukzkq.jpg)

Self teaching is scary. One needs to go a long way and learn from their own mistakes. A beginner can face so many obstacles, so many enemies (including Internet trolls and impostor syndrome). But they can also meet new allies (such as [Stack Overflow](https://stackoverflow.com/) or [Free Code Camp](https://www.freecodecamp.org/)) and gain new powers, not mentioning the feeling of achievement at the end of the Road. It's the way of introverts. The style of lone wolves. The method of achievers. 

## Pair Programming

![Pair Programming Like Gollum practiced](https://res.cloudinary.com/fyodorio/image/upload/w_860,h_450,c_fill,g_auto/v1585988009/middle-earth-learning/pair_programming_y5h1yd.jpg)

[Pair programming](https://en.wikipedia.org/wiki/Pair_programming) can be uncomfortable. When one works hard on a problem with a peer, their impact can fade, and they can feel vulnerable, especially if they are less experienced part of the pair. Or vice versa, one can feel that progress is slow because of that second person who cannot get this simple idea. Anyway, it all comes to ones ability to be patient and compassionate. In some situations, two heads are definitely better than one.

## Workshops

![Workshops like trolls have](https://res.cloudinary.com/fyodorio/image/upload/w_860,h_450,c_fill,g_auto/v1585988010/middle-earth-learning/workshop_dbhgtw.jpg)

A [workshop](https://en.wikipedia.org/wiki/Training_workshop) is basically focused on active participation in some practical learning process organized by experts. It's a proven way to memorize new knowledge better. However, the level of experience should be somehow equal for all the participants, or it can be either a dull or a hard way of progressing in a new area for a person. Anyway, it will be fun and immersing, so one will get at least a new vocabulary from it. Presumably, not only curses.   

## Webinars

![Webinars like with Saruman's palantir](https://res.cloudinary.com/fyodorio/image/upload/w_860,h_450,c_fill,g_auto/v1585988010/middle-earth-learning/webinar_ohtr0j.jpg)

[Webinars](https://en.wikipedia.org/wiki/Web_conferencing) are great when one doesn't want to leave their home but wants to get new knowledge. They can reach trusted experts from all over the world without even taking on their pants. This magic is used more often these days, turning into less formal live streaming sessions (webinar/workshop mixes). [Some magicians](https://www.learnwithjason.dev/) get really good at it. One just shouldn't forget about the real world ― it's beautiful and full of problems they can solve with the newly gained knowledge.

## Conferences

![Conferences like in Army of the Dead](https://res.cloudinary.com/fyodorio/image/upload/w_860,h_450,c_fill,g_auto/v1585988010/middle-earth-learning/conference_fkhier.jpg)

Conferences are great both for speakers and listeners. A speaker validates and bulletproofs their experience. A listener invests in learning the most modern industry practices and useful networking with like-minded people. Or they can leave with nothing and be humiliated. 50/50. But if one is an extrovert, they'll have a great time and make new friends, and probably their career will benefit from it in the most unexpected way. 

## Hackathons

![Hackathons like dwarf organize](https://res.cloudinary.com/fyodorio/image/upload/w_860,h_450,c_fill,g_auto/v1585988009/middle-earth-learning/hackaton_ufoqf6.jpg)

[Hackathons](https://en.wikipedia.org/wiki/Hackathon) are great for creative enthusiasts. One joins other practitioners to build something useful and (optionally) beautiful. Sometimes they can even get a prize. Or learn not only a subject matter but also working in a team, defending their point of view, being productive for long hours, and other useful (though not always healthy) skills. Hackathons can be a bit chaotic and stressful. Still, one will hardly be able to get out of them without a new experience. 

## Summary

So, after all this deep dive into the knowledge universe, we can definitely make an unambiguous conclusion on what is the best way of learning new programming stuff. And the winner is... 🥁 Whatever turns you on! There's no silver bullet and everybody ought to do their own thing. The only way to know what works better for you is to try everything. So it sounds like a decent plan, isn't it? 

> _“There is nothing like looking, if you want to find something. You certainly usually find something, if you look, but it is not always quite the something you were after.”_
>
>  _― J.R.R. Tolkien, The Hobbit, or There and Back Again_

_Cover photo by [Tobias Stonjeck](https://unsplash.com/@tobistj) on Unsplash_